Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация
На главную
61c46507-12c7-4300-a301-bd8bc30c7c19
Инструкции для серверов

Изменение настроек DNS-серверов

В инструкции рассказываем, как изменить настройки 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:

    
systemd-resolve --status | grep 'DNS Servers' -A2

Ubuntu 20.04 и выше, Debian 12 и выше:

    
resolvectl status

Debian 11:

    
cat /etc/resolv.conf

CentOS 9

    
nmcli device show ens3

В выводе будут указаны текущие 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]

При необходимости вы можете добавить DNS для IPv6:

    
addresses: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]

и включить dhcp6:

    
dhcp6: yes

У вас должно получиться следующее:

    
# 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     dhcp6: yes      nameservers:          addresses: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]

Обязательно соблюдайте иерархичность структуры; каждый новый уровень директив должен начинаться с двух пробелов (не отступов Tab).

Сохраните изменения в файле (Ctrl +X, затем Y и Enter).

Примените новую конфигурацию командой:

    
netplan try

Программа запросит у вас подтверждение — нажмите Enter, чтобы применить новые настройки.

На этом этапе, если в конфигурации сети были допущены какие-то ошибки, подключение по SSH будет разорвано. Конфигурация автоматически вернется к исходным настройкам через 2 минуты, и вы сможете снова подключиться к серверу.

Проверьте, что DNS-серверы обновились, с помощью команд:

    
systemd-resolve --status | grep 'DNS Servers' -A2

Ubuntu 20.04 и выше, Debian 12 и выше

Для изменения DNS-серверов в Debian 12, 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).

Чтобы указать DNS для IPv6, добавьте их в тот же файл вместе с IPv4:

    
[Resolve] DNS=8.8.8.8 2001:4860:4860::8888 FallbackDNS=8.8.4.4 2001:4860:4860::8844

Перезапустите службу systemd-resolved:

    
systemctl restart systemd-resolved

Убедитесь, что служба запущена и работает корректно:

    
systemctl status systemd-resolved

Проверьте, что новые DNS-серверы применились:

    
resolvectl status

Debian 11

Чтобы изменить DNS-серверы:

Откройте файл конфигурации dhclient в текстовом редакторе: 

    
nano /etc/dhcp/dhclient.conf

В самый конец файла добавьте строку:

    
supersede domain-name-servers 8.8.8.8, 8.8.4.4;

Чтобы указать DNS для IPv6, добавьте их в тот же файл вместе с IPv4:

    
supersede domain-name-servers 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844;

Сохраните изменения в файле (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"

Если в системе используется IPv6, можно указать DNS и для него:

    
sudo nmcli connection modify ens3 ipv6.dns "2001:4860:4860::8888,2001:4860:4860::8844"

Чтобы использовать только эти серверы и игнорировать получаемые от 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

И если настраивали IPv6:

    
ipv6.dns: 2001:4860:4860::8888,2001:4860:4860::8844
Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев