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

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

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

Установить octoDNS

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

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

mkdir ~/octodns ~/octodns/config
cd ~/octodns
  1. Создайте виртуальную среду для работы с octoDNS:
virtualenv env
  1. Активируйте виртуальную среду:
source env/bin/activate
  1. Установите octoDNS в виртуальную среду:
pip3 install octodns
  1. Проверьте, что пакет установился корректно:
octodns-sync --version
    В выводе команды должно быть следующее (цифры могут отличаться):

    ```
    octoDNS 0.9.17
    ```
  1. Установите Selectel провайдер для octoDNS:
pip3 install octodns_selectel

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

  1. Перейдите в каталог ~/octodns/config:
cd ~/octodns/config
  1. Создайте файл config.yaml:
nano config.yaml
  1. Скопируйте в файл содержимое:
    ---
    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>` — имя вашего домена.
  1. Создайте директорию zones:
mkdir zones
  1. Скачайте файл BIND-зоны в директорию zones.
  2. Измените имя скачанного файла на имя вашего домена с точкой на конце:
mv <bind_zone_file.txt> <example.com>.
    Укажите:

    * `<bind_zone_file.txt>` — имя скачанного BIND-файла;
    * `<example.com>` — имя вашего домена.
  1. Импортируйте файл BIND-зоны в доменную зону в Selectel DNS:
octodns-sync --config-file=./config/config.yaml --doit