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

CNAME в @ (BIND)

Могу ли я поместить что-то подобное в свой файл .zone?

@       IN      CNAME   srvr-01.foo.bar.

Или это неверно? Если он недействителен, как я могу перенаправить посетителей с mydomain.com к серверу srvr-01.foo.bar? (обратите внимание, что мне не дают IP-адрес сервера, а только домен, что заставляет меня думать, что он может изменяться случайным образом)

РЕДАКТИРОВАТЬ: Извините, я плохо Я заменил NS с участием CNAME, что я и хотел написать.

Прежде всего, важно понять, что @ средства.

@ ссылка на текущее исходное значение. По умолчанию источником является имя зоны, но его можно переопределить в любой точке файла зоны с помощью $ORIGIN директива (например, $ORIGIN foo.example.com.).

Это означает, что нельзя делать никаких общих заявлений относительно @ IN CNAME ... поскольку значение полностью зависит от текущего значения происхождения.

Что можно сказать, так это то, что законность добавления CNAME запись зависит от того, есть ли другие записи с таким же именем. CNAME записи не могут сосуществовать с другими данными.

Как прямой результат вышесказанного, никогда не законно иметь CNAME запись на вершине зоны, так как на вершине зоны всегда будет не менее SOA и NS записи.

Это запрещено RFC1912:

RFC1912 2.4: «Запись CNAME не может сосуществовать с любыми другими данными».

Однако RFC1034 только заявляет, что его «не следует» использовать. Что для меня означает, что это технически не незаконно (RFC2119). Вы можете использовать его, если ваше программное обеспечение DNS поддерживает его и вы знаете, что делаете. Однако в Интернете есть реализации, которые полагаются на "CNAME xor другие данные" (например, MS Exchange).

Короткий ответ: не надо.