在 Unbound 啟用 DNS64

前言

在之前的文章中有介紹過如何建置 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

001.jpg

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