Файл /etc/resolv.conf удаляется при каждой перезагрузке, почему или что?

С новым bash вы можете использовать расширение фигурных скобок в форме {a..z} :

i=1; for f in file{a..z}; do mv "$f.csv" "${f%?}$((i++)).csv"; done
6
13.04.2017, 15:36
10 ответов

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

Чтобы обойти это, вы можете создать /etc/resolv.conf.head (или .tail в зависимости от того, в какой конец файла вы хотите добавить) и вставить желаемые пользовательские настройки (обычно изменяется сервер имен ). Затем содержимое этого файла добавляется автоматически, когда /etc/resolv.conf создается NetworkManager (или какой-либо другой службой, отвечающей за файл в вашей системе).

7
27.01.2020, 20:27

Вероятно, NetworkManager настраивает resolve.conf . если вы этого не хотите, измените параметр rc-manager в NetworkManager.conf. См. man NetworkManager.conf .

0
27.01.2020, 20:27

Чтобы предотвратить resolv.conf для обновления во время загрузки необходимо внести следующие изменения:

Изменить PEERDNS = yes на PEERDNS = no

PEERDNS = no

Это запретит сетевой службе обновлять /etc/resolv.conf с DNS-серверами, полученными от DHCP-сервера.

упоминается в @Ipor Sircer комментарий

0
27.01.2020, 20:27

Думаю, вы были правы.

Теперь у меня работает, но я не:

dns=none

на:

/etc/sysconfig/network-scripts/ifcfg-enp0s31f6

После перезапуска диспетчера сети он автоматически создал разрешение:

sudo service NetworkManager restart

Я перезагрузил компьютер, и он все еще работал.

2
27.01.2020, 20:27

Пробовали ли вы сделать файл resolv.conf неизменяемым после добавления любого содержимого?.

Вы можете использовать chattr +i /etc/resolv.confили с sudo.

Делая это, мы избегаем перезаписи.

Если он не будет удален, он может дать первоначальную информацию.

-2
27.01.2020, 20:27

У меня возникла та же проблема, когда я сегодня установил Debian 9.5 с графическим интерфейсом. У меня нет этой проблемы, когда я устанавливаю его без графического интерфейса. Наконец, я нашел решение по этой ссылке https://wiki.debian.org/resolv.conf. DHCP запустился автоматически, даже если я установил сеть вручную при его установке. Вы должны отключить DHCP, чтобы решить эту проблему.

echo 'make_resolv_conf() { :; }' > /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone
chmod 755 /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone

Если это не решит вашу проблему, я добавил новую строку в файл DHCP-клиента.

vi /etc/dhcp/dhclient.conf

prepend domain-name-servers 127.0.0.1;

Затем я удаляю пакеты resolvconf и network -manger.

apt-get --purge remove resolvconf network-manager

Наконец, если проблема не устранена, необходимо настроить файл resolv.conf, а затем заблокировать этот файл с помощью следующей команды. (Это не работает, если ваш resolv.conf является символической ссылкой.)

chattr +i /etc/resolv.conf
0
27.01.2020, 20:27

Сначала вы должны убедиться, что resolvconf serviceактивно.

sudo service resolvconf status   

Active: active (exited) since

Если служба activeудалитьresolvconf:

sudo apt-get purge resolvconf

Затем, если после удаления или это не активно или служба не найдена:

sudo apt-get update
sudo apt-get install resolvconf

Затем перезапустите службу:

sudo service resolvconf restart

теперь см./etc/resolv.conf:

cat /etc/resolv.conf 

Должен существовать:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN # 127.0.0.53 is the systemd-resolved stub resolver. # run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.1

0
27.01.2020, 20:27

«Вы пытались настроить файл resolv.conf на неизменяемость после размещения любого содержимого, которое вы хотите?».

почти уверен, что это мешает файлу /etc/dhcp/dhclient.conf выполнять свою работу, и ваш DNS все равно никогда не разрешится. В лучшем случае это расстраивает, а в худшем зависает, поскольку ваш компьютер постоянно пытается запустить этот файл и установить соединение. Я думаю, что ключ находится в редактировании «/etc/dhcp/dhclient.conf» вместо непосредственного resolv.conf, так как это файл, который записывается в resolv.conf при перезагрузке.

1
27.01.2020, 20:27

У меня была такая же проблема на

Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster .

В своей системе я использую dnsmasq по нескольким причинам.

Поэтому DNS для системных приложений — это локальный хост, также известный как 127.0.0.1.

Затем в dnsmasq я перенаправляю некоторые запросы на внешние преобразователи DNS, а некоторые разрешаю локально.

Короче:

Поскольку я использовал статические настройки IP для своей сетевой карты, в графическом интерфейсе NetworkManager не было настроек для DNS-серверов.

Поэтому файл resolv.conf не создавался.

Хотя большинство сервисов работали, некоторые не работали.

Чтобы заставить работать ВСЕ службы, нужно было ввести 127.0.0.1 в качестве DNS-сервера в графическом интерфейсе NetworkManager и перезапустите эту службу.

С уважением.

0
10.01.2021, 18:09

Для меня в Debian 10 это было connman. Действительно:`

$> ls -l /etc
.... 
resolv.conf -> /run/connman/resolv.conf 

Я отключил connman, удалил файл resolv.confи заново -создал его как обычный файл. После перезагрузки, наконец, он все еще там.

0
27.11.2021, 23:26

Теги

Похожие вопросы