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

Серверы имен не разрешаются по IP для домена

Я использую CentOS7 с CWP на капле Digital Ocean. В настоящее время на сервере размещены два домена, и 26 апреля я добавил третий домен. Я сделал это обычными шагами, например:

  1. указать домен на мои записи ns сервера, ns1.example.com и ns2.example.com
  2. добавлен новый домен на cwp из Новый аккаунт меню с ssl опция включена

Через несколько часов домен заработал нормально, я загрузил свой веб-сайт и начал работать. После этого я попытался включить ssl, но заметил, что он не был установлен для этого домена. Я продолжаю и снова пытаюсь установить ssl для домена из учетной записи пользователя. Выдает ошибку DNS of your domain doesn't point to this server or you have htaccess restrictions

Я решил попробовать это из WHM, что привело к той же ошибке. Я погуглил и нашел несколько статей на форуме веб-панели CentOS и попробовал несколько решений, в том числе:

  1. изменить имя хоста (сохранить его снова без каких-либо изменений)
  2. отредактируйте IP-адреса серверов имен (сохраните их снова без каких-либо изменений)
  3. удаление учетной записи определенным образом, а затем повторное добавление

Я перепробовал все, но ни один из них у меня не помог. Тогда я решил вручную сравнить dns-файл конфигурации проблемного домена с рабочим доменом. Я заметил, что некоторые записи о проблемном домене начинались с домена, а не с @ условное обозначение. Я сопоставил все строки с рабочей конфигурацией домена, но все равно не повезло.

При поиске обнаружил, может что-то не так с DNS сервером, запускаю service named status команда, чтобы проверить его статус, и я обнаружил пару ошибок network unreachable resolving, полный вывод можно увидеть ниже:

[root@server log]# service named status
    Redirecting to /bin/systemctl status named.service
    ● named.service - Berkeley Internet Name Domain (DNS)
       Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
       Active: active (running) since Tue 2020-04-28 16:56:51 PKT; 46min ago
      Process: 9965 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS)
      Process: 9912 ExecReload=/bin/sh -c /usr/sbin/rndc reload > /dev/null 2>&1 || /bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
      Process: 10792 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS)
      Process: 10790 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
     Main PID: 10794 (named)
       CGroup: /system.slice/named.service
               └─10794 /usr/sbin/named -u named -c /etc/named.conf

    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './NS/IN': 2001:dc3::35#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './DNSKEY/IN': 2001:500:2f::f#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './NS/IN': 2001:500:2f::f#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './DNSKEY/IN': 2001:500:200::b#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './NS/IN': 2001:500:200::b#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './DNSKEY/IN': 2001:500:a8::e#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './NS/IN': 2001:500:a8::e#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: k...usted
    Apr 28 16:56:51 serv.xyz.com named[10794]: resolver priming query complete
    Apr 28 17:24:15 serv.xyz.com named[10794]: client @0x7f9dac0c6f10 193.29.15.169#52139 (5hz.org): query (cache) ...enied
    Hint: Some lines were ellipsized, use -l to show in full.
    [root@server log]#

Теперь я искал решение DNS и обнаружил, что отключение IPv6 - это решение. Я попытался отключить это, добавив OPTIONS="-4", и даже попытался прокомментировать строку IPv6, но все равно не повезло.

Мне интересно, если что-то не так с DNS-сервером, тогда как другие два сайта все еще работают? Я выполнил поиск ns, который показывает правильную информацию о DNS. Однако, когда я ищу проблемный домен, он показывает ns записей, но с ним не связан IP.

Я выполнил поиск листья и это ошибка: None of your nameserver names contain glue or A records. This error is fatal. Your domain is not resolveable. Несмотря на то, что произошла ошибка, я все еще могу получить доступ к своему домену.

Редактировать: Вот содержимое моего файла конфигурации DNS

; Generated by CWP
; Zone file for DOMAIN_IN_QUESTION.com
$TTL 14400
@    86400        IN      SOA     ns1.SERVER_DOMAIN.com. webmaster.DOMAIN_IN_QUESTION.com. (
                2020042832 ; serial, todays date+todays
                3600            ; refresh, seconds
                7200            ; retry, seconds
                1209600         ; expire, seconds
                86400 )         ; minimum, seconds
@   86400   IN  NS      ns1.SERVER_DOMAIN.com.
@   86400   IN  NS      ns2.SERVER_DOMAIN.com.
@ IN A XXX.XXX.XXX.XXX
localhost.DOMAIN_IN_QUESTION.com. IN A 127.0.0.1
@ IN MX 0 DOMAIN_IN_QUESTION.com.
mail 14400 IN CNAME DOMAIN_IN_QUESTION.com.
smtp 14400 IN CNAME DOMAIN_IN_QUESTION.com.
pop  14400 IN CNAME DOMAIN_IN_QUESTION.com.
pop3 14400 IN CNAME DOMAIN_IN_QUESTION.com.
imap 14400 IN CNAME DOMAIN_IN_QUESTION.com.
webmail 14400 IN A XXX.XXX.XXX.XXX
cpanel 14400 IN A XXX.XXX.XXX.XXX
cwp 14400 IN A XXX.XXX.XXX.XXX
www 14400 IN CNAME DOMAIN_IN_QUESTION.com.
ftp 14400 IN CNAME DOMAIN_IN_QUESTION.com.
_dmarc  14400   IN  TXT "v=DMARC1; p=none"
@   14400   IN  TXT "v=spf1 +a +mx +ip4:XXX.XXX.XXX.XXX ~all"
default._domainkey 14400 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCi4acT6Vt0/7FVab8FzfLqJ8LU4rciFbo2t4yFmVoX1Uxi4QQsEJqTBZBfnWerkw6zzdY6+WYd4nn/sZSVCXDWC4/bmGylAkewthvOkAK1xsa8mXeOHrhX3CtqlVu3Ti+U4NpmmfgHehqq0NUKF9ma6NaJNMK3zFojToEdqNGQfwIDAQAB"

Примечание: Я сделал эти замены в файле конфигурации:

  1. IP заменен на XXX.XXX.XXX.XXX

  2. Адрес сервера заменен на SERVER_DOMAIN

  3. Затронутый домен заменен на DOMAIN_IN_QUESTION

Я понятия не имею, может ли кто-нибудь помочь мне в этом? Прошло 2+ дня, и я очень расстроен. :(

Если есть NS записи, но не соответствующие A записи, вы могли бы быть отсутствующие записи клея из родительской зоны. Сообщение об ошибке None of your nameserver names contain glue or A records. This error is fatal. Your domain is not resolveable согласуется с этим.

Если этот домен example.com а серверы имен являются его поддоменами ns1.example.com и ns2.example.com, недостаточно иметь A записи в самой зоне, так как это вызовет бесконечный цикл:

  1. Привет .com, для чего нужны серверы имён example.com?
  2. Они есть ns1.example.com и ns2.example.com.
  3. Хорошо. Какие у них IP-адреса?
  4. Я не знаю. Вы должны спросить с серверов имен example.com.
  5. Хорошо. Для чего нужны серверы имён example.com?

Следовательно com требует наличия и передачи этой информации напрямую, как Glue Records. Вы не можете установить эти записи на своем собственном DNS-сервере, но на регистратор.


В network unreachable resolving './NS/IN': 2001:dc3::35#53 ошибки, вероятно, не связаны с вашей текущей проблемой. Это DNS-запросы от вашего DNS-сервера, связанные с его рекурсивный функциональность, т.е. когда он пытается разрешить домены, которые сам не знает, авторитетно.

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

Нет открытой рекурсивной службы имен

Авторитетные серверы имен не должны предоставлять рекурсивную службу имен. Это требование проверяется отправкой запроса за пределами юрисдикции органа с установленным битом «RD».

Если ваш DNS-сервер действительно должен иметь рекурсивную функциональность, вы, конечно, должны исправить и эти ошибки. Вы также должны ограничить сетевые диапазоны, в которых разрешено рекурсивное использование сервера, в BIND с allow-recursion { 198.51.100.0/24; };.

Вы зарегистрировали и ns1.SERVER_DOMAIN.com и ns2.SERVER_DOMAIN.com в качестве серверов имен у своего регистратора. изменение только сервера имен вашего домена не может перенаправлять запросы DNS на ваш сервер. Сначала вы должны зарегистрировать 2 двух сервера имен. тогда вы должны изменить свою запись ns на свои зарегистрированные серверы имен.

Чтобы проверить конфигурацию:

  1. Выполните запрос whois, чтобы получить ns: whois SERVER_DOMAIN.com |grep -i "name server:"
  2. Выполните запрос записи ns: dig -t ns SERVER_DOMAIN.com

В первом запросе должны быть ns1.SERVER_DOMAIN.com и ns2.SERVER_DOMAIN.com. Во втором запросе в разделе ответа должен содержаться ответ.

Затем запрос будет отправлен на ваши серверы. Чтобы убедиться в этом, откройте tcpdump на порте 53 на вашем сервере. И из другого места (не с ваших серверов) выполните запрос soa dns, например dig -t soa SERVER_DOMAIN.com. Раздел ответов должен содержать строку в файле вашей зоны. Если не посмотрите ваш вывод tcpdump, если нет вывода, есть брандмауэр, блокирующий порт DNS, если есть вывод, то конфигурация DNS содержит ошибки. Проведите тест конфигурации с помощью:

named-checkconf /etc/named.conf named-checkzone SERVER_DOMAIN.com /var/named/[ZONEFILE]

Возможно, хотя бы один из них будет провален. Исправьте ошибки. И повторить запрос soa dns.

Затем выполните отладку, DOMAIN_IN_QUESTION.com.

Сначала проверьте записи TLD, такие же, как SERVER_DOMAIN.com. Те же шаги:

  1. Выполните запрос whois, чтобы получить ns: whois DOMAIN_IN_QUESTION.com |grep -i "name server:"
  2. Выполните запрос записи ns: dig -t ns DOMAIN_IN_QUESTION.com

Все эти шаги должны вернуться "(ns1 | ns2) .SERVER_DOMAIN.com. В противном случае возникли проблемы с конфигурацией у регистратора. Свяжитесь с ними.

Проверить conf и зону conf

named-checkconf /etc/named.conf named-checkzone DOMAIN_IN_QUESTION.com /var/named/[ZONEFILE]

Если есть ошибки, то исправьте.

Сделайте запрос записи soa. На этот запрос должен ответить ваш DNS-сервер. Откройте tcpdump и проверьте также пакеты трафика dns.

Ответ SOA должен совпадать со строкой SOA в файле конфигурации зоны.