Остановить сетевой менеджер от обновления resolv.conf
Я изменил сервер имен в /etc/resolv.conf, но когда я подключил vpn в CentOS, сетевой менеджер перенес мой предыдущий DNS обратно в /etc/resolv.conf.
Я не хочу, чтобы сетевой менеджер добавлял DNS-серверы, полученные от DHCP, в мой /etc/resolv.conf.
Любое решение?
1 ответ
Способ "грубой силы" для предотвращения обновления файла в Linux может состоять в использовании chattr, например, вы можете сделать:
chattr +i /etc/resolv.conf
Удалить i - Immutable
атрибут, чтобы вы могли изменить файл снова запустить:
chattr -i /etc/resolv.conf
Другим способом может быть настройка /etc/NetworkManager/NetworkManager.conf
не изменять DNS:
[main]
dns=none
От мужчины:
dns
Set the DNS (resolv.conf) processing mode.
default: The default if the key is not specified. NetworkManager will update
resolv.conf to reflect the nameservers provided by currently active connections.
dnsmasq: NetworkManager will run dnsmasq as a local caching nameserver, using a "split
DNS" configuration if you are connected to a VPN, and then update resolv.conf to point
to the local nameserver.
none: NetworkManager will not modify resolv.conf.
Установка dns=none
все еще может позволить сетевому менеджеру что-то сломать - если DOMAIN также указан в ifcfg-файле, NM по-прежнему будет записывать файл, но пропускает любые dns:es вместо этого рекомендует установить следующее в разделе [main]:
rc-manager=unmanaged
это говорит диспетчеру сети не трогать /etc/resolv.conf
вообще по документации
Я прочитал несколько страниц stackru, на которых рекомендуется установить rc-manager=unmanaged вместо dns=none. Я просто хотел указать на следующую документацию со страницы руководства относительно dns=none.
нет: NetworkManager не будет изменять resolv.conf. Это означает, что rc-manager неуправляемый.