Skip to main content
Transfer domains from third-party DNS hosting to Servercore DNS hosting

Transfer domains from third-party DNS hosting to Servercore DNS hosting

For your information

These are instructions for transferring domains from a third party provider to Servercore (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 data directly without downloading a zone file. See the octoDNS documentation for more information on supported providers and how to work with them, and an example configuration for migration in Syncing between providers.

  1. Install octoDNS.
  2. Import the zone file.
  3. Delegate the domain to DNS hosting.

1. Install octoDNS

  1. Install Python 3, virtualenv, and pip3:

    sudo apt-get update
    sudo apt-get install python3 virtualenv
    sudo apt-get install python3-pip
  2. Create a directory to work with octoDNS with config and zones folders:

    mkdir -p ~/octodns/{config,zones}
  3. Navigate to the ~/octodns directory:

    cd ~/octodns
  4. Create a virtual environment to work with octoDNS:

    virtualenv env
  5. Activate the virtual environment:

    source env/bin/activate
  6. Install octoDNS in a virtual environment:

    pip3 install octodns
  7. Set the Servercore provider for octoDNS:

    pip3 install octodns_servercore
  8. Check that the Servercore provider has been installed correctly:

    pip3 list | grep octodns-servercore

    The response will show the installed version of the provider, for example:

    octodns_servercore 0.99.1

    The minimum version of Servercore provider to work with DNS hosting is 0.99.1.

2. Import the zone file

  1. Download the zone file to the ~/octodns/zones directory.

  2. Navigate to the ~/octodns/zones directory:

    cd ~/octodns/zones
  3. 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.
  4. Navigate to the ~/octodns/config directory:

    cd ~/octodns/config
  5. Create a configuration file import_config.yaml:

    nano import_config.yaml
  6. Write the configuration for importing a zone to a file:

    ---
    processors:
    no-root-ns:
    class: octodns.processor.filter.IgnoreRootNsFilter
    providers:
    servercore:
    class: octodns_servercore.ServercoreProvider
    token: <x_auth_token>
    zonefile:
    class: octodns_bind.ZoneFileSource
    directory: ./zones
    check_origin: false

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

    Specify:

    • <x_auth_token> — IAM token for the project to which you need to transfer data;
    • <example.com> — name of the domain (zone) to be transferred.
  7. Navigate to the ~/octodns directory:

    cd ~/octodns
  8. Start the import:

    octodns-sync --config-file=./config/import_config.yaml --doit
  9. In the control panel, in the top menu, click Products and select DNS hosting.

  10. 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.

  11. 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 with default values:

    • NS — a.ns.servercore. ru., b.ns.srv.cr., c.ns.srv.cr., d.ns. servercore``.ru.
    • SOA — a.ns.srv.cr. dns.cloudflare.com. <zone_serial_number> 10000 2400 604800 1800, where <zone_serial_number> is the zone serial number, which changes when the zone is updated and signals the caching servers that records need to be cached again.

    If the data was migrated incorrectly or incompletely, create a ticket. Domains with only NS and SOA records will not be migrated.

3. Delegate domain to DNS hosting

  1. Go to the control panel of the domain registrar where your domain is registered.
  2. In the NS records, replace the values with DNS hosting NS servers: a.ns.srv.cr, b.ns.srv.cr, c.ns. servercore``.ru, d.ns``.servercore.com. Each server must be specified in a separate record.
  3. Wait for the migrated resource records to propagate to the DNS servers. Propagation can take up to 72 hours.
  4. Optional: check resource records. If after 72 hours resource records have not appeared on authoritative DNS hosting servers: a.ns.srv.cr, b.ns.srv.cr, c.ns.srv.cr, d.ns. servercore. ru, create a ticket.