前提
AlmaLinux(CentOS 7/8)環境で、NetworkManagerを使っている。
サーバーが参照するnameserverをGoogleのPublic DNSに変更しようと、/etc/resolv.confを手動で直接書き換えたが、気づいたら元に戻っているという事象が発生。
NetworkManagerを使っている場合、特定のタイミングでNetworkManagerが/etc/resolv.confを再生成してしまうらしい。
[root@ruka ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 210.188.224.10
nameserver 210.188.224.11
[root@ruka ~]# vi /etc/resolv.conf (←ここで、8.8.8.8 8.8.4.4に書き換え)
[root@ruka ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
[root@ruka ~]# systemctl restart NetworkManager
[root@ruka ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 210.188.224.10
nameserver 210.188.224.11
対策・nmcliコマンドを使ってnameserverを設定する
nmcli deviceでデバイスの確認。
私の環境ではens3はインターネット・ens4はイントラネットと接続しているので、ens3に対してnmcliコマンドを実行する。
[root@ruka ~]# nmcli device
DEVICE TYPE STATE CONNECTION
ens3 ethernet 接続済み System ens3
ens4 ethernet 接続済み System ens4
nmcli connection modify ens3 ipv4.dns "8.8.8.8"
でnameserverの変更を行うが、実行するとエラーが表示された。
[root@ruka ~]# nmcli connection modify ens3 ipv4.dns "8.8.8.8"
エラー: 不明な接続 'ens3'.
ens3が正しい接続名として処理されていないようなので、ifcfg-ens3
にNAME="ens3"
を追加する。
[root@ruka ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens3
NAME="ens3" を末尾に追加
設定を反映のためNetworkManagerを再起動。
[root@ruka nginx]# systemctl restart NetworkManager
nmcli device
で「CONNECTION」がSystem ens3
からens3
に変わっているのを確認。
[root@ruka ~]# nmcli device
DEVICE TYPE STATE CONNECTION
ens3 ethernet 接続済み ens3
ens4 ethernet 接続済み System ens4
nmcli connection modify ens3 ipv4.dns "8.8.8.8"
でnameserverを変更。コマンド実行時にエラーが表示されなければ設定はOK。
また、既存のnameserverに「追加」をしたい場合は、ipv4.dns
の前に+
を追加する(+ipv4.dns
)
最後に、nmcli connection up ens3
で設定を反映する。
[root@ruka ~]# nmcli connection modify ens3 ipv4.dns "8.8.8.8"
[root@ruka ~]# nmcli connection modify ens3 +ipv4.dns "8.8.4.4"
[root@ruka ~]# nmcli connection up ens3
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/4)
cat /etc/resolv.conf
で8.8.8.8と8.8.4.4になっていることを確認し、問題がなければ完了。
[root@ruka ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search app
nameserver 8.8.8.8
nameserver 8.8.4.4
コメント