MyTetra Share
Делитесь знаниями!
Что перезаписывает файл /etc/resolv.conf в Debian Linux?
Время создания: 04.09.2024 20:35
Текстовые метки: linux, debian, resolv.conf, меняет, изменяет, перезаписывает, сервис, сеть, dns, сервер, настройка
Раздел: Компьютер - Linux - Сеть в Linux
Запись: xintrea/mytetra_syncro/master/base/1725471325evn2j32rdp/text.html на raw.github.com

В очередной раз столкнулся с тем, что в Linux какой-то сервис автоматически меняет файл /etc/resolv.conf. Здесь записываются действия с попыткой разобраться, что (какой сервис, какая программа) изменяет файл /etc/resolv.conf.


* * *


Итак, вначале советуют попробовать понять, какие сетевые сервисы могут использоваться для настройки резолвинга DNS имен. Для этого рекомендуют выполнить команду:



systemctl list-units --type service | grep -i -e net -e resolv



В случае подопытной системы данная команда выдает:



networking.service

systemd-timesyncd.service



То есть, в системе нет сетевых менеджеров типа NetworkManager или WiCd, которые могли бы автоматически менять проблемный файл.


* * *


Говорят, что если в каком-то виде настроено PPP, то причина может быть в работе pppd. Чтобы исправить, надо найти переписываемый адрес DNS-сервера в файлах каталога /etc/ppp. Однако, сервиса ppp/pppd в системе не установлено, поэтому на него грешить тоже не имеет смысла.


* * *


Еще говорят, что файл /etc/resolv.conf могут изменять программы из пакета с названием resolvconf. Однако пакетная система показывает, что таковой пакет есть в репозитарии, но он не установлен.


* * *


Еще говорят, что если в /etc/network/interfaces какой-нибудь интерфейс имеет не фиксированный IP-адрес, а настроено получение сетевых настроек по DHCP, то в /etc/resolv.conf будет записываться тот адрес DNS-сервера (серверов), который отдает DHCP-сервер. Да, на подопытном компьютере стоит получение IP-адреса через DHCP. Выглядит это в файле /etc/network/interfaces так:



allow-hotplug ens3

iface ens3 inet dhcp



Проблема в том, что при соединении, в /etc/resolv.conf прописывается строка:



nameserver 192.168.88.1



Это IP-адрес домашнего роутера Mikrotik. Но на этом Микротике в секции DNS прописаныдругие IP-шники настоящих DNS-серверов:



8.8.8.8

77.88.8.8



И по-идее именно эти DNS-сервера должны отдаваться при DHCP соединении.


Однако, по другой информации, в DHCP-сообщения запихиваются не эти адреса, а адреса, прописанные в:



DHCP Server ->

Вкладка Network ->

Клик на строке с диапазоном адресов,

выделенного под обслуживание DHCP-сети ->

Строка DNS Servers.



А сам роутер выступает как промежуточный DNS-сервер.


Видимо, именно поэтому в /etc/resolv.conf попадает IP-адрес роутера 192.168.88.1.


* * *


На просторах интернета есть рекомендация, что если нужно жестко прописать на компьютере DNS-сервера, то правильнее всего это сделать путем изменения файла /etc/systemd/resolved.conf. Для этого, в нем надо разместить следующие строки:



[Resolve]
DNS=8.8.8.8, 77.88.8.8



И тогда обещают, что именно эти сервера будут всегда автоматически прописываться в файл /etc/resolv.conf, если, конечно, система управляется через systemd. Примерно так.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования