見出し画像

/etc/resolv.confに固定のネームサーバアドレスを設定する方法

原因はわかりませんが、最近、検索するネームサーバーのアドレスが勝手に書き換わってしまい外部に接続できなくなることが頻繁に起るようになりました。

Linux(Unix)では、決まったDNSのアドレス(例えば192.168.1.1)に問い合わせするようにするには、/etc/resolv.confにnameserver 192.168.1.1と直接書き込めば良いのですが、最近では、NetworkMangerがresolve.confを定期的に書き換えていて、resolve.confにネームサーバーのアドレスを直接書いても消えてしまうようです。

なので、NetworkManagerに固定的なアドレスを設定する必要があるようです。

GUIが使える状況なら、NetworkManagerのGUIを使って設定すればOKなのですが、OSのインストール中などでGUIが使えない場合もあるので、コマンドラインで設定する方法も知っていると便利です(というか、実際にそのような状況になってしまい、そのときのメモです)。

nmcliを使って下記の手順で設定できました。

まず、nmcli deviceでネットワークデバイスのリストを表示。

> nmcli device
DEVICE   TYPE      STATE            CONNECTION 
eth0     ethernet  接続済み         有線接続 1 
lo       loopback  接続済み (外部)  lo 

設定したいCONNECTION名に対して、ネームサーバーのアドレスを下記のように設定する。

> sudo nmcli connection modify "有線接続 1" ipv4.dns "192.168.1.1"

NetworkManagerを再起動する。

> sudo systemctl restart NetworkManager


この記事が気に入ったらサポートをしてみませんか?