---
title: "Изменение настроек DNS-серверов на Linux-серверах"
description: "Изменение настроек DNS-серверов в операционных системах семейства Linux. Документация и инструкции по использованию и настройке облачных серверов Timeweb Cloud."
---

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

В инструкции рассказываем, как изменить настройки DNS-серверов в операционных системах семейства **Linux**. Для сервера с ОС Windows [воспользуйтесь этой статьей](https://timeweb.cloud/docs/windows-guides/nastrojka-dns-serverov-v-windows-server).

В инструкции ниже мы будем прописывать публичные 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](https://timeweb.cloud/docs/unix-guides/ssh) (или через веб-консоль в панели управления) и далее выполнив команду для вашей операционной системы.

**Ubuntu 18.04:**

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

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

```shell
resolvectl status
```

**Debian 11:**

```shell
cat /etc/resolv.conf
```

**CentOS Stream 9**

```
nmcli device show ens3
```

В выводе будут указаны текущие DNS-серверы. Для серверов Timeweb Cloud, размещенных в Санкт-Петербурге, по умолчанию используются:

```shell
nameserver 92.53.116.13
nameserver 92.53.116.104
```

## Изменение DNS-серверов

### Ubuntu 18.04

Чтобы изменить DNS-серверы, выполните следующее:

Перейдите в директорию `/etc/netplan`:

```shell
cd /etc/netplan
```

Откройте файл конфигурации службы для редактирования. Файл, как правило, называется `01-netcfg.yaml`:

```shell
nano 01-netcfg.yaml
```

На серверах Timeweb Cloud его содержимое будет следующим: 

```bash
# 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
```

Добавьте в конец файла блок:

```bash
nameservers:
  addresses: [8.8.8.8, 8.8.4.4]
```

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

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

и включить `dhcp6`:

```shell
dhcp6: yes
```

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

```bash
# 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]
```

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

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

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

```shell
netplan try
```

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

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

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

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

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

Для изменения DNS-серверов в Debian 12, Ubuntu 20.04 и более новых версиях, выполните следующее:

Откройте файл настроек `systemd-resolved` в текстовом редакторе:

```shell
sudo nano /etc/systemd/resolved.conf
```

Раскомментируйте секцию `[Resolve]` и укажите в ней желаемые DNS-серверы. Например:

```shell
[Resolve]
DNS=8.8.8.8
FallbackDNS=8.8.4.4
```

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

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

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

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

```shell
systemctl restart systemd-resolved
```

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

```shell
systemctl status systemd-resolved
```

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

```shell
resolvectl status
```

### Debian 11

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

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

```shell
nano /etc/dhcp/dhclient.conf
```

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

```shell
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
```

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

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

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

Запросите сетевые настройки командой:

```shell
dhclient
```

Проверьте, что DNS обновились:

```shell
cat /etc/resolv.conf
```

В выводе должны отобразиться указанные вами серверы.

### CentOS

Чтобы изменить DNS-серверы, выполните следующее:

Выполните команду ниже, чтобы просмотреть сетевые адаптеры в системе:

```shell
ip a
```

В выводе отобразятся три адаптера: `lo`, `ens3` и `ens8`:

```shell
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 для интерфейса:

```shell
nmcli con show ens3 | grep dns
```

Задайте новые DNS-серверы:

```shell
sudo nmcli connection modify ens3 ipv4.dns "8.8.8.8,8.8.4.4"
```

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

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

Чтобы использовать только эти серверы и игнорировать получаемые от DHCP, можно добавить опцию:

```shell
sudo nmcli connection modify ens3 ipv4.ignore-auto-dns yes
```

Отключите соединение:

```shell
sudo nmcli connection down ens3
```

Включите соединение снова:

```shell
sudo nmcli connection up ens3
```

Убедитесь, что изменения применились:

```shell
nmcli con show ens3 | grep dns
```

Вы увидите такую строку:

```shell
ipv4.dns: 8.8.8.8,8.8.4.4
```

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

```shell
ipv6.dns: 2001:4860:4860::8888,2001:4860:4860::8844
```
