LinuxForum.Fans
Тема

Косячит bind

Автор: intervision 2 сообщений 799 просмотров
#285403

Неправильно работает локальный кэширующий DNS.
При чем неправильно работает только для домена www.facebook.com и twitter.com

Запускаем физически сервер.
Смотрим:

root@lan:~# dig www.facebook.com

; <<>> DiG 9.8.1-P1 <<>> www.facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 174
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 0

;; QUESTION SECTION:
;www.facebook.com. IN A

;; ANSWER SECTION:
www.facebook.com. 59 IN CNAME www.c10r.facebook.com.
www.c10r.facebook.com. 52 IN A 31.13.81.20

;; AUTHORITY SECTION:
. 122245 IN NS h.root-servers.net.
. 122245 IN NS e.root-servers.net.
. 122245 IN NS a.root-servers.net.
. 122245 IN NS b.root-servers.net.
. 122245 IN NS c.root-servers.net.
. 122245 IN NS m.root-servers.net.
. 122245 IN NS g.root-servers.net.
. 122245 IN NS j.root-servers.net.
. 122245 IN NS l.root-servers.net.
. 122245 IN NS k.root-servers.net.
. 122245 IN NS f.root-servers.net.
. 122245 IN NS d.root-servers.net.
. 122245 IN NS i.root-servers.net.

;; Query time: 2075 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Nov 16 01:38:45 2012
;; MSG SIZE rcvd: 284

Все нормально.
НО. Как только проходит несколько часов или при перезапуске DNS сервера все меняется.
Несколько часов я ждать в этот раз не стал, поэтому сразу после старта машины сделал рестарт DNS сервера.
Получаем:

root@lan:~# service bind9 restart
* Stopping domain name service... bind9
waiting for pid 2569 to die
...done.
* Starting domain name service... bind9
...done.
root@lan:~# dig www.facebook.com

; <<>> DiG 9.8.1-P1 <<>> www.facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47258
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.facebook.com. IN A

;; ANSWER SECTION:
www.facebook.com. 28956 IN A 59.24.3.173

;; Query time: 505 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Nov 16 01:42:18 2012
;; MSG SIZE rcvd: 50

Если ребутнуть сервер несколько раз подряд то через несколько ребутов запись снова станет корерктной.
Если сделать сброс кэша то все становится снова нормально пока не пройдет опять же несколько часов:

root@lan:~# rndc flushname www.facebook.com
root@lan:~# dig www.facebook.com

; <<>> DiG 9.8.1-P1 <<>> www.facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48565
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 0

;; QUESTION SECTION:
;www.facebook.com. IN A

;; ANSWER SECTION:
www.facebook.com. 12 IN CNAME www.c10r.facebook.com.
www.c10r.facebook.com. 7 IN A 31.13.81.20

;; AUTHORITY SECTION:
. 121960 IN NS l.root-servers.net.
. 121960 IN NS i.root-servers.net.
. 121960 IN NS a.root-servers.net.
. 121960 IN NS e.root-servers.net.
. 121960 IN NS m.root-servers.net.
. 121960 IN NS k.root-servers.net.
. 121960 IN NS f.root-servers.net.
. 121960 IN NS d.root-servers.net.
. 121960 IN NS j.root-servers.net.
. 121960 IN NS b.root-servers.net.
. 121960 IN NS h.root-servers.net.
. 121960 IN NS g.root-servers.net.
. 121960 IN NS c.root-servers.net.

;; Query time: 22 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Nov 16 01:43:30 2012
;; MSG SIZE rcvd: 284

Вот собственно конфиги:

named.conf:

text
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

key "rndc-key" { algorithm hmac-md5; secret "HcaiM64xyQDqzMPkfB2HKA=="; };

controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; 192.168.1.11;} keys { "rndc-key"; }; };

named.conf.options:

text

options {
        directory "/var/cache/bind";

forward first;

forwarders { 212.1.224.6; 221.1.230.111; };

query-source address * port 53;

# delete expired records every 28 days cleaning-interval 40320;

allow-query { any; };

dnssec-validation auto;

auth-nxdomain no;

listen-on { 127.0.0.1; 192.168.1.11; };

version " LAN DNS"; recursion yes; fetch-glue yes; };

named.conf.local:

text
zone "lan" {
    type master;
    file "/etc/bind/db.lan";
 };

С чем связано такое поведение сервера? Как исправить, а то красноглазие превышает все нормы и кофе больше не осталось...

#285404

Починил.

Эт я сам дерево - второй форвардер неправильный. =(((

Войдите или зарегистрируйтесь, чтобы ответить.