Linux中國

如何在 Arch Linux 中安裝 DNSCrypt 和 Unbound

第一步 - 安裝 yaourt

Yaourt 是AUR(ARCH 用戶倉庫)的輔助工具之一,它可以使用戶能夠很容易地從 AUR 安裝程序。 Yaourt 和 pacman 使用相同的語法,你可以使用 yaourt 安裝該程序。下面是安裝 yaourt 的簡單方法:

1、 用 nano 或者 vi 編輯 arch 倉庫配置文件,存放在「/etc/pacman.conf」中。

$ nano /etc/pacman.conf

2、 在 yaourt 倉庫底部添加,粘貼下面的腳本:

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

3、 用「Ctrl + x」,接著用「Y」保存。

4、 接著升級倉庫資料庫並用pacman安裝yaourt:

$ sudo pacman -Sy yaourt

第二步 - 安裝 DNSCryptUnbound

DNSCrypt 和 unbound 就在 archlinux 倉庫中,你可以用下面的 pacman 命令安裝:

$ sudo pacman -S dnscrypt-proxy unbound

接著在安裝的過程中按下「Y」。

第三步 - 安裝 dnscrypt-autoinstall

Dnscrypt-autoinstall 是一個在基於 Linux 的系統上自動安裝和配置 DNSCrypt 的腳本。DNSCrypt 在 AUR 中,因此你必須使用「yaourt」命令來安裝它。

$ yaourt -S dnscrypt-autoinstall

注意 :

-S = 這和 pacman -S 安裝程序一樣。

第四步 - 運行 dnscrypt-autoinstall

用 root 許可權運行「dnscrypt-autoinstall」來自動配置 DNSCrypt。

$ sudo dnscrypt-autoinstall

下一步中按下「回車」,接著輸入"Y"來選擇你想使用的 DNS 提供者,我這裡使用不帶日誌和 DNSSEC 的 DNSCrypt.eu。

DNSCrypt autoinstall

第五步 - 配置 DNSCrypt 和 Unbound

1、 打開 dnscrypt 的「/etc/conf.d/dnscrypt-config」 ,確認配置文件中「DNSCRYPTLOCALIP」指向本地ip,「DNSCRYPTLOCALPORT」根據你本人的意願配置,我是用的是40埠。

$ nano /etc/conf.d/dnscrypt-config

DNSCRYPT_LOCALIP=127.0.0.1
DNSCRYPT_LOCALIP2=127.0.0.2
DNSCRYPT_LOCALPORT=40

DNSCrypt Configuration

保存並退出。

2、 現在你用 nano 編輯器編輯「/etc/unbound/」下 unbound 的配置文件:

$ nano /etc/unbound/unbound.conf

3、 在腳本最後添加下面的行:

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

確保forward-addr和DNSCrypt中的「DNSCRYPT_LOCALPORT」一致。如你所見,用的是40埠。

Unbound Configuration

接著保存並退出。

第六步 - 運行 DNSCrypt 和 Unbound,接著添加到開機啟動中

請用 root 許可權運行 DNSCrypt 和 unbound,你可以用 systemctl 命令來運行:

$ sudo systemctl start dnscrypt-proxy unbound

將服務添加到啟動中。你可以運行「systemctl enable」:

$ sudo systemctl enable dnscrypt-proxy unbound

命令將會創建軟鏈接到「/usr/lib/systemd/system/」目錄的服務。

第七步 - 配置 resolv.conf 並重啟所有服務

resolv.conf 是一個在 linux 中用於配置 DNS 解析器的文件。它是一個由管理員創建的純文本,因此你必須用 root 許可權編輯並讓它不能被其他人修改。

用 nano 編輯器編輯:

$ nano /etc/resolv.conf

並添加本地IP 「127.0.0.1」。現在用「chattr」命令使他只讀:

$ chattr +i /etc/resolv.conf

注意:

如果你想要重新編輯,用「chattr -i /etc/resolv.conf」加入寫許可權。

現在你需要重啟 DNSCrypt 和 unbound 和網路;

$ sudo systemctl restart dnscrypt-proxy unbound netctl

如果你看到錯誤,檢查配置文件。

測試

1、 測試 DNSCrypt

你可以通過 https://dnsleaktest.com/ 來確認 DNSCrypt,點擊「標準測試」或者「擴展測試」,然後等待程序運行結束。

現在你可以看到 DNSCrypt.eu 就已經與作為 DNS 提供商的 DNSCrypt 協同工作了。

Testing DNSCrypt

2、 測試 Unbound

現在你應該確保 unbound 可以正確地與「dig」和「drill」命令一起工作。

這是 dig 命令的結果:

$ dig linoxide.com

我們現在看下結果,「Query time」是「533 msec」:

;; Query time: 533 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Aug 30 14:48:19 WIB 2015
;; MSG SIZE rcvd: 188

再次輸入命令,我們看到「Query time」是「0 msec」。

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Aug 30 14:51:05 WIB 2015
;; MSG SIZE rcvd: 188

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中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國