/etc/resolv.confのnameserverを変更する

AlmaLinux

前提

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-ens3NAME="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

コメント

タイトルとURLをコピーしました