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

Подмена NS-записей для тестирования DNS перед передачей

Я собираюсь передать домен от одного регистратора и поставщика DNS к другому, и я хочу протестировать новый узел DNS перед началом передачи. Новый хост заранее предоставляет простую службу DNS, поэтому домен можно настроить там со всеми записями; затем это можно проверить, просмотрев каждую запись в нем, используя dig @newserver hostname и т.д. Однако это не позволяет проверить настройки сервера имен. Я думал, что могу создать записи файла hosts для записей NS и, таким образом, заставить его искать записи на новом сервере имен, но это не сработало. Затем я попытался запустить локальный сервер dnsmasq, обслуживающий статические локально определенные записи для записей NS, указывающих имена DNS-серверов старого провайдера на IP-адреса нового провайдера, и хотя ручные поисковые запросы приводят к ожидаемым IP-адресам, запуск в браузере не выполняется. (даже если я очищу локальные кеши).

Как я могу этого добиться?

Вы можете настроить DNS-сервер в конфигурации, называемой «разделенный DNS». Для некоторых доменов поиск будет направлен на новый сервер, а все остальные будут следовать обычному пути. http://en.wikipedia.org/wiki/Split-horizon_DNS

Если вы используете BIND, это может помочь: http://www.cyberciti.biz/faq/linux-unix-bind9- named-configure-views/

Во-первых, хорошее мышление, которое нужно проверить перед переходом. Вы будете удивлены, узнав, сколько системных администраторов не тестируют.

С помощью @newserver игнорирует записи NS и отправляет запрос напрямую newserver. Вы можете проверить, обслуживает ли он нужные записи NS, указав "NS" в командной строке:

dig @newserver mydomain.com ns

Это подтверждает, что у вас есть правильные записи NS в новых файлах зоны.

Это предполагает, что новый регистратор настроит DNS-сервер для вашей зоны перед переносом.

Когда внешние люди выполняют поиск в DNS, они игнорируют записи NS в вашей зоне. Они запрашивают только записи NS, которые находятся в родительской зоне. Например, если это домен .com, существует (огромный) файл зоны для всего .com, который включает записи NS для mydomain.com. При переносе домена эти записи изменятся. Невозможно протестировать новые записи NS без внесения изменений.

Опять же, предполагая, что новый регистратор настроит вашу зону DNS перед передачей: вы можете сказать старому регистратору добавить новые записи NS (добавить их, но не удалять старые записи NS). В этот момент около половины ваших DNS-запросов пойдет на старые DNS-серверы, а половина - на новые DNS-серверы. Таким образом можно убедиться, что все работает правильно. (даже лучше: добавляйте по одной NS-записи за раз). Вы можете удалять старые записи NS по одной и проводить еще большее тестирование.

Если новый регистратор не настроит вашу зону DNS перед переносом, создайте новый домен с тем же файлом зоны. Вам нужно будет создать файл зоны, который будет работать для обеих зон; легко, если вы используете относительные имена вместо полных доменных имен. (Совет: используйте "@" каждый раз, когда вы хотите указать само доменное имя). Протестируйте записи там. Повторно используйте точный файл зоны в новом домене ... таким образом вы узнаете, что файл зоны работает.