Страница 1 из 1

Рекурсивный запрос в BIND

Добавлено: 2011-04-13 0:32:01
Shizik
Доброго времени суток.

Возникла непонятная проблема с одни сайтом.

https://online.ascendworldwide.com

Пользователи жаловались, что не открывается. Анализ выявил проблему разрешения имени online.ascendworldwide.com на DNS-сервере. Не разрешает и всё тут, пишет что тайм-аут. При этом попытка разрешения этого имени через сервер Google ( 8.8.8.8 ) проходит успешно. Все остальные внешние хосты разрешает без проблем. Рекурсия для локальных сетей разрешена.

Подскажите, в чём может быть проблема?

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-13 2:41:38
ADRE
Пропишите дополнительно днс сервер в BIND, пусть у гугла спрашивает, скорее всего днс где-то не обновилась

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-13 8:52:24
Shizik
Прошу прошения, было поздно не смог достаточно полно осветить вопрос.

Уточнения.

Код: Выделить всё

$named -v
BIND 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1

Код: Выделить всё

options {
        version "Bind Cache";
        directory "/var/named/cache";
        dump-file "/var/named/data/named_dump-cache.db";
        pid-file "/var/run/named/named-cache.pid";
        statistics-file "/var/named/named-cache.stats";
        memstatistics-file "/var/named/named-cache.memstats";
        recursion yes;
        allow-recursion { 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };
        allow-query { 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };
        listen-on-v6 { none; };
        transfer-source 192.168.41.14;
        notify-source 192.168.41.14;
        listen-on port 53 { 192.168.41.14; };
        query-source address 192.168.41.14;
};

zone "." in {
    type hint;
    file "named.ca";
};

zone "0.0.127.in-addr.arpa" in {
        type master;
        file "localhost.rev";
        allow-update { none; };
        notify no;
};

//Ещё локальные зоны.
Сервер смотрит в интернет. И нету никаких DNS-провайдера, которому можно было пересылать запросы. Сервер по идеи сам должен их разрешать. Если проверяю дома, всё работает, DNS -провайдера правильно отдают мне запись (хотя ему приходиться пробежаться по 3 последовательным CN-записям, так как чтобы получить IP-адрес этого хоста надо разрешить CN, который ведёт на CN, который ведёт на CN и уже после этого на IP, тоесть последовательность разрешения такая: CN->CN->CN->IP). Гугл тоже отдаёт запись нормально, нормально не отдаёт только мой сервер. Честно говоря ума не приложу почему.

Спасибо.

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-13 15:53:37
lap
А у держателей зоны пробовали спрашивать?

Код: Выделить всё

domain:                          ascendworldwide.com
created:                         03-Feb-2006
last-changed:                    25-Feb-2011
registration-expiration:         03-Feb-2012
nserver:                         ns67.1and1.co.uk
nserver:                         ns68.1and1.co.uk

Код: Выделить всё

[root@life-in log]# nslookup online.ascendworldwide.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
online.ascendworldwide.com      canonical name = online.ascendworldwide.com.edgekey.net.
online.ascendworldwide.com.edgekey.net  canonical name = e1172.b.akamaiedge.net.
Name:   e1172.b.akamaiedge.net
Address: 88.221.116.228

[root@life-in log]# nslookup online.ascendworldwide.com ns67.1and1.co.uk
;; Warning: Message parser reports malformed message packet.
;; Truncated, retrying in TCP mode.
Server:         ns67.1and1.co.uk
Address:        217.160.80.173#53

** server can't find online.ascendworldwide.com: SERVFAIL

[root@life-in log]# nslookup online.ascendworldwide.com ns68.1and1.co.uk
;; Warning: Message parser reports malformed message packet.
;; Truncated, retrying in TCP mode.
Server:         ns68.1and1.co.uk
Address:        217.160.81.173#53

** server can't find online.ascendworldwide.com: SERVFAIL

[root@life-in log]# nslookup -q=SOA ascendworldwide.com ns68.1and1.co.uk
Server:         ns68.1and1.co.uk
Address:        217.160.81.173#53

ascendworldwide.com
        origin = ns67.1and1.co.uk
        mail addr = hostmaster.1and1.co.uk
        serial = 2011022501
        refresh = 28800
        retry = 7200
        expire = 604800
        minimum = 86400

[root@life-in log]# nslookup -q=SOA ascendworldwide.com ns67.1and1.co.uk
Server:         ns67.1and1.co.uk
Address:        217.160.80.173#53

ascendworldwide.com
        origin = ns67.1and1.co.uk
        mail addr = hostmaster.1and1.co.uk
        serial = 2011022501
        refresh = 28800
        retry = 7200
        expire = 604800
        minimum = 86400
возможно оно (гугл) откуда-то из кеша берет...

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-13 16:59:57
Shizik
Не думаю, что Гугл берёт из кэша, дома на провайдерских DNS работает.

Код: Выделить всё

>nslookup
?хЁтхЁ яю єьюыўрэш?:  wl.domain.com
Address:  192.168.1.1

> set debug
> online.ascendworldwide.com
?хЁтхЁ:  wl.domain.com
Address:  192.168.1.1

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 2, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 3,  authority records = 0,  additional = 0

    QUESTIONS:
        online.ascendworldwide.com, type = A, class = IN
    ANSWERS:
    ->  online.ascendworldwide.com
        canonical name = online.ascendworldwide.com.edgekey.net
        ttl = 85990 (23 hours 53 mins 10 secs)
    ->  online.ascendworldwide.com.edgekey.net
        canonical name = e1172.b.akamaiedge.net
        ttl = 21190 (5 hours 53 mins 10 secs)
    ->  e1172.b.akamaiedge.net
        internet address = 88.221.116.228
        ttl = 135 (2 mins 15 secs)

------------
Не заслуживающий доверия ответ:
------------
Got answer:
    HEADER:
        opcode = QUERY, id = 3, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 2,  authority records = 1,  additional = 0

    QUESTIONS:
        online.ascendworldwide.com, type = AAAA, class = IN
    ANSWERS:
    ->  online.ascendworldwide.com
        canonical name = online.ascendworldwide.com.edgekey.net
        ttl = 85990 (23 hours 53 mins 10 secs)
    ->  online.ascendworldwide.com.edgekey.net
        canonical name = e1172.b.akamaiedge.net
        ttl = 21190 (5 hours 53 mins 10 secs)
    AUTHORITY RECORDS:
    ->  b.akamaiedge.net
        ttl = 985 (16 mins 25 secs)
        primary name server = n0b.akamaiedge.net
        responsible mail addr = hostmaster.akamai.com
        serial  = 1302702894
        refresh = 1000 (16 mins 40 secs)
        retry   = 1000 (16 mins 40 secs)
        expire  = 1000 (16 mins 40 secs)
        default TTL = 1800 (30 mins)

------------
?ь :     e1172.b.akamaiedge.net
Address:  88.221.116.228
Aliases:  online.ascendworldwide.com
          online.ascendworldwide.com.edgekey.net

>

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-14 2:42:38
ADRE
да ладно сервер если может так и делает, при незнании спрашивает, далее у себя кэширует...
ну проверьте значит корневые серверы, которые использует ваш бинд...
а то интересно тогда будет, днс без подключения к чему либо будет телепатически возвращать запросы???

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-14 10:58:57
Shizik
Корневые сервера разрешаются нормально. Если бы не разрешались, то не работало бы ничего. А всё работает, кроме вот этого сайта.

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-14 11:55:11
ADRE
так подставьте ему провайдерский днс, т.е. если не знает он к нему будет обращаться

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-14 14:35:49
Shizik
Дело в том, что провайдерских DNS нету. Сервер сам представляет услуги разрешения DNS-записей, если не знает рекурсивно обращается к корневым и через них выясняет всё, что нужно. Но тут вот взялся этот сайт...

Я предполагал, что ответ кроется в конфигурации и каком-нибудь забытом дефолтном параметре, именно поэтому и написал пост с вопросом.

Пока сделал форвард на гугл. Но хотелось бы разобраться, почему запись не может разрешится, в чём причина.

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-14 14:43:31
терминус_
у бинда должна бать такая штека как forward-zone - указание, что для данного доменя надо пересылать запросы на какой-то другой кеш, а не самому разрешать.

я бинд не использую. В Unbound это есть.

Re: Рекурсивный запрос в BIND

Добавлено: 2011-04-14 15:22:50
Shizik
Хм, а ведь и правда есть такое. Не подумал. Спасибо большое!