私は最近、技術的に長い間私を悩ませていた問題に直面しました。私のFedora 32 DNS設定は未知の/etc/resolv.conf
アプリケーションによって引き続き修正されます。変更された構成は次のとおりです。
[dolphin@MiWiFi-R4CM-srv]~/Documents/GitHub/reddwarf-music% sudo cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.31.1
nameserver 8.8.8.8
nameserver 114.114.114.114
私が欲しいdnsconfは次のようになります。
nameserver 8.8.8.8
私はちょうど8.8.8.8
DNSが欲しい。変更すると/etc/resolv.conf
誤った設定になります。 DNS設定を制御するにはどうすればよいですか?
答え1
これを書く/etc/NetworkManager/NetworkManager.conf
[main]
dns=none
/etc/resolv.conf
NetworkManagerがそれ自体で管理されていないものと認識しているプログラム(、およびunbound
)dnsmasq
でsystemd-resolved
マークされているため、変更されていません。のman NetworkManager.conf
次のセクションMain
とキーdns
none: NetworkManager will not modify resolv.conf. This implies rc-manager unmanaged
または、必要なDNSサーバーに設定してsystemd-resolved
編集することもできます。/etc/systemd/resolved.conf
[Resolve]
DNS=192.162.0.1, 9.9.9.9 # Whatever DNS server IP addresses you want, comma separated.
FallbackDNS=8.8.8.8, 1.1.1.1 # Same as above.
systemd-resolved.service
後でアクティブにすることを忘れないでください。
答え2
本当の答えは chattr
はい、NetworkManagerがこのファイルを変更できないようにすることができます。しかし、他のアプリケーションやプロセスはどうですか?ファイルの変更を防ぎます。
chattr +i file
ファイルを再度変更できるようにする:
chattr -i file
答え3
dhcpcd.conf
マニュアルページによると、
nohook script
Don't run this hook script. Matches full name, or prefixed with 2 numbers optionally ending with .sh.
So to stop dhcpcd from touching your DNS settings or starting wpa_supplicant you would do:-
nohook resolv.conf, wpa_supplicant
だからあなたのものに追加しますdhcpcd.conf
(私のものがあります/etc/dhcpcd.conf
):
nohook resolv.conf
dhcpcd
あるいは、willを使用して実行すると-C
同じことが行われますが、一時的にのみ実行されます。
dhcpcd -C resolv.conf eth0