阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何在 Arch Linux 中安装 DNSCrypt 和 Unbound

199次阅读
没有评论

共计 3137 个字符,预计需要花费 8 分钟才能阅读完成。

DNSCrypt 是一个用于对 DNS 客户端和 DNS 解析器之间通信进行加密和验证的协议。它可以阻止 DNS 欺骗或中间人攻击。DNSCrypt 可用于大多数的操作系统,包括 Linux,Windows,MacOSX,Android 和 iOS。而在本教程中我使用的是内核为 4.1 的 archlinux。

Unbound 是用来解析收到的任意 DNS 查询的 DNS 缓存服务器。如果用户请求一个新的查询,unbound 会将其存储到缓存中,并且当用户再次请求相同的请求时,unbound 将采用已经保存的缓存。这将比第一次请求查询更快。

现在我将尝试安装“DNSCrypt”,以确保 DNS 的通信的安全,并用“Unbound”加速。

如何在 Arch Linux 中安装 DNSCrypt 和 Unbound

 

第一步 – 安装 yaourt

Yaourt 是 AUR(ARCH 用户仓库)的辅助工具之一,它可以使用户能够很容易地从 AUR 安装程序。Yaourt 和 pacman 使用相同的语法,你可以使用 yaourt 安装该程序。下面是安装 yaourt 的简单方法:

1、用 nano 或者 vi 编辑 arch 仓库配置文件,存放在“/etc/pacman.conf”中。

  1. $ nano/etc/pacman.conf

2、在 yaourt 仓库底部添加,粘贴下面的脚本:

  1. [archlinuxfr]
  2. SigLevel=Never
  3. Server= http://repo.archlinux.fr/$arch

3、用“Ctrl + x”,接着用“Y”保存。

4、接着升级仓库数据库并用 pacman 安装 yaourt:

  1. $ sudo pacman -Sy yaourt

 

第二步 – 安装 DNSCrypt 和 Unbound

DNSCrypt 和 unbound 就在 archlinux 仓库中,你可以用下面的 pacman 命令安装:

  1. $ sudo pacman -S dnscrypt-proxy unbound

接着在安装的过程中按下“Y”。

 

第三步 – 安装 dnscrypt-autoinstall

Dnscrypt-autoinstall 是一个在基于 Linux 的系统上自动安装和配置 DNSCrypt 的脚本。DNSCrypt 在 AUR 中,因此你必须使用“yaourt”命令来安装它。

  1. $ yaourt -S dnscrypt-autoinstall

注意 :

-S = 这和 pacman -S 安装程序一样。

 

第四步 – 运行 dnscrypt-autoinstall

用 root 权限运行“dnscrypt-autoinstall”来自动配置 DNSCrypt。

  1. $ sudo dnscrypt-autoinstall

下一步中按下“回车”,接着输入 ”Y” 来选择你想使用的 DNS 提供者,我这里使用不带日志和 DNSSEC 的 DNSCrypt.eu。

如何在 Arch Linux 中安装 DNSCrypt 和 Unbound

DNSCrypt autoinstall

 

第五步 – 配置 DNSCrypt 和 Unbound

1、打开 dnscrypt 的“/etc/conf.d/dnscrypt-config”,确认配置文件中“DNSCRYPTLOCALIP”指向 本地 ip,“DNSCRYPTLOCALPORT”根据你本人的意愿配置,我是用的是 40 端口。

  1. $ nano/etc/conf.d/dnscrypt-config
  2. DNSCRYPT_LOCALIP=127.0.0.1
  3. DNSCRYPT_LOCALIP2=127.0.0.2
  4. DNSCRYPT_LOCALPORT=40

如何在 Arch Linux 中安装 DNSCrypt 和 Unbound

DNSCrypt Configuration

保存并退出。

2、现在你用 nano 编辑器编辑“/etc/unbound/”下 unbound 的配置文件:

  1. $ nano/etc/unbound/unbound.conf

3、在脚本最后添加下面的行:

  1. do-not-query-localhost:no
  2. forward-zone:
  3. name:"."
  4. forward-addr:127.0.0.1@40

确保 forward-addr 和 DNSCrypt 中的“DNSCRYPT_LOCALPORT”一致。如你所见,用的是 40 端口。

如何在 Arch Linux 中安装 DNSCrypt 和 Unbound

Unbound Configuration

接着保存并退出。

 

第六步 – 运行 DNSCrypt 和 Unbound,接着添加到开机启动中

请用 root 权限运行 DNSCrypt 和 unbound,你可以用 systemctl 命令来运行:

  1. $ sudosystemctl start dnscrypt-proxy unbound

将服务添加到启动中。你可以运行“systemctl enable”:

$ sudo systemctl enable dnscrypt-proxy unbound

命令将会创建软链接到“/usr/lib/systemd/system/”目录的服务。

 

第七步 – 配置 resolv.conf 并重启所有服务

resolv.conf 是一个在 linux 中用于配置 DNS 解析器的文件。它是一个由管理员创建的纯文本,因此你必须用 root 权限编辑并让它不能被其他人修改。

用 nano 编辑器编辑:

  1. $ nano/etc/resolv.conf

并添加本地 IP“127.0.0.1”。现在用“chattr”命令使他只读:

  1. $ chattr+i /etc/resolv.conf

注意:

如果你想要重新编辑,用“chattr -i /etc/resolv.conf”加入写权限。

现在你需要重启 DNSCrypt 和 unbound 和网络;

  1. $ sudosystemctl restart dnscrypt-proxy unbound netctl

如果你看到错误,检查配置文件。

 

测试

1、测试 DNSCrypt

你可以通过 https://dnsleaktest.com/ 来确认 DNSCrypt,点击“标准测试”或者“扩展测试”,然后等待程序运行结束。

现在你可以看到 DNSCrypt.eu 就已经与作为 DNS 提供商的 DNSCrypt 协同工作了。

如何在 Arch Linux 中安装 DNSCrypt 和 Unbound

Testing DNSCrypt

2、测试 Unbound

现在你应该确保 unbound 可以正确地与“dig”和“drill”命令一起工作。

这是 dig 命令的结果:

  1. $ dig linoxide.com

我们现在看下结果,“Query time”是“533 msec”:

  1. ;;Querytime:533 msec
  2. ;; SERVER:127.0.0.1#53(127.0.0.1)
  3. ;; WHEN:SunAug3014:48:19 WIB 2015
  4. ;; MSG SIZE rcvd:188

再次输入命令,我们看到“Query time”是“0 msec”。

  1. ;;Querytime:0 msec
  2. ;; SERVER:127.0.0.1#53(127.0.0.1)
  3. ;; WHEN:SunAug3014:51:05 WIB 2015
  4. ;; MSG SIZE rcvd:188

如何在 Arch Linux 中安装 DNSCrypt 和 Unbound

Unbound Test

DNSCrypt 对 DNS 客户端和解析端之间的通讯加密做的很好,并且 Unbound 通过缓存让相同的请求在另一次请求同速度更快。

 

总结

DNSCrypt 是一个可以加密 DNS 客户端和 DNS 解析器之间的数据流的协议。DNSCrypt 可以在不同的操作系统上运行,无论是移动端或桌面端。选择 DNS 提供商还包括一些重要的事情,应选择那些提供 DNSSEC 同时没有日志的。Unbound 可被用作 DNS 缓存,从而加快解析过程,因为 Unbound 将请求缓存,那么接下来客户端请求相同的查询时,unbound 将从缓存中取出保存的值。DNSCrypt 和 Unbound 是针对安全性和速度的一个强大的组合。


via: http://linoxide.com/tools/install-dnscrypt-unbound-archlinux/

作者:Arul 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux 中国 荣誉推出

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-09/123600.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3137字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中