LINUX.ORG.RU
решено ФорумAdmin

Случайное зависание DNS сервера в Debian 8

 ,


1

2

Не нашёл взаимосвязи, так что пока считаю случайным. Происходит зависание процесса named. Просто перестаёт отвечать на запросы, в списке процессов значится.

Убить можно только по

sudo kill -9 named

Пока «висит»:

sudo service bind9 status

● bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled)
  Drop-In: /run/systemd/generator/bind9.service.d
           └─50-insserv.conf-$named.conf
   Active: active (running) since Пт 2016-10-14 14:43:16 MSK; 3 days ago
     Docs: man:named(8)
 Main PID: 31195 (named)
   CGroup: /system.slice/bind9.service

окт 17 14:51:27 localhost named[31195]: received control channel command 'reconfig'
окт 17 14:51:27 localhost named[31195]: loading configuration from '/etc/bind/named.conf'
окт 17 14:51:27 localhost named[31195]: reading built-in trusted keys from file '/etc/bind/bind.keys'

sudo rndc status
WARNING: key file (/etc/bind/rndc.key) exists, but using default configuration file (/etc/bind/rndc.conf)
rndc: connect failed: 192.168.7.7#953: connection refused

Когда работает нормально:

sudo service bind9 status

● bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled)
  Drop-In: /run/systemd/generator/bind9.service.d
           └─50-insserv.conf-$named.conf
   Active: active (running) since Пн 2016-10-17 14:56:34 MSK; 16min ago
     Docs: man:named(8)
  Process: 29408 ExecStop=/usr/sbin/rndc stop (code=exited, status=1/FAILURE)
 Main PID: 29467 (named)
   CGroup: /system.slice/bind9.service
           └─29467 /usr/sbin/named -f -u bind

окт 17 15:12:34 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'mail.ru/AAAA/IN': 8...2#53
окт 17 15:12:34 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'reklama.mail.ru/A/I...2#53
окт 17 15:12:34 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'themes.googleuserco...2#53
окт 17 15:12:34 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'googlehosted.l.goog...2#53
окт 17 15:12:34 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'ocsp-ds.ws.symantec...2#53
окт 17 15:12:35 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'googlehosted.l.goog...2#53
окт 17 15:12:35 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'site.yandex.net/A/I...2#53
окт 17 15:12:35 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'static.yandex.net/A...2#53
окт 17 15:12:35 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'static.yandex.net/A...2#53
окт 17 15:12:35 localhost named[29467]: error (unexpected RCODE REFUSED) resolving 'e2799.e7.akamaiedge...2#53
Hint: Some lines were ellipsized, use -l to show in full.
sudo rndc status
WARNING: key file (/etc/bind/rndc.key) exists, but using default configuration file (/etc/bind/rndc.conf)
version: 9.9.5-9+deb8u7-Debian (Windows XP SP2) <id:f9b8a50e>
CPUs found: 8
worker threads: 8
UDP listeners per interface: 8
number of zones: 113
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 7/0/1000
tcp clients: 0/100
server is up and running

Настройка rndc:

include "/etc/bind/rndc.key";

controls {
        inet * port 953
                allow { 127.0.0.1; 192.168.7.7; } keys { localhost.rndc.key; };
};
server 127.0.0.1 {
        key "localhost.rndc.key";
};

options {
        default-server 192.168.7.7;
        default-key "localhost.rndc.key";

P.S.

Может на это влиять отсутствие записи?

server 192.168.7.7 {
        key "localhost.rndc.key";
};

И с какого этот WARNING появляется?

leonidko ★★★ ()

Либо удали(переименуй) /etc/bind/rndc.key, либо убери запись в конфиге. Кажется что-то такое встречал и bind предупреждает тебя, что у тебя есть своя конфигурация, но есть и дефолтный ключ и ему это не нравится.

shell-script ★★★★★ ()
Ответ на: комментарий от shell-script

Сделал следующее,

  • sudo mv rndc.key localhost.rndc.key
  • исправил на include «/etc/bind/localhost.rndc.key»;
  • оставил как было ключ в rndc.conf

Предупреждение исчезло. Но на машине хранятся 2 копии ключа. Одна в rndc.conf, другая в localhost.rndc.key.

Вопрос по ключу в rndc.conf. Возможно ли как-то указать файл с ключём по умолчанию localhost.rndc.key без хранения его копии в rndc.conf?

Поможет ли это в решении проблемы зависаний?

leonidko ★★★ ()
Ответ на: комментарий от leonidko

По идее, достаточно оставить инклуд и должно работать.

А вот в решении основной проблемы это вряд ли поможет. По ней у меня пока нет идей. Надо пытаться как-то дебажить. Может более подробно логи изучить. Вот глянь, как можно логи подробнее настроить. Посмотреть, с какими файлами работает named в момент зависания(lsof). В крайнем случае запустить его через strace -e open,write, дождаться зависания и посмотреть, что ему нужно.

shell-script ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.