Мой регистратор доменов и DNS предоставляют в настоящее время игнорирует запросы DNS к неизвестным доменам. Под игнорированием я подразумеваю черные дыры и никогда не отвечаю, что заставляет мои DNS-клиенты и библиотеки распознавателя повторять, отключаться и, наконец, время ожидания.
dig @NS3.DNSOWL.COM somedomainthatdoesntexist.org
...
;; connection timed out; no servers could be reached
В обзоре других популярных сервисов доменных имен я вижу, что это поведение довольно уникально, так как другие провайдеры возвращают RCODE 5 (ОТКАЗАНО):
dig @DNS1.NAME-SERVICES.COM somedomainthatdoesntexist.org
dig @NS-284.AWSDNS-35.COM somedomainthatdoesntexist.org
dig @NS21.DOMAINCONTROL.COM somedomainthatdoesntexist.org
Все возвращают что-то вроде следующего:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 64732
или
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 31219
Возврат REFUSED
или NXDOMAIN
немедленно подходит ИМХО, а не просто сбросить запрос на этаже серверной комнаты.
Когда я жалуюсь своему провайдеру на то, что его серверы не отвечают, они просят меня процитировать RFC, что их серверы нарушают. Я знаю, странно, что они просят меня доказать, что их серверы должны отвечать на все запросы, но так и будет.
Вопросы :
- Я предполагаю, что если нет дублирующих идентификаторов запросов или какого-либо ответа DOS, сервер всегда должен отвечать на запрос. Это верно?
- Какой RFC и конкретный раздел я должен процитировать, чтобы поддержать мои условия?
Для меня это плохо, чтобы не отвечать на запрос DNS. Большинство клиентов будут отключены, а затем повторно передадут один и тот же запрос либо на тот же DNS-сервер, либо на другой сервер. Они не только замедляют работу клиентов, но и приводят к повторному выполнению одного и того же запроса их собственными или другими серверами в зависимости от авторитетных серверов имен и записей NS.
В RFC 1536 и 2308 я вижу много информации об отрицательном кэшировании по соображениям производительности и прекращения повторной передачи того же запроса. В 4074 году я вижу информацию о возврате пустого ответа с RCODE 0, так что клиент знает, что нет информации ipv6, которая должна побуждать клиента спрашивать об A RR, что является еще одним примером пустого ответа.
Но я не могу найти RFC, который говорит, что DNS-сервер должен отвечать на запрос, вероятно, потому, что он подразумевается.
Конкретная проблема возникает, когда я переношу свой домен (и соответствующие записи DNS) на их серверы или первые X минут после того, как я зарегистрирую новый домен в их службе. Существует разница между временем смены авторитетных серверов имен (что чертовски быстро в наши дни) и их серверами, которые начинают обслуживать мои записи DNS. В течение этого времени задержки DNS-клиенты думают, что их серверы являются авторитетными, но они никогда не отвечают на запрос - даже с помощью REFUSED
. Я понимаю отставание, которое хорошо, но я не согласен с решением не отвечать на запросы DNS. Для справки, я понимаю, как обойти эти ограничения в их системе, но я все еще работаю с ними, чтобы улучшить их услуги, чтобы в большей степени соответствовать протоколу DNS.
Спасибо за помощь.
Редактировать:
В течение нескольких месяцев после публикации этого сообщения и проверки моего провайдера, они изменили свои серверы, чтобы вернуть NXDOMAIN
неизвестные домены.