Civ*_*ing 1 ubuntu bind named-conf systemd
如何配置我的 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
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索时,我最终得到了仅通过添加 -4 开关在 IPv4 模式下启动命名服务的解决方案。我尝试将我的 /etc/default/bind9 修改为:
/etc/default/bind9
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-4 -u bind"
Run Code Online (Sandbox Code Playgroud)
但是我最终仍然使用 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
Run Code Online (Sandbox Code Playgroud)
因此,named 似乎以 /usr/sbin/named -f -u bind 开头。不是我对 /etc/default/bind9.conf 的期望。
如何使用 -4 开关配置命名?
这是在 Ubuntu 切换到 systemd 后更新命名选项的过程:
cp /lib/systemd/system/bind9.service /etc/systemd/system/bind9.service
Run Code Online (Sandbox Code Playgroud)
编辑
/etc/systemd/system/bind9.service
Run Code Online (Sandbox Code Playgroud)
改变
ExecStart=/usr/sbin/named -f -u bind
Run Code Online (Sandbox Code Playgroud)
进入
ExecStart=/usr/sbin/named -4 -f -u bind
Run Code Online (Sandbox Code Playgroud)
然后
systemctl daemon-reload
service bind9 restart
Run Code Online (Sandbox Code Playgroud)
仔细检查更改是否已生效:
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
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请查看此 suse 文档页面。它也适用于我们 Ubuntu 用户。 https://www.suse.com/documentation/sled-12/book_sle_admin/data/sec_boot_systemd_custom.html