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

DNS: конечные точки

Когда я редактирую свои записи dns привязки, мне нужно добавить конечный период, чтобы он работал. Какой в ​​этом смысл?

Почему, когда я использую everydns.net, мне не нужно добавлять конечную точку?

Это причуда реализации?

Сам DNS имеет корневую зону. эту зону он назвал буквально ".". Bind требует, чтобы вы полностью указали DNS-имя (включая корневую зону или зону). Другие пользовательские интерфейсы упрощают это, принимая на себя корневую зону.

В Bind вы можете определить переменную ORIGIN который будет автоматически добавлен, если вы не укажете полное доменное имя (полное доменное имя, включая конечное). Альнитак имеет отличный пример синтаксиса и различных вариантов его использования.

Завершающий "." превращает имя в «Полное доменное имя», то есть в абсолютное доменное имя.

В стандартных файлах "формата основного файла", если вы не добавляете завершающий '.' тогда предполагается, что имя относится к текущему файлу зоны $ORIGIN (который либо указан в файле зоны, как показано ниже, либо взят из zone заявление в named.conf в противном случае).

т.е.

$ORIGIN example.com.
mail    IN A      192.168.1.1
mail2   IN A      192.168.1.2
server  IN A      192.168.1.3
@       IN MX 10  mail                   ; not FQDN - example.com. appended
        IN MX 20  mail2.example.com.     ; FQDN 
        IN MX 30  mail.example.net.      ; FQDN in another domain
        IN MX 40  mail2.example.net      ; ERROR - not FQDN - example.com appended
www     IN CNAME  server                 ; not FQDN - example.com. appended

В . делает имя относительным к корню, без него имя будет относиться к текущей зоне. Стандарт формат зоны определяется в rfc1035 и rfc1034.

Почему, когда я использую everydns.net, мне не нужно добавлять конечную точку?

Это причуда реализации?

Да, похоже, easydns.net делает это немного странно.

Если не ввести в трейлинг "." тогда сервер добавит значение $ ORIGIN в конец записи. Это может быть очень полезным ярлыком и сэкономить много времени на вводе при правильном использовании.

К сожалению, также легко забыть "." что может затруднить диагностику проблем.

Технически "." в конце записи, например www.serverfault.com. указывает разделитель между gTLD "com" и корневой зоной "".

Конечная точка сообщает DNS-серверу, что это полное имя. Точка - это корень иерархии DNS. Если вы не используете точку, DNS-сервер будет считать, что это запись в текущей зоне, и добавит ее за вас. Например, если у вас есть CNAME в exmaple.com, которая указывает на host.example.org, при запросе вы получите host.example.org.example.com, что, вероятно, не то, что вам нужно.

Причина, по которой вам не нужно было связываться с everydns.net, заключается в том, что они, вероятно, написали свой пользовательский интерфейс, поэтому вам не нужно было беспокоиться об этих технических деталях.

В fqdn точки - это фактические идентификаторы. «com» ​​и «edu», «hp» и «stanford» - это произвольные разделители. Точки однозначно идентифицируются по их вращению.

Первоначальные разработчики хотели иметь возможность указывать хосты в файлах зоны с минимальным набором символов, поэтому по умолчанию зона добавляется к каждой записи, если она полностью не отмечена конечной точкой. Это особенность реализации, которая, как понимает Everydns.net, приводит к ошибкам и путанице у новичков; поэтому они его устранили.

Короткий ответ .. Ну, честно здесь уже было задокументировано. :) В основном и лаконично: «Так сказано в RFC, дружище».

Взгляните на эту ссылку

«Нет, эта точка в доменном имени URL-адреса не является ошибкой».