Всем доброго дня!
Я просматриваю файлы зоны BIND и наткнулся на странность, на которую не нашел хорошего ответа. Некоторые из этих файлов зон имеют директиву ORIGIN, состоящую только из точки (.). Я знаю, это выглядит странно. Вот исправленные директивы:
$ORIGIN .
$TTL 600 ; 10 minutes
example.com IN SOA ns1.example.com. support.example.com. (
2016010101 ; serial
28800 ; refresh (8 hours)
120 ; retry (2 minutes)
1209600 ; expire (2 weeks)
86400 ; minimum (1 day)
)
Файл работает нормально и проходит онлайн-тесты DNSStuff. Я действительно планирую
Есть мысли от гуру?
Спасибо всем за внимание!
грамм
http://www.zytrax.com/books/dns/ch8/origin.html
$ORIGIN
определяет базовое имя, из которого «неквалифицированные» имена (без завершающей точки) заменяются при обработке файла зоны.
Когда установлена только точка .
это означает, что будет добавлена / заменена только точка. Вот и все.
Обычно вы увидите:
$ORIGIN example.com.
@ IN NS ns1.example.com
@ IN NS ns2.example.com.
@ IN MX 5 mail
Что потому что @ символ - это сокращение для $ ORIGIN в файлах зоны, которое будет завершено в:
example.com. IN NS ns1.example.com.example.com.
example.com. IN NS ns2.example.com.
example.com. IN MX 5 mail.example.com.
Если первая строка показывает типичную ошибочную запись, которая будет результатом такой замены, когда $ ORIGIN будет добавлен к тому, что должно было быть полным доменным именем, в котором не было завершающего . .
Установка в $ ORIGIN точки делает использование сокращения @ непрактичным, но предотвратит такие неудачи, как верхний.
$ORIGIN .
example.com IN NS ns1.example.com.
example.com. IN NS ns2.example.com
Автозаполнение / исправление в
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
И не в
example.com.example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.example.com.
что бы произошло, если бы $ ORIGIN все еще был example.com.
домен.