Поиск по сайту:

Как настроить постоянные DNS-серверы имен в Ubuntu и Debian


/etc/resolv.conf — это основной файл конфигурации библиотеки разрешения имен DNS. Резолвер — это набор функций библиотеки C, которые обеспечивают доступ к Системе доменных имен Интернета (DNS). Функции настроены на проверку записей в файле /etc/hosts или нескольких DNS-серверах имен или на использование базы данных хоста Network Information Service (NIS ).

В современных системах Linux, использующих systemd (менеджер системы и служб), службы DNS или преобразования имен предоставляются локальным приложениям через системный сервис. По умолчанию эта служба имеет четыре различных режима обработки разрешения доменных имен и использует файл-заглушку DNS systemd (/run/systemd/resolve/stub-resolv.conf) в режиме работы по умолчанию.

Файл-заглушка DNS содержит локальную заглушку 127.0.0.53 в качестве единственного DNS-сервера и перенаправляется в файл /etc/resolv.conf, который использовался для добавления серверы имен, используемые системой.

Если вы запустите следующую команду ls в файле /etc/resolv.conf, вы увидите, что этот файл является символической ссылкой на /run/systemd/resolve/stub-resolv.conf< /стронг> файл.

ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

К сожалению, поскольку /etc/resolv.conf косвенно управляется службой systemd-resolved, а в некоторых случаях и сетевой службой (с помощью initscripts< или NetworkManager), любые изменения, внесенные пользователем вручную, не могут быть сохранены навсегда или действуют только некоторое время.

В этой статье мы покажем, как установить и использовать программу resolvconf для установки постоянных DNS-серверов имен в файле /etc/resolv.conf в Debian . и Ubuntu дистрибутивы Linux.

Зачем вам нужно редактировать файл /etc/resolv.conf?

Основная причина может заключаться в том, что настройки DNS системы настроены неправильно или вы предпочитаете использовать определенные серверы имен или свои собственные. Следующая команда cat показывает сервер имен по умолчанию в файле /etc/resolv.conf в моей системе Ubuntu.

cat /etc/resolv.conf

В этом случае, когда локальные приложения, такие как менеджер пакетов APT, пытаются получить доступ к полным доменным именам (полным доменным именам) в локальной сети, результатом будет сообщение « Временная ошибка разрешения имени », как показано на следующем снимке экрана.

То же самое происходит, когда вы запускаете команду ping.

ping google.com

Поэтому, когда пользователь пытается вручную настроить серверы имен, изменения сохраняются недолго или отменяются после перезагрузки. Чтобы решить эту проблему, вы можете установить и использовать утилиту reolvconf, чтобы изменения стали постоянными.

Чтобы установить пакет resolvconf, как показано в следующем разделе, вам необходимо сначала вручную настроить следующие серверы имен в файле /etc/resolv.conf, чтобы иметь доступ FQDM серверов репозитория Ubuntu в Интернете.

nameserver 8.8.4.4
nameserver 8.8.8.8

Читайте также: как настроить локальный DNS с помощью файла /etc/hosts в Linux

Установка resolvconf в Ubuntu и Debian

Сначала обновите пакеты системного программного обеспечения, а затем установите resolvconf из официальных репозиториев, выполнив следующие команды.

sudo apt update
sudo apt install resolvconf

После завершения установки resolvconf systemd инициирует автоматический запуск и включение resolvconf.service. Чтобы проверить, работает ли он, введите следующую команду.

sudo systemctl status resolvconf.service

Если служба по какой-либо причине не запускается и не включается автоматически, запустить и включить ее можно следующим образом.

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Установите постоянные DNS-серверы имен в Ubuntu и Debian

Затем откройте файл конфигурации /etc/resolvconf/resolv.conf.d/head.

sudo nano /etc/resolvconf/resolv.conf.d/head

и добавьте в него следующие строки:

nameserver 8.8.8.8 
nameserver 8.8.4.4

Сохраните изменения и перезапустите resolvconf.service и systemd-resolved или перезагрузите систему.

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

Теперь, когда вы проверите файл /etc/resolv.conf, записи сервера имен должны храниться там постоянно. Отныне вы не столкнетесь с какими-либо проблемами, связанными с разрешением имен в вашей системе.

Я надеюсь, что эта краткая статья помогла вам настроить постоянные DNS-серверы имен в ваших системах Ubuntu и Debian. Если у вас есть какие-либо вопросы или предложения, поделитесь ими с нами в разделе комментариев ниже.