CentOS6を利用している環境下で、/etc/resolv.confの記述した内容が消えてしまい サーバ本体で、外部に対し名前解決が失敗する。
なぜだ?
サーバを再起動するとせっかく書いた/etc/resolv.confファイルの中身がきえてしまい、サーバから外部に対し名前解決ができなく
なってしまう。
デフォルトの中身(/etc/resolv.confの中身)
# Generated by NetworkManager
search foo.com
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
(PEERDNS=noにしろ、というのが一般的だが、直る気配がない)。
↑
問題の解消方法 †
/etc/sysconfig/network-scripts/ifcfg-ethX ※ethX は任意のネットワークインターフェースを編集することにより解消。
詳細な手順は、以下のwikiへ記載をしました。
Cent OS6でresolv.confが勝手に書き換わる
久しぶりにはまりました。
名前解決ができないと、wgetコマンドでのファイルのダウンロード等ができなくなりものすごくトラブルになるので、
問題が解消できてよかったです。
サーバー用途などのIP固定運用でいいならNetworkManagerサービスを止めてしまうのもひとつの手です。
# chkconfig NetworkManager off
# service NetworkManager stop
DHCPを使ったりする環境(繋がるネットワークによってDNSサーバーが変わる環境)ではNetworkManagerサービスがこの動きに逆に感謝です。
>>猫おやじさん
コメントありがとうございます!!
ご指摘のとおり、NetworkManagerも止める方法もあるんですね。
# chkconfig –list | grep -i “NetworkManager”
をしてみたら、runlevel 3 で起動しておりました。
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ご指摘ありがとうございます。