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

Пример импорта файла зоны из BIND в Selectel DNS с использованием octoDNS

  1. Установите octoDNS.
  2. Импортируйте файл зоны.

Установить octoDNS

  1. Убедитесь, что у вас установлены python и virtualenv. При необходимости установите их:

  2. Создайте директорию для работы с octoDNS:

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

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

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

    pip3 install octodns
    
  6. Проверьте, что пакет установился корректно:

    octodns-sync --version
    

    В выводе команды должно быть следующее (цифры могут отличаться):

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

    pip3 install octodns_selectel
    

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

  1. Перейдите в каталог ~/octodns/config:

    cd ~/octodns/config
    
  2. Создайте файл config.yaml:

    nano config.yaml
    
  3. Скопируйте в файл содержимое:

    ---
    providers:
        config:
            class: octodns.provider.yaml.YamlProvider
            directory: ./config
            default_ttl: 3600
            enforce_order: True
        selectel:
            class: octodns_selectel.SelectelProvider
            token: <your_api_token>
        zonefile:
            class: octodns.source.axfr.ZoneFileSource
            directory: ./zones
            check_origin: false
    
    zones:
        <example.com>.:
            sources:
            - zonefile
            targets:
            - selectel
    

    Укажите:

    • <your_api_token> — ваш токен Selectel;
    • <example.com> — имя вашего домена.
  4. Создайте директорию zones:

    mkdir zones
    
  5. Скачайте файл BIND-зоны в директорию zones.

  6. Измените имя скачанного файла на имя вашего домена с точкой на конце:

    mv <bind_zone_file.txt> <example.com>.
    

    Укажите:

    • <bind_zone_file.txt> — имя скачанного BIND-файла;
    • <example.com> — имя вашего домена.
  7. Импортируйте файл BIND-зоны в доменную зону в Selectel DNS:

    octodns-sync --config-file=./config/config.yaml --doit