Перенести домены из стороннего DNS-хостинга в DNS-хостинг Selectel (actual)
Это инструкция для переноса доменов от стороннего провайдера в 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: <token>
zonefile:
class: octodns_bind.ZoneFileSource
directory: ./zones
check_origin: false
zones:
<example.com>.:
sources:
- zonefile
processors:
- no-root-ns
targets:
- selectel