在Ubuntu中使用DNSCrypt Proxy加密您的DNS流量,并更安全地浏览

安全上网

DNSCrypt代理 是一个旨在 加密我们连接的DNS流量,以提高安全性。 该程序会在本地对DNS请求进行加密,然后再由DNS提供程序解密,因此,任何尝试拦截这些请求的人(例如,执行 攻击 人在这方面的中间人)将很难获得它。

目前有很多 DNS提供者支持 DNSCrypt代理,作为免费软件,任何有足够知识的人都可以设置自己的DNS服务器并使用该程序对其进行配置。 但是,默认情况下,它已经预先配置为与 OpenDNS的.

在这篇文章中,我将向您展示在以下情况下最简单,最基本的安装: Ubuntu 和衍生品。 那些需要更高级配置的人可以咨询 项目页面 y 您在GitHub上的存储库.

安装

我们从安装软件包开始 DNSCrypt代理PPA资料库由Sergey«Shnatsel»Davidoff维护:

sudo add-apt-repository ppa:shnatsel/dnscrypt
sudo apt-get update
sudo apt-get install dnscrypt-proxy

既然已经安装并运行了它,现在我们只能告诉系统使用它。 为此,我们有两种方法,第一种是通过控制台,第二种是在图形模式下,选择最喜欢的一种:

1方法

我们停用当前正在使用的DNS:

sudo unlink /etc/resolv.conf

我们使用文本编辑器创建一个新的/etc/resolv.conf文件:

sudo gedit /etc/resolv.conf

然后我们粘贴此行以通过DNS流量 DNSCrypt:

nameserver 127.0.0.1

现在我们保护文件以防止 网络管理员 修改它:

sudo chattr +i /etc/resolv.conf

要稍后再次修改它,必须首先使用以下命令删除保护:

sudo chattr -i /etc/resolv.conf

然后,他们可以根据自己想做什么去保护它。

我们保存更改并关闭编辑器。

2方法

我们点击面板中的网络图标,然后按 编辑连接。 现在,我们选择活动的连接,然后单击 编辑。 在打开的窗口中,我们转到选项卡 IPv4设置 我们将看到如下所示:

DNSCrypt代理网络管理器

我们在此处配置选项,选择 方法 “仅自动地址(DHCP)”和 DNS服务器 配售 127.0.0.1

激活

是否使用 方法12方法,下一步是重新启动 网络管理员:

sudo service network-manager restart

我们将看到连接已断开并重新启动。 如果一切顺利,它将已经开始运作 DNSCrypt代理。 要检查它,我们将 这页,如果结果是肯定的,您将欢迎我们加入 OpenDNS的:

OpenDNS欢迎

否则,我们将收到一条错误消息“ Oops”,否则它将不会加载任何页面。 为了解决这个问题,我们只需将服务器127.0.0.1更改为127.0.0.2(或其他),然后再次重新启动 网络管理员.

仅适用于Ubuntu 14.04

PPA的维护者警告说存在错误 Ubuntu的14.04 防止在以下情况下关闭设备 DNSCrypt代理 正在工作。 它表明您正在开发一个补丁程序来解决它,但是与此同时,可以通过运行以下命令来修复它:

sudo apt-get install apparmor-utils
sudo aa-complain /etc/apparmor.d/usr.sbin.dnscrypt-proxy

卸载

如果以后我们想停止使用 DNSCrypt代理首先,必须将连接选项还原到开始时的状态。

如果您使用了 1方法 将是从文件中删除保护,然后使用以下命令重新启用旧的DNS:

sudo rm /etc/resolv.conf && sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

如果您使用了 2方法,这将是再次打开网络配置菜单,然后在 方法 选择“自动(DHCP)”。

无论哪种情况,您都必须稍后重新启动 网络管理员 用上述命令,最后卸载 DNSCrypt代理 从而:

sudo apt-get autoremove --purge dnscrypt-proxy

不要忘记通过访问软件中心>编辑>其他软件来删除PPA。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   大卫·亨利

    也适用于Opensuse可能会发布有关此发行版的更多信息

    1.    曼努埃尔·德拉·富恩特

      广义上讲,这是一种几乎适用于几乎所有发行版的通用方法(使用Network Manager的方法2),但是很明显,存储库会发生变化,并且诸如如何启动和重新启动服务之类的事情也会发生。

  2.   骨头

    问候
    1.第一条评论不可见或其他,因为计数从2开始
    2.我在perseos博客中看到了它,但只是一个纯汇编,所以本文不再是

    1.    曼努埃尔·德拉·富恩特

      第一条评论是pingback。
      2.很久以前,我在Perseus博客上也看到了它,但是现在它似乎正在维护并删除了所有条目。

  3.   若尔基乔

    我只是尝试过,但没有成功。

    我按照本教程的说明做了,然后我用尽了Internet,所以我回到了以前的DNS,一切都很好。

    您是否偶然错过了一步? 因为如果我按照本教程的内容来讲,我无法解释我怎么会耗尽互联网。

    谢谢。

    1.    若尔基乔

      我回答:我正在使用DNSmasq,不得不做更多配置。 最后,我将其删除,然后再次按照本教程操作,一切正常。 谢谢😀

      1.    曼努埃尔·德拉·富恩特

        很高兴您能解决它。 🙂

      2.    毛斯曼

        你好! 你知道我不能走来自DNSmasq的情况如何?

  4.   加斯顿

    如果我是代理人,那行得通吗?

    1.    若尔基乔

      从技术上讲,它应该起作用。

      我正在使用Privoxy及其配置来阻止广告,同时使用DNScrypt代理,而且我没有遇到任何麻烦。 可能是因为有两个用于不同目的的代理,一个用于DNS,另一个用于浏览Web。

  5.   原始基础

    太好了.....事实是我也不知道在ArchLinux中也容易配置的.... super方法.....谢谢。

    1.    曼努埃尔·德拉·富恩特

      是的,Arch也很容易。 我没有在这里包括它,因为我没有更新的步骤,但是上次在那儿使用它是:

      # pacman -S dnscrypt-proxy
      # systemctl enable dnscrypt-proxy
      # systemctl start dnscrypt-proxy

      其余部分与本教程中的相同。

      编辑:完整的说明在这里: 在Arch Linux上安装DNSCrypt代理

      1.    马祖

        抱歉,但是我无法在Arch中执行此操作...安装,启用,启动,使用第2步并重新启动网络管理器,我总是收到以下消息:OPPSS ...可能是什么?

      2.    马祖

        他回答:我使用方法1,它对我有用。 谢谢!

        1.    曼努埃尔·德拉·富恩特

          我在这里已经说明了在Arch Linux中执行此操作的说明: https://blog.desdelinux.net/instalar-dnscrypt-proxy-en-arch-linux/

  6.   路易斯

    看起来不错,尽管我还没有尝试过。

    这种事情会影响连接速度吗? 它会变慢吗?

    谢谢。

    1.    曼努埃尔·德拉·富恩特

      相反,由于您开始使用OpenDNS DNS,因此它变得更快,它比ISP的响应速度快得多。 此外,您还可以从OpenDNS的其他属性中受益,例如防止网络钓鱼。 😉

      1.    路易斯

        Ok

        直到现在,我都使用Google服务器,但我不知道它们的安全性,但是它们很快。

        1.    曼努埃尔·德拉·富恩特

          是的,我也使用了它们,尽管我更喜欢OpenDNS,因为它使我感觉它们更快并且产生的错误更少。 尽管它们只是我的印象,但我还没有做任何测试或任何验证。 😛

      2.    路易斯

        没错,我已经在另一台计算机上尝试过它,它似乎“走得更快”。

        我不明白的一件事:

        为什么必须安装dnscrypt-proxy? 我的意思是,将网络配置中的DNS更改为OpenDNS DNS还不够吗?

        这就是我使用Google的DNS的方式:我只需在计算机配置中更改该信息,就无需安装任何东西或运行另一个守护程序...

        这是我唯一看到的缺点。

        1.    曼努埃尔·德拉·富恩特

          在OpenDNS中也可以这样做,但是我所描述的并不相同。 当您以这种方式配置DNS时,查询是通过简单的方式进行的,没有任何类型的加密或安全性。 这样您就可以添加加密和身份验证。 也就是说,通过DNSCrypt代理,您正在使用OpenDNS DNS Y 加密技术,两者,而不仅仅是第一个。

      3.    路易斯

        我了解,谢谢您的回覆。

        在互联网上,他们建议将Unbound与dnscrypt一起使用,但我不太清楚该程序的作用。

        你能告诉我什么?

        1.    曼努埃尔·德拉·富恩特

          据我了解,这是您在本地安装的DNS服务器; 从理论上讲,它应该进一步提高速度,因为它会生成一个缓存,并且DNSCrypt会将请求发送到那里,而不是将其发送到OpenDNS,但是除此之外,我还没有进行彻底的调查以确切了解过程的组成。

      4.    路易斯

        好的,谢谢您的信息。

  7.   拉夫

    嗯,我高度怀疑这是否适用于使用本地DNS和代理服务器的公司。 无论如何,我将尝试看看如何。

  8.   马努洛佩兹

    很好,可以100%工作。

  9.  

    它为我工作! :')非常感谢,很久以前,我一直在寻找如何使用代理或vpn(免费),但我仍然缺少无法在ubuntu上安装的vpn。

    1.    曼努埃尔·德拉·富恩特

      我不知道您为什么要寻找代理,但是如果要更改IP,这将无济于事,因为它仅处理计算机与DNS提供商之间的请求加密。 您的IP保持不变,并且关于服务器,一切都保持不变。

      1.   

        如果我在完成测试后才意识到,更改IP地址和加密就已经是追求安全性的进步。 您是否知道博客中的帖子,或多或少以一种简单的方式对其进行了说明,如何在Ubuntu中使用vpn? 在阅读时,我发现有一个错误阻止上载包含已经进行的配置的文件,因此事情变得有些复杂,我无法使用它。 当我使用Windows时,我有一个叫做hotspotshield的窗口,它没有Linux支持,或者至少我不知道如何在这里使用它。 感谢您对任何可以而且想要帮助我的人的答复。

    2.    凯勒

      要在Ubuntu中使用VPN,您可以在网络管理器或终端中使用OpenVPN,只需键入“ openvpn –config文件”,其中file是您的提供商将提供给您的配置文件,它还会询问用户并传递输入。 例如,有免费的vpnbook服务。 当然,如果您没有安装openvpn,则必须先安装它。
      问候。

      1.   

        谢谢凯勒。 如帖子所述,卸载DNSCrypt Proxy,我下载了openvpn,配置文件,并使用config命令通过终端输入了终端,输入了用户名和密码,并且出现了以下错误:错误:无法ioctl TUNSETIFF tun1:不允许进行操作(errno = 1); 由于致命错误而退出
        你知道我能做什么吗?

  10.   f

    名称服务器127.0.0.1像这样保留,仅复制和粘贴

    它没有给我我不能使用它:C

    1.    曼努埃尔·德拉·富恩特

      仔细阅读说明:

      否则,我们将收到一条错误消息“ Oops”,否则它将不会直接加载任何页面。 要解决此问题,我们只需将服务器127.0.0.1更改为127.0.0.2(或其他),然后再次重新启动Network Manager。

      如果按方法2进行操作,则可能是最好的选择。

  11.   胡椒

    这是否可以防止我的电子邮件在公共wifi上被黑?

    1.    曼努埃尔·德拉·富恩特

      它可以帮助您抵御中间人攻击,但是对公共Wi-Fi最好的保护是VPN。

    2.    佩佩

      非常感谢

    3.    私人代理

      解决方案是使用私人和匿名代理导航,这些代理不保留用户日志,并且在可能的情况下专用。

      它们很便宜,您可以确保浏览的全部隐私。

      一声问候。

  12.   巴特

    它不适用于VPN。 丢人现眼

    1.    曼努埃尔·德拉·富恩特

      不可以,因为浏览VPN时,您使用的是VPN本身的DNS,而不是本地配置的DNS。

  13.   地层

    非常感谢,让我在没有密码的情况下连接到wifi时会感到更加安全。

  14.   马里奥·扎莫拉(Mario Zamora)

    嗨,大家好,我遵循了教程的内容,现在我没有互联网,因为我恢复了该问题,因为按照指定的方式,您不希望没有此类的dns代理。 请帮助我没有互联网。

    1.    曼努埃尔·德拉·富恩特

      您没有按照本教程进行操作。 您处于离线状态,因为您卸载了DNSCrypt而不先恢复更改。 再次阅读卸载说明。

      1.    马里奥·扎莫拉(Mario Zamora)

        我按照本教程进行了学习。 使用方法1及其相应的卸载。 但是,当它被搅动时,它仍然停留在该过程中。 有任何想法吗?

        1.    曼努埃尔·德拉·富恩特

          我们来看一下卸载步骤...

          取消保护文件:

          sudo chattr -i /etc/resolv.conf

          还原旧的DNS:

          sudo rm /etc/resolv.conf
          sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

          重新启动网络管理器:

          sudo service network-manager restart

          卸载DNSCrypt代理:

          sudo apt-get autoremove --purge dnscrypt-proxy

          卡在哪个命令中?

  15.   马里奥·萨莫拉(Mario Zamora)

    在此:
    sudo apt-get autoremove —清除dnscrypt-proxy

    卸载开始,然后永不结束。

    1.    曼努埃尔·德拉·富恩特

      该命令中留有破折号, 清除 开头应该只包含两个连字符,如下所示:

      sudo apt-get autoremove --purge dnscrypt-proxy

      测试是否可以解决您的问题。 无论哪种方式,如果您遵循上述步骤,则无论最后一个命令是否起作用,您都应该处于联机状态。

  16.   罗伯托·贡萨雷斯(Roberto Gonsalez)

    非常好的帖子对我有很大帮助。 优秀的!!!

  17.   ke浦

    有趣的教程Manuel。
    我已经将其付诸实践,并且我的联系越来越好。
    谢谢。

  18.   linuxlibre2014

    你好,朋友 desdelinux 当我在添加存储库并更新后尝试执行安装过程时,我想问一个问题,我输入 sudo apt-get install dnscrypt-proxy 但它告诉我:
    E:找不到dnscrypt-proxy软件包我有ubuntu 14.04,我不知道为什么会这样

    1.    旧金山

      我也发生了同样的事情
      Ubuntu的14.04

  19.   os

    我可以在Arch / Antergos中轻松完成此操作,但是在Debian / Jessie中,第一步失败了,我不知道它是否与Debian不兼容:

    keos @ kaos:〜$ su
    密码:
    根@ kaos:/ home / keos#add-apt-repository ppa:shnatsel / dnscrypt
    bash:add-apt-repository:找不到命令
    根@ kaos:/ home / keos#

  20.   毛斯曼

    你好! 该网站非常好,我想问你:
    我按照所有说明进行操作,但无法使用我们在resolv.conf(127.0.0.1或127.0.0.2)中更改的DNS。 因此,我无法上网。 我使用DEBIAN和WICD代替Network Manager。
    通过“ find / -name dnscrypt-proxy”,我看到该程序安装在应该位于的位置(/ usr / local / sbin和/ usr / local / share /)。
    带«ps aux | grep dnscrypt-proxy»向我抛出以下输出:
    根6346 0.0 0.0 2808 672? SL 09:45 0:00 dnscrypt-proxy-本地地址= 127.0.0.1-守护进程-resolver-地址= 176.10.127.43:443-提供商名称= 2.dnscrypt-cert.ns3.ca.dns.opennic.glue –提供者密钥= 1C19:7933:1BE8:23CC:CF08:9A79:0693:7E5C:3410:2A56:AC7F:6270:E046:25B2:EDDB:04E3

    我不明白我要去哪里。 我已经阅读了–help,但找不到它。 从已经非常感谢你。

  21.   劳尔

    非常适合Lubuntu 16.04,非常感谢您分享知识。

  22.   JHON

    您好,可以帮助我通过vpn或代理进行美国付费调查的人在这里