Если я запускаю dig против имени хоста, я получаю соответствующее имя cname, однако получаю ошибку NXDOMAIN (домен несуществующий).
если я запустил dig для полученного cname, я смогу успешно преобразовать его в IP-адрес. Это воспроизводимо.
В системе, в которой я сейчас работаю, это всегда так, в других системах это иногда работает, а иногда нет, а в других системах, кажется, работает все время.
Если я использую указанный мной сервер имен (например, общедоступный сервер имен Google), я могу успешно разрешить имя хоста.
Я бы просто винил локальную систему, но, похоже, у меня не только одна проблема.
Второй домен (example.net) размещен на серверах имен amazon route 53. Первый на другом DNS-сервере, который за многие годы доказал свою полную работоспособность и надежность.
Однажды я переключился с другого домена на amazon dns, все, казалось, работало, также различные тесты проверки работоспособности DNS сообщили о хорошем, однако я получил много билетов поддержки, что разрешение DNS не будет работать.
Amazon просто «плохой» или я что-то делаю не так?
Я никоим образом не вмешивался в домен в локальной системе (в случае кеширования или создания пользовательского представления DNS или чего-то еще ...)
joe@joe:~$ dig scorpion.example.com
; <<>> DiG 9.8.1-P1 <<>> scorpion.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 10222
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;scorpion.example.com. IN A
;; ANSWER SECTION:
scorpion.example.com. 180 IN CNAME alpha.nue.scorpion.example.net.
;; Query time: 28 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jun 18 10:28:39 2012
;; MSG SIZE rcvd: 84
joe@joe:~$ dig alpha.nue.scorpion.example.net
; <<>> DiG 9.8.1-P1 <<>> alpha.nue.scorpion.example.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25381
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;alpha.nue.scorpion.example.net. IN A
;; ANSWER SECTION:
alpha.nue.scorpion.example.net. 300 IN A 192.0.2.130
;; Query time: 48 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jun 18 10:28:47 2012
;; MSG SIZE rcvd: 66
joe@joe:~$
Вы получаете NXDOMAIN на свой первый запрос, потому что вы запрашиваете A (как вы можете видеть в разделе вопросов), а сервер отвечает только CNAME. Итак, проблема, которую вы видите, вызвана DNS-сервером для example.com
, а не Amazon.
Насколько я понимаю, серверы обычно возвращают A-запись, на которую указывает CNAME-запись, как часть ответа для экономии полосы пропускания (поскольку в противном случае это, вероятно, будет вашим следующим вопросом). Однако я не думаю, что они иметь к, и я почти уверен, что некоторые особенно педантичные DNS-серверы (я смотрю на ты, без исправленийtinydns) не включите A-запись в ответ.
(РЕДАКТИРОВАТЬ: как указано kworr, если A-name находится за пределами bailiwick, тогда вы также полагаетесь на готовность сервера выполнить этот рекурсивный запрос для вас)
Если вы правильно раскопаете CNAME, он появится.
Прямо из dig
страница руководства:
Типичный вызов dig выглядит так:
dig @server name type
Итак, вы можете запросить его несколькими разными способами, но вам всегда нужно указывать тип если вы рассчитываете получить результат:
dig @ns-1765.awsdns-28.co.uk alpha.nue.scorpion.example.net cname
Полученные результаты:
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.el4_5.3 <<>> @ns-1765.awsdns-28.co.uk alpha.nue.scorpion.example.net cname
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25056
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;alpha.nue.scorpion.example.net. IN CNAME
;; AUTHORITY SECTION:
example.net. 900 IN SOA ns-1765.awsdns-28.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
;; Query time: 8 msec
;; SERVER: 205.251.198.229#53(205.251.198.229)
;; WHEN: Sun Jul 29 16:05:02 2012
;; MSG SIZE rcvd: 137