Перенести домены из стороннего DNS-хостинга
Это инструкция для переноса доменов от стороннего провайдера в DNS-хостинг Selectel (actual) через импорт файла зоны с помощью octoDNS.
Если ваш текущий DNS-хостинг не предоставляет возможность скачать файл зоны, но поддерживается в octoDNS, вы можете перенести данные напрямую, без скачивания файла зоны. Подробнее о поддерживаемых провайдерах и работе с ними в документации octoDNS, пример конфигурации для переноса в разделе Syncing between providers.
1. Установить octoDNS
-
Установите Python 3, virtualenv и pip3:
Linux
macOS
sudo apt-get update
sudo apt-get install python3 virtualenv
sudo apt-get install python3-pipbrew install python3
brew install virtualenv -
Создайте директорию для работы с octoDNS с папками
configиzones:mkdir -p ~/octodns/{config,zones} -
Перейдите в директорию
~/octodns:cd ~/octodns -
Создайте виртуальную среду для работы с octoDNS:
virtualenv env -
Активируйте виртуальную среду:
source env/bin/activate -
Установите octoDNS в виртуальную среду:
pip3 install octodns -
Установите Selectel-провайдер для octoDNS:
pip3 install octodns_selectel -
Проверьте, что Selectel-провайдер установился корректно:
pip3 list | grep octodns-selectelВ ответе появится установленная версия провайдера, например:
octodns_selectel 0.99.1Минимальная версия Selectel-провайдера для работы с DNS-хостингом (actual) — 0.99.1.
2. Импортировать файл зоны
-
Скачайте файл зоны в директорию
~/octodns/zones. -
Перейдите в директорию
~/octodns/zones:cd ~/octodns/zones -
Измените имя скачанного файла на имя вашего домена с точкой на конце:
mv <zone_file.txt> <example.com>.Укажите:
<zone_file.txt>— имя файла зоны, который вы скачали на шаге 1;<example.com>— имя вашего домена.
-
Перейдите в директорию
~/octodns/config:cd ~/octodns/config -
Создайте файл конфигурации
import_config.yaml:nano import_config.yaml -
Запишите в файл конфигурацию для импорта зоны:
---
processors:
no-root-ns:
class: octodns.processor.filter.IgnoreRootNsFilter
providers:
selectel:
class: octodns_selectel.SelectelProvider
token: <x_auth_token>
zonefile:
class: octodns_bind.ZoneFileSource
directory: ./zones
check_origin: false
zones:
<example.com>.:
sources:
- zonefile
processors:
- no-root-ns
targets:
- selectelУкажите:
<x_auth_token>— IAM-токен для проекта, в который нужно перенести данные;<example.com>— имя домена (зоны), которую нужно перенести.
-
Перейдите в директорию
~/octodns:cd ~/octodns -
Запустите импорт:
octodns-sync --config-file=./config/import_config.yaml --doit -
В панели управления в верхнем меню нажмите Продукты и выберите DNS-хостинг.
-
Убедитесь, что вы находитесь в проекте, в который перенесли данные. Для этого откройте меню проектов (название текущего проекта) и выберите нужный проект.
-
Убедитесь, что зона появилась в списке зон, а на ее странице отображаются перенесенные записи.
Ресурсные записи одного типа отображаются как группа записей.
Ресурсные записи NS и SOA не переносятся, они будут автоматически созданы в DNS-хостинге (actual) со значениями по умолчанию, которые нельзя редактировать:- NS —
a.ns.selectel.ru.,b.ns.selectel.ru.,c.ns.selectel.ru.,d.ns.selectel.ru. - SOA —
a.ns.selectel.ru. support.selectel.ru. <zone_serial_number> 10800 3600 604800 60, где<zone_serial_number>— серийный номер зоны, который изменяется при обновлении зоны и сигнализирует кэширующим серверам, что записи необходимо закэшировать заново.
Если данные перенеслись неправильно или не полностью, создайте тикет. Домены, у которых есть только NS и SOA записи, не будут перенесены.
- NS —
3. Делегировать домен в DNS-хостинг (actual)
- Перейдите в панель управления доменного регистратора, у которого зарегистрирован ваш домен.
- В NS-записях замените значения на NS-серверы DNS-хостинга (actual):
a.ns.selectel.ru,b.ns.selectel.ru,c.ns.selectel.ru,d.ns.selectel.ru. Каждый сервер должен быть указан в отдельной записи. - Подождите, пока перенесенные ресурсные записи распространятся на DNS-серверы. Распространение может занимать до 72 часов.
- Опционально: проверьте ресурсные записи. Если спустя 72 часа ресурсные записи не появились на авторитетных серверах DNS-хостинга:
a.ns.selectel.ru,b.ns.selectel.ru,c.ns.selectel.ru,d.ns.selectel.ru, создайте тикет.