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

DNS $ ORIGIN точка

Всем доброго дня!

Я просматриваю файлы зоны 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. домен.