NetworkManagerによるresolv.confの自動生成を抑制する

NetworkManagerを有効にしている場合は、/etc/resolv.confがNetworkManagerの管理下にあるため、ファイルを編集してDNS関連の設定をしていたとしても、NetworkManagerを再起動したり、ホストを再起動した時にresolv.confが再生成されるため、これまでに記入した設定が上書きされて消えてしまうことになる。

resolv.confGenerated by NetworkManagerと記述されていることからもファイルが生成されたものであることが分かる。

cat /etc/resolv.conf
# Generated by NetworkManager
search example.com
nameserver 192.0.2.1

NetworkManagerの設定ファイルである/etc/NetworkManager/NetworkManager.confmainのセクションにdns=noneの設定を追加して、NetworkManagerを再起動することで、それ以降はresolv.confが自動に生成されなくなる。

vi /etc/NetworkManager/NetworkManager.conf
---
[main]
dns=none
---
systemctl restart NetworkManager

none: NetworkManager will not modify resolv.conf. This implies rc-manager unmanaged

NetworkManager.conf: NetworkManager Reference Manual

ネットワーク周りの設定を全てNetworkManagerで管理できていれば問題はないのかもしれないが、resolv.confを直接編集することでリゾルバの設定を細かく変えたいというような場合は、NetworkManagerがresolv.confを自動で生成しないように設定するとよいだろう。