Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Косячит Bind  (Прочитано 1363 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн intervision

  • Автор темы
  • Активист
  • *
  • Сообщений: 312
  • Только тяжелая музыка
    • Просмотр профиля
    • Сумеречное Радио
Косячит Bind
« : 08 Ноября 2012, 17:51:25 »
Dig с компа, который юзает домашний ДНС сервер:

$ dig www.facebook.com

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.facebook.com.              IN      A

;; ANSWER SECTION:
www.facebook.com.       23694   IN      A       159.106.121.75

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

;; Query time: 25 msec
;; SERVER: 192.168.1.11#53(192.168.1.11)
;; WHEN: Thu Nov  8 17:44:01 2012
;; MSG SIZE  rcvd: 285

Dig  с самого DNS сервера:

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

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

;; ANSWER SECTION:
www.facebook.com.       23441   IN      A       159.106.121.75

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

;; ADDITIONAL SECTION:
c.gtld-servers.net.     38637   IN      A       192.26.92.30
d.gtld-servers.net.     147063  IN      A       192.31.80.30
e.gtld-servers.net.     309     IN      A       192.12.94.30
f.gtld-servers.net.     38718   IN      A       192.35.51.30
g.gtld-servers.net.     38646   IN      A       192.42.93.30
h.gtld-servers.net.     496     IN      A       192.54.112.30
i.gtld-servers.net.     21713   IN      A       192.43.172.30
j.gtld-servers.net.     38756   IN      A       192.48.79.30
k.gtld-servers.net.     29074   IN      A       192.52.178.30
l.gtld-servers.net.     5913    IN      A       192.41.162.30
m.gtld-servers.net.     39017   IN      A       192.55.83.30

;; Query time: 8 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Nov  8 17:48:33 2012
;; MSG SIZE  rcvd: 450

А теперь с него же DIG +Trace:

; <<>> DiG 9.8.1-P1 <<>> www.facebook.com +trace
;; global options: +cmd
.                       59      IN      NS      l.root-servers.net.
.                       59      IN      NS      b.root-servers.net.
.                       59      IN      NS      h.root-servers.net.
.                       59      IN      NS      i.root-servers.net.
.                       59      IN      NS      d.root-servers.net.
.                       59      IN      NS      j.root-servers.net.
.                       59      IN      NS      k.root-servers.net.
.                       59      IN      NS      f.root-servers.net.
.                       59      IN      NS      g.root-servers.net.
.                       59      IN      NS      a.root-servers.net.
.                       59      IN      NS      e.root-servers.net.
.                       59      IN      NS      m.root-servers.net.
.                       59      IN      NS      c.root-servers.net.
;; Received 436 bytes from 127.0.0.1#53(127.0.0.1) in 15 ms

com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
;; Received 506 bytes from 192.36.148.17#53(192.36.148.17) in 35 ms

facebook.com.           172800  IN      NS      a.ns.facebook.com.
facebook.com.           172800  IN      NS      b.ns.facebook.com.
;; Received 101 bytes from 192.31.80.30#53(192.31.80.30) in 166 ms

www.facebook.com.       1800    IN      NS      glb2.facebook.com.
www.facebook.com.       1800    IN      NS      glb1.facebook.com.
;; Received 104 bytes from 69.171.239.12#53(69.171.239.12) in 159 ms

www.facebook.com.       120     IN      A       69.171.228.74
;; Received 50 bytes from 69.171.239.10#53(69.171.239.10) in 69 ms

Естессно, что лицокнига не открывается.
Вопрос такой - откуда ДНС берет этот айпишник? почему? и самое интересное - почему при ребуте ДНС начинает работать нормально, пока не пройдет несколько часов?

Конфиг бинда:

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

        forwarders {
        213.180.193.1;          # Yandex DNS
        77.88.19.60;            # Yandex DNS
        8.8.8.8;                # Google DNS
        193.58.251.251;         # RUS DNS - SkyDNS
        212.1.224.6;            # NBN
        221.1.230.11;           # NBN
        };

        forward first;
        recursion yes;

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

        allow-query { any; };

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035

        listen-on {
                127.0.0.1;
                192.168.1.11;
                };

        version " LAN DNS";
};

Оффлайн mindcube

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Косячит Bind
« Ответ #1 : 09 Ноября 2012, 06:05:54 »
попробуй в логах покопаться
http://programming34m0.blogspot.ru/2011/09/configuring-logging-of-bind-dns-in.html
https://help.ubuntu.com/community/BIND9ServerHowto#Logging

ЗЫ:

очистка выбранного хоста
rndc flushname facebook.com

очистка всего dns кэша
rndc flush

Пользователь решил продолжить мысль 09 Ноября 2012, 06:23:01:
вот у чувака такая же проблема:
http://habrahabr.ru/post/142721/#comment_4778757

проверь каждый сервер из forwarders

nslookup facebook.com 8.8.8.8 и т.д.

может кто-то из них врет? провайдер может перехватить dns и подменять запросы :)
« Последнее редактирование: 09 Ноября 2012, 06:23:01 от mindcube »

Оффлайн intervision

  • Автор темы
  • Активист
  • *
  • Сообщений: 312
  • Только тяжелая музыка
    • Просмотр профиля
    • Сумеречное Радио
Re: Косячит Bind
« Ответ #2 : 09 Ноября 2012, 07:09:59 »
Со вчерашнего вечера пока все норм, видимо, после перезагрузки еще не прошло время до возникновения бага (обычно через 12 часов проявляется).

+ Нашел ошибку в указании одного из форвардеров
+ Снес лишние

При проверке каждый форвардер отдавал разные ипы, но все принадлежали фейсбуку. В момент появления проблемы - ипы были то китайские, то корейские. Иногда даже таджикистанские.

Включил логгирование - буду ждать и смотреть, пока спасибо за наводку =)

Пользователь решил продолжить мысль 09 Ноября 2012, 20:06:09:
Стремно =(

Проблема только с доменом www.facebook.com
Делаем nslookup с тачки - в логе запроса на бинде пишет такое

Цитировать
09-Nov-2012 19:53:54.510 queries: info: client 192.168.0.1#59364: query: www.facebook.com IN A + (192.168.1.11)

в дебаге такое:

Цитировать
09-Nov-2012 19:55:46.751 security: debug 3: client 192.168.0.1#58645: query (cache) 'www.facebook.com/A/IN' approved

при этом айпишник для домена с ВВВ отдает такой:

Цитировать
lord@serv ~
$ nslookup www.facebook.com
Server:         192.168.1.11
Address:        192.168.1.11#53

Non-authoritative answer:
Name:   www.facebook.com
Address: 243.185.187.39

а должен быть примерно такой (запрос с сервера, который не юзает локальный днс):

Цитировать
~$ nslookup www.facebook.com
Server:         212.1.224.6
Address:        212.1.224.6#53

Non-authoritative answer:
www.facebook.com        canonical name = www.c10r.facebook.com.
Name:   www.c10r.facebook.com
Address: 31.13.80.4
« Последнее редактирование: 09 Ноября 2012, 20:06:09 от intervision »

Оффлайн DDDDImoN

  • Участник
  • *
  • Сообщений: 150
  • Delete
    • Просмотр профиля
Re: Косячит Bind
« Ответ #3 : 13 Ноября 2012, 14:31:30 »
ай не туда написал:D

Но если по теме, то ip адреса facebook меняются, к примеру у меня показывает такой 69.171.237.32 сейчас, завтра может показать другой! (по крайней мере я так подозреваю)

Это ответ на вопрос - ты спрашиваешь откуда он берёт эти ip адреса.

Лог:
www.facebook.com.       1800    IN      NS      glb2.facebook.com.
www.facebook.com.       1800    IN      NS      glb1.facebook.com.
;; Received 104 bytes from 69.171.239.12#53(69.171.239.12) in 159 ms

www.facebook.com.       120     IN      A       69.171.228.74
;; Received 50 bytes from 69.171.239.10#53(69.171.239.10) in 69 ms


А вот откуда он берёт вот этот 192.31.80.30, это хороший вопрос, если у тебя ДНС сервер (судя по логам) стоит на 192.168.1.11.

Лог:
;; Received 506 bytes from 192.36.148.17#53(192.36.148.17) in 35 ms

facebook.com.           172800  IN      NS      a.ns.facebook.com.
facebook.com.           172800  IN      NS      b.ns.facebook.com.
;; Received 101 bytes from 192.31.80.30#53(192.31.80.30) in 166 ms


Ещё заметил ты посылаешь запросы с машины 192.168.0.1 на ДНС 192.168.1.11, поковыряй маршрутизатор может в нём собака зарыта, кто его знает!
Цитировать
09-Nov-2012 19:55:46.751 security: debug 3: client 192.168.0.1#58645: query (cache) 'www.facebook.com/A/IN' approved

П.С.Может быть фильтр провайдер применил (испугался законов РФ  :D )

П.с.2 Или может я ещё в тему не вникся глубоко и сам туплю ;D

Пользователь решил продолжить мысль 13 Ноября 2012, 14:49:42:
Кстати ещё из:

Цитировать
options {
        directory "/var/cache/bind";

        forwarders {
        213.180.193.1;          # Yandex DNS
        77.88.19.60;            # Yandex DNS
        8.8.8.8;                # Google DNS
        193.58.251.251;         # RUS DNS - SkyDNS
        212.1.224.6;            # NBN
        221.1.230.11;           # NBN
        };
ДНС твоего провайдера есть?
« Последнее редактирование: 13 Ноября 2012, 14:51:20 от DDDDImoN »
ЖиЗнььььь ;)

Оффлайн intervision

  • Автор темы
  • Активист
  • *
  • Сообщений: 312
  • Только тяжелая музыка
    • Просмотр профиля
    • Сумеречное Радио
Re: Косячит Bind
« Ответ #4 : 15 Ноября 2012, 14:05:30 »

А вот откуда он берёт вот этот 192.31.80.30, это хороший вопрос, если у тебя ДНС сервер (судя по логам) стоит на 192.168.1.11.


Ага, на нем и висит )

Цитировать

Ещё заметил ты посылаешь запросы с машины 192.168.0.1 на ДНС 192.168.1.11, поковыряй маршрутизатор может в нём собака зарыта, кто его знает!

Да, система очень хитрая - основной кабель инета идет в домашний свитч, откуда инет раздается на сервер радио (который к делу отношения не имеет ибо юзает свое подключение) и стационар. Со второй сетевки стационара (которая как раз 192.168.0.1) инет попадает на роутер (который с одного конца 192.168.0.2 а с другого 192.168.1.1 соответственно) на роутере выставлен в качестве ДНС - 192.168.1.11 - коим и является этот самый внутренний ДНС. Для стационара вместо провайдерских ДНС указан свой. Отсюда и запросы с него на сервере.

Цитировать
Цитировать
options {
        directory "/var/cache/bind";

        forwarders {
        213.180.193.1;          # Yandex DNS
        77.88.19.60;            # Yandex DNS
        8.8.8.8;                # Google DNS
        193.58.251.251;         # RUS DNS - SkyDNS
        212.1.224.6;            # NBN
        221.1.230.11;           # NBN
        };
ДНС твоего провайдера есть?

Да, в самом конце 2 ДНС

Что характерно:

Цитировать
root@lan:~# host twitter.com ns.lan
Using domain server:
Name: ns.lan
Address: 192.168.1.11#53
Aliases:

twitter.com has address 59.24.3.173
twitter.com mail is handled by 10 aspmx.l.google.com.
twitter.com mail is handled by 20 alt1.aspmx.l.google.com.
twitter.com mail is handled by 20 alt2.aspmx.l.google.com.
twitter.com mail is handled by 30 ASPMX2.GOOGLEMAIL.com.
twitter.com mail is handled by 30 ASPMX3.GOOGLEMAIL.com.
неправильно

Делаем:

Цитировать
root@lan:~# rndc flush

Цитировать
root@lan:~# host twitter.com ns.lan
Using domain server:
Name: ns.lan
Address: 192.168.1.11#53
Aliases:

twitter.com has address 199.59.150.39
twitter.com has address 199.59.148.10
twitter.com has address 199.59.149.230
twitter.com mail is handled by 20 alt1.aspmx.l.google.com.
twitter.com mail is handled by 20 alt2.aspmx.l.google.com.
twitter.com mail is handled by 30 ASPMX2.GOOGLEMAIL.com.
twitter.com mail is handled by 30 ASPMX3.GOOGLEMAIL.com.
twitter.com mail is handled by 10 aspmx.l.google.com.
И уже правильно!
мистика какая-то

Настройка роутера:

WAN порт смотрит на стационар и забирает инет от него:



LAN порты и DHCP настроено так:



Для ДНС есть привязка ИП к маку (ниже в скрине видно)

Цитировать
        #forward first;
        #forwarders {
        #       212.1.224.6;
        #       221.1.230.111;
        #       };

Закомментил - заработало...
Отсюда напрашиваются еще вопросы - почему некорректно работает с форварлерами? Оо

Пользователь решил продолжить мысль 16 Ноября 2012, 03:12:08:
Кажется решил проблему полностью.

Сам себе дурак - второй форвардер с ошибкой указан был =((((
« Последнее редактирование: 16 Ноября 2012, 03:12:09 от intervision »

Оффлайн DDDDImoN

  • Участник
  • *
  • Сообщений: 150
  • Delete
    • Просмотр профиля
Re: Косячит Bind
« Ответ #5 : 19 Ноября 2012, 15:42:31 »
Цитировать
Закомментил - заработало...
Отсюда напрашиваются еще вопросы - почему некорректно работает с форварлерами? Оо

Походу дело в табличке маршрутизации! Ковыряй туда!
ЖиЗнььььь ;)

Оффлайн intervision

  • Автор темы
  • Активист
  • *
  • Сообщений: 312
  • Только тяжелая музыка
    • Просмотр профиля
    • Сумеречное Радио
Re: Косячит Bind
« Ответ #6 : 21 Ноября 2012, 15:46:10 »
На самом деле все решилось проще, но довольно странно.
Весь блок форвардеров был выпилен, форвардинг запрещен.

Проблема исчезла, а сервер продолжил работать кэширующим с обращением к провайдерским ДНС.
Мистика вообщем.

 

Страница сгенерирована за 0.025 секунд. Запросов: 21.