Я последовал за этот очень хороший урок сделать свой первый DNS-сервер на Debian Jessie (на моем Raspberry Pi). Вроде сработало нормально. Я могу пинговать:
ping myhostname.mydomain
и он отлично работает. Проблема в том, что КАЖДЫЙ раз я перезапускаю свой raspberry Pi, мне приходится запускать
sudo service bind9 restart
в противном случае DNS-сервер не запустится с моей конфигурацией, и мои определения DNS не будут работать. Теперь я должен сказать, что если я сбегу htop
, Я вижу, что там работает bind9, но, тем не менее, я ping
и я получаю, что имя хоста не существует. Только после того, как я перезапущу bind9 вручную, DNS-сервер снова заработает.
Я должен сказать, что пока я пытался это исправить, я запустил bind9 через 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 / sudo)
cat / usr / local / sbin / проверка сети
#!/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 / проверка сети
добавить строку перед выходом 0 в /etc/rc.local
network-check
exit 0
а затем перезагрузите
2) Установите статический, сеть будет начинаться с IP, а затем запустится bind9 (и использовать этот IP)
Я рекомендую перейти на BIND 9.10, в котором есть возможность автоматически определять изменения IP-адресов вашей системы по умолчанию. yes
установка для automatic-interface-scan
глобальный вариант.
В BIND 9.9 соответствующая опция interface-interval
который определяет, как часто BIND опрашивает изменения интерфейса. Значение по умолчанию - 60 минут, что слишком медленно для ваших целей.