Linux
儘管在綁定中禁用了 IPv6,為什麼我看到 IPv6 解決錯誤?
我看到諸如
Feb 13 21:45:48 srv named[2355]: address not available resolving 'secure.gravatar.com/A/IN': 2a04:fa87:ffff::c6b5:7405#53 Feb 13 21:42:29 srv named[2355]: address not available resolving 'la1.akamaiedge.net/AAAA/IN': 2001:500:a8::e#53
/var/log/syslog
儘管僅在bind
IPv4 模式下執行srv # cat /etc/default/bind9 # run resolvconf? RESOLVCONF=no # startup options for the server OPTIONS="-u bind -4"
為什麼會這樣?
如果系統正在使用 systemd,則編輯
/etc/default/bind9
將無效。改為編輯
/lib/systemd/system/bind9.service
文件並將-4
選項添加到ExecStart
變數。我正在使用 Ubuntu 16 並且必須這樣做。
ExecStart=/usr/sbin/named -f -4 -u bind
還要仔細檢查重新啟動後
named
是否正在執行-4
選項。實際上有一個關於這種配置混淆的錯誤https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/1565060
該
-4
選項僅更改告訴綁定偵聽和響應 IPv4 數據包。它不會禁用AAAA
記錄的使用。那麼有沒有辦法在綁定中丟棄 IPv6 地址?
如果那是您真正想要的,那麼您可以調整綁定配置以包含以下內容。您必須禁用 dnssec 驗證,因為您正在刪除有效記錄。
options { ... dnssec-enable no; filter-aaaa-on-v4 yes; ... };