У меня есть один сервер, на котором я размещаю несколько сайтов.
В настоящее время у каждого сайта есть домен, размещенный у независимого провайдера, и у каждого есть запись A, указывающая на IP-адрес сервера.
Но если я захочу сменить сервер в будущем, мне придется вернуться и обновить каждый IP-адрес в каждой записи DNS.
Можно ли использовать запись CNAME в каждом домене, чтобы указывать на другой домен, который я контролирую напрямую?
Это для того, чтобы я мог сам обновить IP-адрес в одном месте и не заставлять всех этих других поставщиков DNS обновлять свои записи отдельно?
Согласно ответу Фарсикера, да, это (вроде) то, что CNAME
записи предназначены для.
тем не мение пока вы можете использовать это, чтобы указать www.example.net
к www.example.com
, ты не могу используйте это, чтобы указать example.net
сам по себе (т.е. без www
префикс) на что-то другое.
Это потому что example.net
также должен иметь SOA
запись и NS
записей, и в DNS незаконно иметь CNAME
присутствуют в той же части дерева, что и любые другие записи (за исключением ключей DNSSEC).
Приведенный выше квалификатор типа "вроде" возникает потому, что, строго говоря, CNAME
запись вводит "левую часть" как псевдоним для цели CNAME
запись, где эта цель фактически является «каноническим именем».
Следовательно, если вы видите, например:
www.example.net IN CNAME www.example.com.
это не говоря это www.example.net
должен быть «перенаправлен» на www.example.com
, это говорит, что www.example.net
является другое имя для www.example.com
.
В этом и смысл CNAME. CNAME не обязательно указывает на DNS в той же зоне, он может указывать на любое имя DNS, зарегистрированное на любом сервере имен.
Для ваших клиентов это означает дополнительный поиск DNS на NS для другого хоста, но это небольшая цена, которую нужно заплатить для большинства веб-сайтов в Интернете.
Да, это возможно.
Вот как я делаю свои экспериментальные веб-серверы, которые также имеют динамические IP-адреса (хотя и редко меняются).
Мне придется вернуться к обновлению каждого IP-адреса в каждой записи DNS.
Что ж, CNAME действительно является возможным решением (см. Ответ Alnitak для ограничения CNAME), но есть еще одно: вместо того, чтобы управлять файлами вашей зоны вручную, создайте программу из десяти строк (Perl / Python / Ruby / cpp / m4 / независимо), который будет генерировать файлы зоны из мастера (текстовый файл, XML-файл, СУБД, что угодно)
Таким образом, ваш IP-адрес может быть только в одном месте. Когда он изменится, просто перезапустите программу.