前言
在之前的文章中有介紹過如何建置 Unbound 伺服器,那如果我今天有了 NAT64 之後,我要如何在 Unbound 上設定我的 DNS64 呢?這篇文章就是來講講如何設定。
操作方式
在 建置自己的 DNS 解析器 – Unbound 這篇文章中,我們有提到配置文件,我們若要設定 DNS64 也是要在這份文件上動一點手腳。
主要就是在文件的 module-config 中加上 dns64,並在下方寫上 dns64-prefix 參數,如下面這樣,你也可以將 64:ff9b::/96 改成你自己的 NAT64 範圍。
server:
interface: 0.0.0.0
interface: ::0
access-control: 0.0.0.0/0 allow
access-control: ::/0 allow
module-config: "dns64 subnetcache validator iterator"
edns-buffer-size: 4096
send-client-subnet: ::/0
send-client-subnet: 0.0.0.0/0
max-client-subnet-ipv4: 24
max-client-subnet-ipv6: 56
client-subnet-always-forward: yes
dns64-prefix: 64:ff9b::/96
接著保存退出,重啟 Unbound 就可以測試囉。
sudo systemctl restart unbound
測試
接著就可以使用 dig 或是 nslookup 來向這台主機發出 DNS 請求,看看 DNS64 有沒有在正確工作。那有哪些落後的網站是 IPv4 Only 呢?也許你可以試試 github.com。
dig github.com @127.0.0.1 -t ANY

你可以看到上圖的結果,他有回應了一個 AAAA 紀錄,而那個 IP 位址是我的,這樣就成功囉!