Bind9务必重新启动DNS服务器在每次重新启动时工作

我遵循这个非常好的教程 ,使我的第一个DNS服务器Debian Jessie(在我的树莓派)。 这似乎工作得很好。 我可以ping通:

ping myhostname.mydomain 

它工作正常。 问题是,每当我重新启动我的树莓派,我必须运行

 sudo service bind9 restart 

否则DNS服务器将无法启动我的configuration,我的DNS定义将无法正常工作。 现在我不得不说,如果我运行htop ,我可以看到bind9运行在那里,但是,我做了ping ,我得到的主机名不存在。 只有手动重新启动bind9后,DNS服务器才能再次工作。

我不得不说,虽然我一直在试图解决这个问题,但是我已经通过Chroot运行了Debian页面中的说明 ,但这并没有帮助。

我还是很新的,所以请问你是否需要任何额外的信息。 我不知道从哪里开始寻找bind9的问题来解决这个问题。

注:我从一个全新的安装开始。


根据评论的问题更新

 dig myhostname.mydomain 

给出一个超时:

 ; <<>> DiG 9.9.5-9+deb8u3-Raspbian <<>> myhostname.mydomain ;; global options: +cmd ;; connection timed out; no servers could be reached 

命令netstat -plnut返回

 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN - tcp6 0 0 :::80 :::* LISTEN - tcp6 0 0 :::53 :::* LISTEN - tcp6 0 0 :::22 :::* LISTEN - tcp6 0 0 ::1:953 :::* LISTEN - tcp6 0 0 ::1:6010 :::* LISTEN - udp 0 0 127.0.0.1:53 0.0.0.0:* - udp 0 0 0.0.0.0:68 0.0.0.0:* - udp 0 0 192.168.1.2:123 0.0.0.0:* - udp 0 0 127.0.0.1:123 0.0.0.0:* - udp 0 0 0.0.0.0:123 0.0.0.0:* - udp 0 0 0.0.0.0:48851 0.0.0.0:* - udp 0 0 0.0.0.0:5353 0.0.0.0:* - udp6 0 0 :::546 :::* - udp6 0 0 :::53 :::* - udp6 0 0 2003:75:e15:c201:52:123 :::* - udp6 0 0 fe80::ba27:ebff:fe7:123 :::* - udp6 0 0 ::1:123 :::* - udp6 0 0 :::123 :::* - udp6 0 0 :::53420 :::* - udp6 0 0 :::5353 :::* - 

重新启动后,这两行被添加,属于DNS服务器:

 tcp 0 0 192.168.1.2:53 0.0.0.0:* LISTEN - udp 0 0 192.168.1.2:53 0.0.0.0:* - 

1)处理DHCP延迟的自定义脚本。 (以root用户身份创build文件/ sudo)

cat / usr / local / sbin / network-check

 #!/bin/bash while ! ifconfig | grep "192.168.1." > /dev/null; do #Network Down sleep 1 done #Network up restart bind9 service bind9 restart 

chmod a + x / usr / local / sbin / network-check

在/etc/rc.local中的出口0之前添加一行

 network-check exit 0 

然后重新启动

2)设置一个静态的,networking将开始一个IP,然后bind9将启动(并使用该IP)

我build议升级到BIND 9.10,它能够通过automatic-interface-scan全局选项的缺省yes设置自动检测系统IP地址的变化。

在BIND 9.9中,相关选项是interface-interval ,用于控制BIND轮询接口更改的频率。 默认值是60分钟,对于您的目的来说太慢了。