Я заметил, что сервер имен cloudflare не может разрешить некоторые DNS-имена и отвечает SERVFAIL. Однако, когда я запускаю команду dig, я все равно получаю ответ. Почему так?
$ dig sdo.gsfc.nasa.gov @1.1.1.1
; <<>> DiG 9.11.4-4-Debian <<>> sdo.gsfc.nasa.gov @1.1.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 2956
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1452
;; QUESTION SECTION:
;sdo.gsfc.nasa.gov. IN A
;; ANSWER SECTION:
sdo.gsfc.nasa.gov. 300 IN CNAME gs671-sdoweb.ndc.nasa.gov.
gs671-sdoweb.ndc.nasa.gov. 827 IN A 129.164.137.36
;; Query time: 763 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Di Aug 28 10:56:15 CEST 2018
;; MSG SIZE rcvd: 93
решение1
Если предположить, что ваша вставка не была каким-либо образом изменена (т. е. случайное объединение вставок из двух разных выходов), то опубликованное вами поведение не является поведением, которое обычно наблюдается в дикой природе. На момент написания этого ответа мне не удалось воспроизвести поведение.
A SERVFAIL
указывает на немедленный сбой в разрешении DNS и обычно сопровождается 0 ответами. Предоставление ответа в этом контексте обычно было бы противоречием: если бы вы могли предоставить ответ, почему бы вы отметили ответ как сбой сервера?
Если это не реализация нового экспериментального RFC, который я еще не видел (я напишу некоторым ветеранам в комментариях), то это, скорее всего, ошибка в самом программном обеспечении. Никто на Serverfault не может оказать техническую помощь по ошибке такого рода, поэтому лучше всего открыть тикет в Cloudflare и попросить их разобраться.