В инструкции рассказываем, как изменить настройки DNS-серверов в операционных системах семейства Linux. Для сервера с ОС Windows воспользуйтесь этой статьей.
В инструкции ниже мы будем прописывать публичные DNS-серверы Google: 8.8.8.8 и 8.8.4.4, но вы можете указывать любые нужные вам DNS (например, DNS Cloudflare: 1.1.1.1 и 1.0.0.1 и др.).
Если вы используете IPv6, вы можете дополнительно указать DNS-серверы для этого протокола. Это необязательно — настройка нужна только в том случае, если ваш сервер работает с IPv6. Примеры IPv6 DNS от Google: 2001:4860:4860::8888, 2001:4860:4860::8844.
Проверка текущих DNS
Перед тем, как менять настройки, вы можете просмотреть, какие DNS-серверы используются сейчас. Это можно сделать, подключившись к серверу по SSH (или через веб-консоль в панели управления) и далее выполнив команду для вашей операционной системы.
Ubuntu 18.04:
Ubuntu 20.04 и выше, Debian 12 и выше:
Debian 11:
CentOS 9
В выводе будут указаны текущие DNS-серверы. Для серверов Timeweb Cloud, размещенных в Санкт-Петербурге, по умолчанию используются:
Изменение DNS-серверов
Ubuntu 18.04
Чтобы изменить DNS-серверы, выполните следующее:
Перейдите в директорию /etc/netplan:
Откройте файл конфигурации службы для редактирования. Файл, как правило, называется 01-netcfg.yaml; в Ubuntu 20.04 — 00-installer-config.yaml.
На серверах Timeweb Cloud его содержимое будет следующим:
Добавьте в конец файла блок:
При необходимости вы можете добавить DNS для IPv6:
и включить dhcp6:
У вас должно получиться следующее:
Обязательно соблюдайте иерархичность структуры; каждый новый уровень директив должен начинаться с двух пробелов (не отступов Tab).
Сохраните изменения в файле (Ctrl +X, затем Y и Enter).
Примените новую конфигурацию командой:
Программа запросит у вас подтверждение — нажмите Enter, чтобы применить новые настройки.
На этом этапе, если в конфигурации сети были допущены какие-то ошибки, подключение по SSH будет разорвано. Конфигурация автоматически вернется к исходным настройкам через 2 минуты, и вы сможете снова подключиться к серверу.
Проверьте, что DNS-серверы обновились, с помощью команд:
Ubuntu 20.04 и выше, Debian 12 и выше
Для изменения DNS-серверов в Debian 12, Ubuntu 20.04 и более новых версиях, выполните следующее:
Откройте файл настроек systemd-resolved в текстовом редакторе:
Раскомментируйте секцию [Resolve] и укажите в ней желаемые DNS-серверы. Например:
Сохраните изменения (Ctrl + X, затем Y и Enter).
Чтобы указать DNS для IPv6, добавьте их в тот же файл вместе с IPv4:
Перезапустите службу systemd-resolved:
Убедитесь, что служба запущена и работает корректно:
Проверьте, что новые DNS-серверы применились:
Debian 11
Чтобы изменить DNS-серверы:
Откройте файл конфигурации dhclient в текстовом редакторе:
В самый конец файла добавьте строку:
Чтобы указать DNS для IPv6, добавьте их в тот же файл вместе с IPv4:
Сохраните изменения в файле (Ctrl +X, затем Y и Enter).
Запросите сетевые настройки командой:
Проверьте, что DNS обновились:
В выводе должны отобразиться указанные вами серверы.
CentOS 9
Чтобы изменить DNS-серверы, выполните следующее:
Выполните команду ниже, чтобы просмотреть сетевые адаптеры в системе:
В выводе отобразятся три адаптера: lo, ens3 и ens8:
Нам нужно настроить адаптер ens3.
Проверьте текущие настройки DNS для интерфейса:
Задайте новые DNS-серверы:
Если в системе используется IPv6, можно указать DNS и для него:
Чтобы использовать только эти серверы и игнорировать получаемые от DHCP, можно добавить опцию:
Отключите соединение:
Включите соединение снова:
Убедитесь, что изменения применились:
Вы увидите такую строку:
И если настраивали IPv6: