Ubuntu
如何使用 systemd 以 IPv4 模式開始命名?
如何配置我的 Ubuntu 15.04 bind9 以停止使用 IPv6 解析查詢?
TL; 博士
我在我的 Ubuntu 15.04 機器上使用 bind9。似乎我的命名伺服器正在嘗試使用 IPv6 解決大量查詢。
29-Jul-2015 01:03:28.926 lame-servers: error (network unreachable) resolving 'vassg.omniroot.com.edgesuite.net/A/IN': 2600:1401:2::2#53 29-Jul-2015 01:03:30.073 lame-servers: error (network unreachable) resolving 'askubuntu.com/A/IN': 2001:503:231d::2:30#53 29-Jul-2015 01:03:30.516 lame-servers: error (network unreachable) resolving 'stackapps.com/A/IN': 2001:503:a83e::2:30#53 29-Jul-2015 01:03:30.533 lame-servers: error (network unreachable) resolving 'stackapps.com/AAAA/IN': 2400:cb00:2049:1::adf5:3b69#53
Google搜尋時,我最終找到了僅通過添加 -4 開關以 IPv4 模式啟動命名服務的解決方案。我嘗試將我的 /etc/default/bind9 修改為:
/etc/default/bind9
# run resolvconf? RESOLVCONF=yes # startup options for the server OPTIONS="-4 -u bind"
但我仍然使用 IPv6 解決了很多失敗的問題。
所以我檢查了用於以 systemd 命名的開關
mippy@heimdal:~/src/servermon$ sudo service bind9 status ● bind9.service - BIND Domain Name Server Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled) Drop-In: /run/systemd/generator/bind9.service.d └─50-insserv.conf-$named.conf Active: active (running) since ons 2015-07-29 01:11:44 CEST; 25min ago Docs: man:named(8) Process: 6879 ExecStop=/usr/sbin/rndc stop (code=exited, status=0/SUCCESS) Main PID: 6884 (named) CGroup: /system.slice/bind9.service └─6884 /usr/sbin/named -f -u bind
所以看起來命名是從 /usr/sbin/named -f -u bind 開始的。不是我對 /etc/default/bind9 的期望。
如何使用 -4 開關配置命名?
這是 Ubuntu 切換到 systemd 後更新命名選項的過程:
cp /lib/systemd/system/bind9.service /etc/systemd/system/bind9.service
編輯
/etc/systemd/system/bind9.service
改變
ExecStart=/usr/sbin/named -f -u bind
進入
ExecStart=/usr/sbin/named -4 -f -u bind
然後
systemctl daemon-reload service bind9 restart
仔細檢查更改是否已生效:
mippy@heimdal:~/src/servermon$ sudo service bind9 status ● bind9.service - BIND Domain Name Server Loaded: loaded (/etc/systemd/system/bind9.service; enabled; vendor preset: enabled) Drop-In: /run/systemd/generator/bind9.service.d └─50-insserv.conf-$named.conf Active: active (running) since ons 2015-07-29 11:09:26 CEST; 5min ago Docs: man:named(8) Process: 20737 ExecStop=/usr/sbin/rndc stop (code=exited, status=0/SUCCESS) Main PID: 20742 (named) CGroup: /system.slice/bind9.service └─20742 /usr/sbin/named -4 -f -u bind
有關更多資訊,請查看此 suse 文件頁面。它也應該適用於我們的 Ubuntu 使用者。 https://www.suse.com/documentation/sled-12/book_sle_admin/data/sec_boot_systemd_custom.html