Transfer domains from third-party DNS hosting to Selectel DNS hosting (actual)
These are instructions for transferring domains from a third-party provider to Selectel (actual) DNS hosting via importing a zone file using octoDNS.
If your current DNS hosting does not provide the ability to download a zone file, but is supported in octoDNS, you can migrate your data directly without downloading a zone file. Learn more about supported providers and how to work with them in octoDNS documentation, example configuration for migration in the section Syncing between providers.
Install octoDNS
-
Install Python 3, virtualenv, and pip3:
Linux
macOS
sudo apt-get update
sudo apt-get install python3 virtualenv
sudo apt-get install python3-pipbrew install python3
brew install virtualenv -
Create a directory to work with octoDNS with the folders
config
иzones
:mkdir -p ~/octodns/{config,zones}
-
Go to the directory
~/octodns
:cd ~/octodns
-
Create a virtual environment to work with octoDNS:
virtualenv env
-
Activate the virtual environment:
source env/bin/activate
-
Install octoDNS in a virtual environment:
pip3 install octodns
-
Set Selectel provider for octoDNS:
pip3 install octodns_selectel
-
Check that the Selectel provider has been installed correctly:
pip3 list | grep octodns-selectel
The response will show the installed version of the ISP, for example:
octodns_selectel 0.99.1
The minimum version of Selectel provider to work with DNS hosting (actual) is 0.99.1.
import the zone file
-
Download the zone file to the directory
~/octodns/zones
. -
Go to the directory
~/octodns/zones
:cd ~/octodns/zones
-
Change the name of the downloaded file to your domain name with a dot on the end:
mv <zone_file.txt> <example.com>.
Specify:
<zone_file.txt>
— name of the zone file you downloaded in step 1;<example.com>
— the name of your domain.
-
Go to the directory
~/octodns/config
:cd ~/octodns/config
-
Create a configuration file
import_config.yaml
:nano import_config.yaml
-
Write the configuration for importing a zone to a file:
---
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:
- selectelSpecify:
<token>
— your Keystone token for the project to which you want to transfer the data;<example.com>
— the name of the domain (zone) to be transferred.
-
Go to the directory
~/octodns
:cd ~/octodns
-
Start the import:
octodns-sync --config-file=./config/import_config.yaml --doit
-
В control panels go to DNS → Domain zones.
-
Make sure that you are in the project to which you have moved the data. To do this, open the projects menu (name of the current project) and select the desired project.
-
Verify that the zone appears in the zone list and that its page shows the transferred records.
Resource records of the same type are displayed as a group of records.
NS and SOA resource records are not migrated, they will be automatically created in the DNS hosting (actual) with default values:- NS —
a.ns.selectel.ru.
,b.ns.selectel.ru.
,c.ns.selectel.ru.
,d.ns.selectel.ru.
- SOA IS.
a.ns.selectel.ru. support.selectel.ru. <zone_serial_number> 10800 3600 604800 60
where<zone_serial_number>
— zone serial number, which changes when the zone is updated and signals to the caching servers that records need to be cached again.
If the data has been migrated incorrectly or incompletely, file a ticket. Domains that only have NS and SOA records will not be migrated.
- NS —
Delegate domain to DNS hosting (actual)
- Go to the control panel of the domain registrar where your domain is registered.
- In the NS records, replace the values with the DNS hosting (actual) NS servers:
a.ns.selectel.ru
,b.ns.selectel.ru
,c.ns.selectel.ru
,d.ns.selectel.ru
. Each server must be listed in a separate entry. - Wait for the migrated resource records to propagate to the DNS servers. Propagation can take up to 72 hours.
- Optional: check resource records. If after 72 hours the resource records have not appeared on authoritative DNS hosting servers:
a.ns.selectel.ru
,b.ns.selectel.ru
,c.ns.selectel.ru
,d.ns.selectel.ru
, file a ticket.