Что такое DNS
DNS (Domain Name System) переводит удобочитаемые домены (например, www.example.com) в IP‑адреса (например, 192.0.2.1). Проще: это телефонная книга интернета. Без корректного DNS браузеры и сетевые службы не смогут найти нужные серверы.
Ключевые термины в одну строку:
- DNS-сервер — сервис, который отвечает на запросы преобразования имён в IP.
- systemd-resolved — системная служба для управления резолвингом имён в новых версиях Ubuntu.
- Netplan/NetworkManager — подсистемы, которые управляют сетевыми настройками.
1. Изменение DNS через графические настройки
- Войдите в систему под учётной записью администратора.
- Откройте приложение Настройки (Settings) и в боковом меню выберите Сеть.
- В списке подключений найдите ваше проводное (Wired) или Wi‑Fi подключение (Wireless) и нажмите на значок шестерёнки рядом с ним.
- Перейдите на вкладку IPv4. Убедитесь, что «Метод IPv4» (IPv4 Method) установлен на «Automatic (DHCP)» — это обычно по умолчанию.
- Отключите переключатель «Автоматически» рядом с полем DNS и введите IP‑адреса DNS‑серверов через запятую, например: 1.1.1.1, 8.8.8.8.
- Нажмите Применить (Apply) и перезапустите подключение при необходимости.
Важно: проверьте, сохраняются ли настройки после перезагрузки. На некоторых системах сетевой менеджер перезаписывает DNS.
2. Изменение DNS через командную строку
Ниже — несколько командных подходов. Выберите тот, который соответствует вашей установке Ubuntu.
Простой (но ненадёжный) вариант: редактирование /etc/resolv.conf
sudo nano /etc/resolv.conf
# Добавьте строки вида:
nameserver 1.1.1.1
nameserver 8.8.8.8
# Сохраните Ctrl+O, затем Ctrl+XЗаметка: в современных Ubuntu /etc/resolv.conf часто является символической ссылкой и перезаписывается systemd‑resolved или NetworkManager. Этот способ может работать временно, но изменения не гарантированно сохранятся после перезагрузки.
Надёжный вариант для systemd-resolved
sudo nano /etc/systemd/resolved.conf
# В секции [Resolve] добавьте или измените строки:
DNS=1.1.1.1 8.8.8.8
FallbackDNS=9.9.9.9
# Сохраните и затем перезапустите службу
sudo systemctl restart systemd-resolvedПосле этого проверьте статус:
resolvectl statusПример для Netplan (серверы/образы Ubuntu Server и некоторые рабочие станции):
# Откройте файл в /etc/netplan/, например 01-netcfg.yaml
sudo nano /etc/netplan/01-netcfg.yaml
# Внесите секцию nameservers:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses: [1.1.1.1, 8.8.8.8]
# Примените изменения
sudo netplan applyИспользование NetworkManager через nmcli
# Узнайте имя подключения
nmcli connection show
# Установите DNS и запретите автоматическое получение DNS по DHCP
sudo nmcli connection modify "Имя_подключения" ipv4.dns "1.1.1.1 8.8.8.8" ipv4.ignore-auto-dns yes
# Перезапустите подключение
sudo nmcli connection up "Имя_подключения"Проверка работоспособности
Проверьте, что DNS отвечает и возвращает ожидаемые результаты:
# Проверка конкретного DNS напрямую
dig @1.1.1.1 example.com +short
# Или проверьте системный резолвер
resolvectl status
# Альтернатива: nslookup
nslookup example.comКритерии приёмки:
- Домен example.com успешно резолвится (получаете IP).
- Появляются указанные адреса DNS в выводе resolvectl или в настройках NetworkManager/Netplan.
- Изменения сохраняются после перезагрузки.
Когда прямое редактирование /etc/resolv.conf не подойдёт
- Если /etc/resolv.conf является ссылкой на systemd‑resolved, правки будут перезаписаны.
- Если сеть управляется NetworkManager или Netplan, нужно менять настройки через них.
- На сервере с облачной платформой могут применяться провайдерские конфигурации, которые перезаписывают DNS.
Рекомендации по безопасности и конфиденциальности
- Используйте доверенные DNS‑поставщики (Cloudflare, Google, Quad9, OpenDNS) или собственный резолвер.
- Чтобы шифровать DNS-запросы, рассмотрите DNS over TLS (DoT) или DNS over HTTPS (DoH). Поддержка зависит от клиента и поставщика.
- Не вводите случайные или неизвестные адреса DNS — это может направлять трафик через злоумышленников.
Контрольные списки по ролям
Администратор:
- Выбрать метод управления сетью (systemd-resolved / Netplan / NetworkManager).
- Внести изменения в соответствующий конфиг и перезапустить службу.
- Проверить resolvectl или вывод сетевого менеджера.
- Документировать изменения и протестировать после перезагрузки.
Домашний пользователь:
- Попробовать GUI через Настройки → Сеть.
- Если не сработало, использовать nmcli или systemd‑resolved (см. разделы выше).
- Проверить работу сайтов и, при необходимости, вернуть старые значения.
Тестовые случаи и приёмка
- Изменение DNS через GUI: ввести 1.1.1.1 и 8.8.8.8 → сайты открываются в браузере.
- Изменение через systemd: прописать DNS в /etc/systemd/resolved.conf → resolvectl status показывает новые адреса.
- Netplan: прописать nameservers → sudo netplan apply → сеть не падает и резолвинг работает.
- Reboot: перезагрузить систему → настройки сохраняются.
Краткий глоссарий
- DNS — система сопоставления имён и IP.
- nameserver — запись с IP адресом DNS‑сервера.
- resolv.conf — традиционный файл настроек резолвинга.
- resolvectl / systemd-resolved — современные инструменты для управления резолвингом в systemd.
Сводка
Сменить DNS на Ubuntu можно через GUI (Настройки → Сеть), через редактирование конфигураций для systemd‑resolved, Netplan или NetworkManager. Всегда выбирайте метод, совместимый с вашей системой, проверяйте результат командами dig/resolvectl и учитывайте безопасность — используйте надёжные провайдеры и, при возможности, шифрование DNS.
Важно: редактирование /etc/resolv.conf напрямую часто временно и может быть перезаписано; предпочтительнее менять настройки в systemd, netplan или NetworkManager в зависимости от окружения.