Я пытаюсь проверить доступность домена с помощью команды host и ищу ответ NXDOMAIN. Однако я наткнулся на странный домен:
host -W 1 antiquejewelry.net
Это возвращает NXDOMAIN, но запись whois показывает, что его серверы имен установлены на:
nsf.algx.net
rapnet.diamonds.com
Есть ли конкретная причина для такого ответа? Есть ли лучший способ проверить существование серверов имен домена?
Мои результаты WHOIS показывают эти два сервера имен:
RAPNET.DIAMONDS.COM
NS.DIGEX.NET
Серверы имен «существуют» в результатах WHOIS, но ни один из перечисленных серверов имен не отвечает записями для этого домена. Проверьте выход обоих host
и dig
с использованием двух серверов, перечисленных в WHOIS, а также другого сервера, указанного в вашем вопросе:
С помощью host
:
dave@dev:/var$ host antiquejewelry.net rapnet.diamonds.com
;; connection timed out; no servers could be reached
dave@dev:/var$ host antiquejewelry.net ns.digex.net
host: couldn't get address for 'ns.digex.net': not found
dave@dev:/var$ host antiquejewelry.net nsf.algx.net
Using domain server:
Name: nsf.algx.net
Address: 207.88.20.150#53
Aliases:
Host antiquejewelry.net not found: 3(NXDOMAIN)
С помощью dig
:
dave@dev:/var$ dig @rapnet.diamonds.com antiquejewelry.net
; <<>> DiG 9.5.1-P2 <<>> @rapnet.diamonds.com antiquejewelry.net
; (1 server found)
;; global options: printcmd
;; connection timed out; no servers could be reached
dave@dev:/var$ dig @ns.digex.net antiquejewelry.net
dig: couldn't get address for 'ns.digex.net': not found
dave@dev:/var$ dig @nsf.algx.net antiquejewelry.net
; <<>> DiG 9.5.1-P2 <<>> @nsf.algx.net antiquejewelry.net
; (3 servers found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 8959
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;antiquejewelry.net. IN A
;; Query time: 62 msec
;; SERVER: 207.88.20.150#53(207.88.20.150)
;; WHEN: Sat Jul 25 10:19:16 2009
;; MSG SIZE rcvd: 36
Тайм-аут подключения к первому серверу имен, имя хоста второго сервера имен не разрешается, а третий сервер имен отвечает, указывая, что у него нет зоны для Ancientjewelry.net (у него нет записей для этого домена) .
Это забавный случай хромая делегация. Неудачное делегирование - это когда домен делегируется серверам имен, которые об этом не знают (из-за неправильной конфигурации или по любой другой причине). Обычно сервер, у которого нет делегирования, отвечает SERVFAIL (сбой сервера) или NOERROR перенаправлением в корень, но nsf.algx.NET
отвечает NXDOMAIN (без такого домена) флагом AA (авторитетный ответ), что явно не имеет отношения к делу.
Итак, вы нашли интересный пример поломки.
В противном случае проверка доступности домена с помощью DNS - очень плохая идея, потому что во многих реестрах домен может быть зарегистрирован и не опубликован по желанию владельца домена.