Назад | Перейти на главную страницу

Некоторые люди не могут подключиться к доменам, размещенным на моем сервере имен

Я настроил сервер имен для своей службы VPS, используя bind9. На моем сервере установлена ​​Ubuntu 10.04LTS.

Проблема, с которой я столкнулся, заключается в том, что для некоторые люди, они вообще не могут подключиться к моему серверу. Я думаю, это как-то связано с настройками DNS.

Чтобы проверить эту проблему, я провел следующий тест. Допустим, мой сервер как сервер A (сервер имен).

Со случайного сервера B, если я dig к одному из доменов, размещенных на моем сервере A, который он всегда находит, возвращает результат «NoError». (что означает успешный)

Однако для случайного сервера C, если я dig в один из доменов, размещенных на моем сервере, примерно в половине случаев он возвращает SERVFAIL результат, а другая половина - NoError. Это действительно очень странно, потому что как можно копать неудачно, если оно было успешным, как несколько секунд назад?

Один из доменов, использующих мой сервер имен (привязка), показан ниже.

$TTL    604800
@       IN      SOA     ns.xxxx.net. admin.xxxx.net. (
                        20110120        ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.xxx.net.
@       IN      A       xxx.xxx.xxx.78
ns      IN      A       xxx.xxx.xxx.78
www     IN      A       xxx.xxx.xxx.78

Есть ли что-нибудь исключительное, что может вызвать проблемы? Некоторые говорят, что TTL 604800 слишком длинный ... не так ли?

Во-первых, если вы недавно изменили серверы имен для домена, вероятная причина - распространение. В любом случае приведенные ниже тесты должны помочь определить, что все настроено правильно.

Тест 1: Определите ваши DNS-серверы, настроенные для вашего домена. Запустите и обратите внимание на результаты следующих команд:

$ whois domain.com - Показывает, что запись WHOIS указана в качестве ваших серверов имен (да, это можно сделать из командной строки для большинства систем * nix)

$ dig +trace ns domain.com - Сделайте перекрестную ссылку на NS, перечисленные в WHOIS, с тем, что говорят DNS-серверы ( +trace дает подробное представление о серверах, которые были затронуты при выполнении вашего запроса, а 'ns' запрашивает NS-запись для домена). В идеале вы хотите запустить это как на сервере B, так и на сервере C и сравнить результаты

$ dig +trace domain.com - На всякий случай посмотрите, что в запросе поиска говорится только о самом домене. Опять же, сделайте этот тест на обеих машинах.

ПРИМЕЧАНИЕ: Я считаю, что именно здесь вы, вероятно, увидите сбой. Похоже, что один из ваших серверов имен по какой-то причине не отвечает. Это может быть связано с неправильной настройкой или распространением одного из ваших DNS-серверов.

Тест 2: Выполните запрос непосредственно к вашим серверам имен, чтобы убедиться, что они оба настроены правильно.

В идеале у вас должно быть два сервера имен, настроенных для вашего домена, размещенных на двух разных машинах. Многие люди этого не делают (я предполагаю, что это не имеет большого значения, если их домен не разрешится, если их сервер имен выйдет из строя). Мы сделаем запрос к обоим серверам имен, чтобы убедиться, что возвращаются правильные IP-адреса. Сделайте это, используя следующее:

$ dig @ns1.domain.com domain.com - Замените 'ns1.domain.com' IP-адресом или именем хоста вашего DNS-сервера (для большей точности IP-адресом).

Точно так же протестируйте второй сервер имен и убедитесь, что он дает правильные значения:

$ dig @ns2.domain.com - Опять же, замените ns2.domain.com IP-адресом или именем хоста вашего DNS-сервера (для большей точности IP-адресом).

Эти тесты должны показать любые аномалии в конфигурации или в процессе разрешения DNS на любом компьютере.

Надеюсь, это поможет. Пожалуйста, опубликуйте результаты, если у вас все еще есть проблемы.