Перейти к основному содержимому

Настроить DNS в приватной сети выделенного сервера

Последнее изменение:

Вы можете настроить DNS в приватных сетях выделенных серверов. Это позволит обращаться к серверам в приватной сети по доменным именам вместо IP-адресов.

Для настройки используется сервис Приватный DNS. Сервис работает на базе сетей облачной платформы, связь с сетями выделенных серверов осуществляется через глобальный роутер.

Настройка приватного DNS выполняется через API, для аутентификации запросов используется IAM-токен для проекта. Полный список API-методов для работы с сервисом смотрите в Private DNS API.

  1. Если у вас еще нет приватной сети в облачной платформе, создайте приватную сеть. Сеть должна находиться в одном проекте с выделенными серверами, для которых вы хотите использовать приватный DNS.

  2. Добавьте сервисного пользователя с ролью member.

  3. Для добавленного сервисного пользователя получите IAM-токен для проекта.

  4. Откройте CLI.

  5. Выполните API-запрос, чтобы создать приватную зону с записями:

    curl -X POST \
    https://<pool>.cloud.api.selcloud.ru/private-dns/v1/zones \
    -H "X-Auth-Token: <token>" \
    -H "Content-Type: application/json" \
    -d '{
    "name": "<zone_name>",
    "ttl": <ttl>,
    "domain": "<domain_name>.",
    "records": [
    {
    "type": "<record_type>",
    "domain": "<subdomain>.<zone_domain_name>.",
    "ttl": <record_ttl>,
    "values": [
    <value1>,<value2>
    ]
    }
    ]
    }'

    Укажите:

    • <pool>пул, в котором находится приватная сеть облачной платформы, например ru-3;

    • <token> — IAM-токен для проекта, который вы получили на шаге 3;

    • <zone_name>— имя зоны;

    • <ttl>— TTL зоны в секундах, по умолчанию 3600/ TTL — время, в течение которого ресурсная запись зоны в кэше DNS-сервера считается актуальной и не требует повторного кэширования;

    • <zone_domain_name>— доменное имя зоны, например example;

    • опционально: добавьте блок <"records"> с информацией о ресурсных записях в зоне. Записи можно будет создать и изменить в любой момент после создания зоны. Записи указываются группами по типам, для каждой группы укажите:

      • <record_type> — тип записи: A, AAAA, MX, TXT, CNAME;
      • <subdomain>— доменное имя порта, например first. Может содержать цифры, латинские буквы и дефисы;
      • <record_ttl>— TTL записи в секундах, по умолчанию 3600. Чтобы запись наследовала TTL зоны, укажите -1;
      • <value1>, <value2> — значения записи.
  6. Выполните API-запрос, чтобы подключить приватную сеть к DNS-резолверу:

    curl -X POST \
    https://<pool>.cloud.api.selcloud.ru/private-dns/v1/services \
    -H "X-Auth-Token: $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
    "network_id": "<network_id>"
    }'

    Укажите:

    • <pool>пул, в котором находится приватная сеть облачной платформы, например ru-3;
    • <network_id> — ID сети, можно скопировать в панели управления: в верхнем меню нажмите ПродуктыОблачные серверыСеть → вкладка Приватные сети → в карточке сети нажмите .
  7. Свяжите сеть выделенных серверов и сеть облачной платформы через глобальный роутер.

  8. Для каждого из выделенных серверов в сети, которую вы подключили к глобальному роутеру на шаге 7, укажите приватные DNS-серверы — IP-адреса DNS-резолвера из облачной сети:

    8.1. Подключитесь к серверу по SSH или через KVM-консоль.

    8.2. Откройте конфигурационный файл утилиты netplan текстовым редактором vi:

    vi /etc/netplan/50-cloud-init.yaml

    или

    vi /etc/netplan/01-netcfg.yaml

    8.3. Укажите DNS-серверы для сетевого интерфейса приватной сети, которую вы подключили к глобальному роутеру. Для этого в блоке нужного интерфейса добавьте блок nameservers с IP-адресами DNS-резолвера. Например:

    id1:
    addresses:
    - 192.168.0.3/24
    routes:
    - to: 172.16.0.0/24
    via: 192.168.0.1
    nameservers:
    addresses:
    - <dns_server_ip_address_1>
    - <dns_server_ip_address_2>

    Укажите <dns_server_ip_address_1> и <dns_server_ip_address_2> — IP-адреса DNS-резолвера. Адреса можно посмотреть в панели управления: в верхнем меню нажмите ПродуктыОблачные серверыСеть → вкладка Приватные сети → откройте страницу сети → вкладка Порты → в карточке порта с пометкой DNS-резолвер посмотрите IP-адреса.

    8.4. Нажмите ESC.

    8.5. Выйдите из текстового редактора vi с сохранением изменений:

    :wq

    8.6. Примените конфигурацию:

    netplan apply

    8.7. Опционально: перезагрузите сервер.