В инструкции рассказываем, как изменить настройки DNS-серверов в операционных системах семейства Linux. Для сервера с ОС Windows воспользуйтесь этой статьей.
В инструкции ниже мы будем прописывать публичные DNS-серверы Google: 8.8.8.8
и 8.8.4.4
, но вы можете указывать любые нужные вам DNS (например, DNS Cloudflare: 1.1.1.1
и 1.0.0.1
и др.).
Проверка текущих DNS
Перед тем, как менять настройки, вы можете просмотреть, какие DNS-серверы используются сейчас. Это можно сделать, подключившись к серверу по SSH (или через веб-консоль в панели управления) и далее выполнив команду для вашей операционной системы.
Ubuntu 18.04:
systemd-resolve --status | grep 'DNS Servers' -A2
Ubuntu 20.04 и выше, Debian 13:
resolvectl status
Debian 11, 12:
cat /etc/resolv.conf
CentOS 9
nmcli con show ens3 | grep dns
В выводе будут указаны текущие DNS-серверы. Для серверов Timeweb Cloud, размещенных в Санкт-Петербурге, по умолчанию используются:
nameserver 92.53.116.13
nameserver 92.53.116.104
Изменение DNS-серверов
Ubuntu 18.04
Чтобы изменить DNS-серверы, выполните следующее:
Перейдите в директорию /etc/netplan
:
cd /etc/netplan
Откройте файл конфигурации службы для редактирования. Файл, как правило, называется 01-netcfg.yaml
; в Ubuntu 20.04 — 00-installer-config.yaml
.
nano 01-netcfg.yaml
На серверах Timeweb Cloud его содержимое будет следующим:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: yes
Добавьте в конец файла блок:
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
У вас должно получиться следующее:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: yes
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Обязательно соблюдайте иерархичность структуры; каждый новый уровень директив должен начинаться с двух пробелов (не отступов Tab).
Сохраните изменения в файле (Ctrl +X, затем Y и Enter).
Примените новую конфигурацию командой:
netplan try
Программа запросит у вас подтверждение — нажмите Enter, чтобы применить новые настройки.
На этом этапе, если в конфигурации сети были допущены какие-то ошибки, подключение по SSH будет разорвано. Конфигурация автоматически вернется к исходным настройкам через 2 минуты, и вы сможете снова подключиться к серверу.
Проверьте, что DNS-серверы обновились, с помощью команд:
systemd-resolve --status | grep 'DNS Servers' -A2
Ubuntu 20.04 и выше, Debian 13
Для изменения DNS-серверов в Debian 13, Ubuntu 20.04 и более новых версиях, выполните следующее:
Откройте файл настроек systemd-resolved
в текстовом редакторе:
sudo nano /etc/systemd/resolved.conf
Раскомментируйте секцию [Resolve]
и укажите в ней желаемые DNS-серверы. Например:
[Resolve]
DNS=8.8.8.8
FallbackDNS=8.8.4.4
Сохраните изменения (Ctrl + X, затем Y и Enter).
Перезапустите службу systemd-resolved
:
systemctl restart systemd-resolved
Убедитесь, что служба запущена и работает корректно:
systemctl status systemd-resolved
Проверьте, что новые DNS-серверы применились:
resolvectl status
Debian 10, 11
Чтобы изменить DNS-серверы:
Откройте файл конфигурации dhclient
в текстовом редакторе:
nano /etc/dhcp/dhclient.conf
В самый конец файла добавьте строку:
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
Сохраните изменения в файле (Ctrl +X, затем Y и Enter).
Запросите сетевые настройки командой:
dhclient
Проверьте, что DNS обновились:
cat /etc/resolv.conf
В выводе должны отобразиться указанные вами серверы.
CentOS 9
Чтобы изменить DNS-серверы, выполните следующее:
Выполните команду ниже, чтобы просмотреть сетевые адаптеры в системе:
ip a
В выводе отобразятся три адаптера: lo
, ens3
и ens8
:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether ce:46:76:13:67:4a brd ff:ff:ff:ff:ff:ff
altname enp0s3
inet 83.222.10.200/24 brd 83.222.10.255 scope global dynamic noprefixroute ens3
valid_lft 86369sec preferred_lft 86369sec
inet6 2a03:6f01:1:2::c374/128 scope global dynamic noprefixroute
valid_lft 2591972sec preferred_lft 604772sec
inet6 fe80::cc46:76ff:fe13:674a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 54:52:00:b1:4e:8d brd ff:ff:ff:ff:ff:ff
altname enp0s8
inet 192.168.0.12/24 brd 192.168.0.255 scope global noprefixroute ens8
valid_lft forever preferred_lft forever
inet6 fe80::5652:ff:feb1:4e8d/64 scope link
valid_lft forever preferred_lft forever
Нам нужно настроить адаптер ens3
.
Проверьте текущие настройки DNS для интерфейса:
nmcli con show ens3 | grep dns
Задайте новые DNS-серверы:
sudo nmcli connection modify ens3 ipv4.dns "8.8.8.8,8.8.4.4"
Чтобы использовать только эти серверы и игнорировать получаемые от DHCP, можно добавить опцию:
sudo nmcli connection modify ens3 ipv4.ignore-auto-dns yes
Перезапустите соединение:
sudo nmcli connection down ens3 && sudo nmcli connection up ens3
Убедитесь, что изменения применились:
nmcli con show ens3 | grep dns
Вы увидите такую строку:
ipv4.dns: 8.8.8.8,8.8.4.4
На Сentos9 не рабочий мануал
Добрый день!
Актуализировали инструкцию. Спасибо за замечание!
На ununtu 22 мануал нерабочий
Добрый день!
Актуализировали инструкцию. Спасибо за замечание!
на убунте 22 почему не удается сделать
Добрый день! Напишите, пожалуйста, в поддержку — коллеги посмотрят, что могло пойти не так.