Когда я редактирую свои записи 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-адреса не является ошибкой».