Перейти к основному содержимому
Перенести домены из стороннего DNS-хостинга в DNS-хостинг Selectel (actual)
Последнее изменение:

Перенести домены из стороннего DNS-хостинга в DNS-хостинг Selectel (actual)

к сведению

Это инструкция для переноса доменов от стороннего провайдера в DNS-хостинг Selectel (actual) через импорт файла зоны с помощью octoDNS.

Если ваш текущий DNS-хостинг не предоставляет возможность скачать файл зоны, но поддерживается в octoDNS, вы можете перенести данные напрямую, без скачивания файла зоны. Подробнее о поддерживаемых провайдерах и работе с ними в документации octoDNS, пример конфигурации для переноса в разделе Syncing between providers.

  1. Установите octoDNS.
  2. Импортируйте файл зоны.
  3. Делегируйте домен в DNS-хостинг (actual).

1. Установить octoDNS

  1. Установите Python 3, virtualenv и pip3:

    sudo apt-get update
    sudo apt-get install python3 virtualenv
    sudo apt-get install python3-pip
  2. Создайте директорию для работы с octoDNS с папками config и zones:

    mkdir -p ~/octodns/{config,zones}
  3. Перейдите в директорию ~/octodns:

    cd ~/octodns
  4. Создайте виртуальную среду для работы с octoDNS:

    virtualenv env
  5. Активируйте виртуальную среду:

    source env/bin/activate
  6. Установите octoDNS в виртуальную среду:

    pip3 install octodns
  7. Установите Selectel-провайдер для octoDNS:

    pip3 install octodns_selectel
  8. Проверьте, что Selectel-провайдер установился корректно:

    pip3 list | grep octodns-selectel

    В ответе появится установленная версия провайдера, например:

    octodns_selectel 0.99.1

    Минимальная версия Selectel-провайдера для работы с DNS-хостингом (actual) — 0.99.1.

2. Импортировать файл зоны

  1. Скачайте файл зоны в директорию ~/octodns/zones.

  2. Перейдите в директорию ~/octodns/zones:

    cd ~/octodns/zones
  3. Измените имя скачанного файла на имя вашего домена с точкой на конце:

    mv <zone_file.txt> <example.com>.

    Укажите:

    • <zone_file.txt> — имя файла зоны, который вы скачали на шаге 1;
    • <example.com> — имя вашего домена.
  4. Перейдите в директорию ~/octodns/config:

    cd ~/octodns/config
  5. Создайте файл конфигурации import_config.yaml:

    nano import_config.yaml
  6. Запишите в файл конфигурацию для импорта зоны:

    ---
    processors:
    no-root-ns:
    class: octodns.processor.filter.IgnoreRootNsFilter
    providers:
    selectel:
    class: octodns_selectel.SelectelProvider
    token: <token>
    zonefile:
    class: octodns_bind.ZoneFileSource
    directory: ./zones
    check_origin: false

    zones:
    <example.com>.:
    sources:
    - zonefile
    processors:
    - no-root-ns
    targets:
    - selectel

    Укажите:

    • <token> — ваш токен Keystone для проекта, в который нужно перенести данные;
    • <example.com> — имя домена (зоны), которую нужно перенести.
  7. Перейдите в директорию ~/octodns:

    cd ~/octodns
  8. Запустите импорт:

    octodns-sync --config-file=./config/import_config.yaml --doit
  9. В панели управления перейдите в раздел DNSДоменные зоны.

  10. Убедитесь, что вы находитесь в проекте, в который перенесли данные. Для этого откройте меню проектов (название текущего проекта) и выберите нужный проект.

  11. Убедитесь, что зона появилась в списке зон, а на ее странице отображаются перенесенные записи.
    Ресурсные записи одного типа отображаются как группа записей.
    Ресурсные записи 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 записи, не будут перенесены.

3. Делегировать домен в DNS-хостинг (actual)

  1. Перейдите в панель управления доменного регистратора, у которого зарегистрирован ваш домен.
  2. В NS-записях замените значения на NS-серверы DNS-хостинга (actual): a.ns.selectel.ru, b.ns.selectel.ru, c.ns.selectel.ru, d.ns.selectel.ru. Каждый сервер должен быть указан в отдельной записи.
  3. Подождите, пока перенесенные ресурсные записи распространятся на DNS-серверы. Распространение может занимать до 72 часов.
  4. Опционально: проверьте ресурсные записи. Если спустя 72 часа ресурсные записи не появились на авторитетных серверах DNS-хостинга: a.ns.selectel.ru, b.ns.selectel.ru, c.ns.selectel.ru, d.ns.selectel.ru, создайте тикет.