Изменить DNS-серверы облачного сервера

В настройках облачных серверов автоматически прописываются DNS-серверы Selectel: 188.93.16.19 и 188.93.17.19

Вы можете изменить DNS-серверы разными способами в зависимости от того, нужно ли отключать настройку сети через cloud-init:

Настройки сети синхронизируются при помощи утилиты cloud-init, поэтому если вы измените DNS-серверы в конфигурационных файлах сетевых настроек, то после перезагрузки облачного сервера будут снова указываться DNS-серверы Selectel.

Изменить DNS-серверы в приватной подсети

После изменения DNS-серверов cloud-init автоматически пропишет новые DNS-серверы во всех конфигурационных файлах облачных серверов в приватной подсети. Для всех новых облачных серверов в этой приватной подсети автоматически будут указываться новые DNS-серверы.

Если подсеть, в которой находится облачный сервер, — это часть сети глобального роутера, то для изменения DNS-серверов создайте тикет.

  1. Откройте OpenStack CLI.

  2. Удалите информацию о DNS-серверах Selectel:

    openstack subnet set --no-dns-nameservers <subnet_id>
    

    Укажите <subnet_id> — ID приватной подсети, можно посмотреть с помощью openstack subnet list

  3. Установите новые DNS-серверы:

    openstack subnet set <subnet_id> --dns-nameserver <dns_1> --dns-nameserver <dns_2>
    

    Укажите <dns_1> и <dns_2> — новые DNS-серверы.

  4. Посмотрите свойства подсети и проверьте, что информация о DNS-серверах обновилась:

    openstack subnet show <subnet_id>
    
  5. Выполните программную перезагрузку облачного сервера.

Отключить настройку DNS через cloud-init

сloud-init продолжит настраивать сеть, но не будет настраивать DNS-серверы.

  1. Откройте файл /etc/systemd/resolved.conf:

    nano /etc/systemd/resolved.conf
    
  2. Установите новые DNS-серверы:

    [Resolve]
    DNS=<dns_1> <dns_2>
    

    Укажите <dns_1> и <dns_2> — новые DNS-серверы.

  3. Создайте символьную ссылку на файл:

    ln -svi /run/system/resolve/resolv.conf /etc/resolv.conf
    
  4. Включите сервис system-resolved (распознаватель DNS):

    systemctl enable system-resolved
    
  5. Выполните программную перезагрузку облачного сервера.

  6. Проверьте, что информация о DNS-серверах обновилась в файле /etc/resolv.conf:

    system-resolve --status
    

Отключить настройку сети через cloud-init

Можно отключить настройку параметров сети (в том числе, DNS) через cloud-init и задавать все настройки вручную.

В инструкции мы рассматриваем пример для Ubuntu.

  1. Создайте файл /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg с содержимым "network: {config: disabled}":

    echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
    
  2. Настройте сеть вручную. Замените DNS-серверы или другие параметры на желаемые вручную в файле /etc/network/interfaces или используйте конфигурацию, которая была ранее создана через cloud-init:

    mv /etc/network/interfaces.d/50-cloud-init.cfg /etc/network/interfaces
    
  3. Выполните программную перезагрузку облачного сервера.