目次
長らくDNSの設定はresolver.confが使用されてきたが、CentOS7系からはインターフェイス設定の中に書き込む方式となり、NetworkManagerの管理下に置かれた。resolver.conf自体は残されているが、NetworkManagerにより上書きされる構造となっている。
しかしながら、名前解決の仕組みはOS全体で共通化されることからインターフェイス毎に異なるDNSを使うことは無く、複数のインターフェイスを持つシステムにおいては設定が分散する原因ともなるため、甚だ不合理な構造であると思われる。
従来通りのresolver.confのみを使用する方式に変更するには、以下の手順にてNetworkManagerの上書きを抑制することで実現できる。
1. 以下の設定を追加する
[main] 【追記】dns=none
2. 既存設定を削除する
# cat /etc/sysconfig/network-scripts/ifcfg-* | grep "DNS" → DNS[n]=[IP]の行を全て削除する
3. NetworkManagerを再起動する
# systemctl restart NetworkManager
4. resolv.confにDNS設定を記入
5. OSを再起動
6. resolv.confの中身が書き換わらないことを確認する
sed -i.bak "s/\[main\]/\[main\]\ndns=none/g" /etc/NetworkManager/NetworkManager.conf