Люди меняют настройки DNS по разным причинам. Иногда веб-сайты не загружаются должным образом, иногда скрипты веб-страницы не работают должным образом. Обычно очистка кэша DNS помогает решить большинство проблем, но если это не помогает, то изменение настроек DNS может помочь вам, потому что изменение настроек DNS в Ubuntu может помочь нам решить множество ошибок.
Кроме того, если вы хотите использовать пользовательский DNS, то это руководство также для вас. Есть два способа изменить настройки DNS в Ubuntu, которые приведены ниже:
Изменение настроек DNS с помощью пользовательского интерфейса
Чтобы просто узнать, как изменить настройки DNS в Ubuntu с помощью пользовательского интерфейса, выполните следующие действия:
Откройте Системные настройки Ubuntu и перейдите в раздел Сеть.
Нажмите на кнопку настройки рядом с названием сети в списке, к которой вы подключены.
При этом откроется новое окно с большим количеством вкладок, одна из которых будет называться "Настройки IPv4". Нажмите на нее.
Открыв вкладку "Настройки IPv4", вы найдете поле "DNS". Здесь вы можете написать DNS-сервер, который вы хотите использовать. Также обратите внимание, что если вы хотите использовать свой собственный DNS, вам необходимо выбрать опцию Настройки IPv4 > DNS
Если вы хотите использовать несколько DNS, то вы можете ввести и разделить их запятой. После чего применить настройки, нажав Применить (Apply).
Изменение DNS с помощью dnsmasq
Если вы хардкорный программист и не любите что-то исправлять с помощью пользовательского интерфейса, то не стоит беспокоиться. Вы также можете изменить настройки DNS с помощью встроенного терминала.
Чтобы узнать, как изменить настройки DNS в Ubuntu с помощью терминала, выполните следующие действия:
Прежде всего, вам необходимо добавить серверы имен в конфигурационный файл dnsmasq. Но, к сожалению, dnsmasq не установлен в Ubuntu по умолчанию. Поэтому, чтобы перейти к изменению настроек DNS с помощью встроенного терминала, нам сначала придется установить dnsmasq.
Это можно сделать, запустив терминал и написав
1 | sudo apt-get install dnsmasq |
После установки dnsmasq вы можете отредактировать файл конфигурации с помощью следующей команды:
1 | sudo nano /etc/dnsmasq.conf |
После ввода вышеуказанной команды откроется файл конфигурации, и вам нужно найти строку, в которой говорится: "Add other nameservers here". Найдя ее, вы можете заменить ее на нужный адрес DNS-сервера, как показано в примере ниже:
После этого потребуется перезапустить сервис, командой ниже
1 | sudo systemctl restart dnsmasq.service |
Изменение DNS с помощью netplan
Когда-то давно, когда вы могли настроить DNSв Linux просто открывали файл /etc/resolv.conf, редактировали записи, сохраняли файл, и все было готово. Этот файл все еще существует, но он является симлинком, контролируемым службой systemd-resolved, и его не следует редактировать вручную.
systemd-resolved - это служба, которая обеспечивает разрешение имен DNS для локальных служб и приложений, и она может быть настроена с помощью Netplan, инструмента управления сетью по умолчанию в Ubuntu.
Файлы конфигурации Netplan хранятся в каталоге /etc/netplan. В этом каталоге вы, вероятно, найдете один или два файла YAML. Имя файла может отличаться от настройки к настройке. Обычно файл называется либо 01-netcfg.yaml, либо 50-cloud-init.yaml, но в вашей системе он может быть другим.
Эти файлы позволяют настроить сетевой интерфейс, включая IP-адрес, шлюз, серверы имен DNS и так далее.
Для настройки серверов имен DNS откройте файл конфигурации интерфейса в текстовом редакторе :
sudo nano /etc/netplan/01-netcfg.yaml
Содержимое файла будет выглядеть примерно следующим образом:
1 2 3 4 5 6 7 8 9 10 11 | network: version: 2 renderer: networkd ethernets: ens3: dhcp4: no addresses: - 192.168.153.141/24 gateway4: 192.168.153.1 nameservers: addresses: [1.1.1.1, 1.0.0.1] |
Для настройки DNS-серверов имен интерфейса измените текущие IP-адреса на предпочитаемые DNS-серверы. Например, если вы хотите использовать DNS-серверы Google, измените строку адреса на:
1 2 | nameservers: addresses: [8.8.8.8, 8.8.4.4] |
DNS-серверы должны быть разделены запятыми. Вы также можете добавить более двух серверов имен.
Если запись не существует, добавьте ее в блок имени интерфейса. При редактировании файлов Yaml убедитесь, что вы следуете стандартам отступов кода YAML. Если в конфигурации есть синтаксическая ошибка, Netplan не сможет разобрать файл.
После этого сохраните файл и примените изменения:
1 | sudo netplan apply |
Netplan создаст конфигурационные файлы для службы systemd-resolved.
Чтобы убедиться, что новые DNS-резольверы установлены, выполните следующую команду:
systemd-resolve --status | grep 'DNS Servers' -A2
либо, в Ubuntu 22
1 | resolvectl | grep 'DNS Servers' -A2 |
Команда systemd-resolve --status / resolvectl выводит много информации. Мы используем grep для фильтрации строки "DNS Servers". Вывод будет выглядеть примерно так:
1 2 | DNS Servers: 1.1.1.1 1.0.0.1 |
Дополнительно можете узнать про Настройку сети с помощью Netplan в Ubuntu.