CentOS 6.5をインストールし、次のファイルを構成しました。
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=aa:bb:dd:dd:ee:ff
TYPE=Ethernet
UUID=adfddfaf-9sda-adse-dfs4-asdfsdfdfg97
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.IM
NTPSERVERARGS=iburst
コンピュータを再起動すると、ifconfig eth0
にIPアドレスが表示されますが、resolv.conf
ファイルが空です。中に書かれているのはsearch IM
だけです。ファイルにnameservers
がリストされていません。
ただし、起動後にdhclient -r
を実行してIPアドレスを解放し、dhclient eth0
と入力してIPアドレスを取得すると、resolv.conf
にDNSネームサーバーが正しく入力されます。
構成ファイルからこれが自動的に行われないのはなぜですか? ifcfg-eth0
ファイルでdhcp
を有効にすると、これを処理できると思いました。
CentOSのドキュメントでは、NETWORKING=yes
を設定すると、ブート時にネットワークが開始されると記載されています。 http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-client html 。
どんな助けでもありがたいです。
NM_CONTROLLED=no
を設定してNetwork Managerデーモンを停止し、起動中に再起動しないようにします。
/sbin/service NetworkManager stop
/sbin/chkconfig NetworkManager off
次に、必要に応じて/etc/resolv.conf
ファイルを入力します。
それ以外の場合は、NM_CONTROLLED=yes
を設定し、NetworkManagerデーモンを実行したままにします。この場合、次のように、最大2つのDNSエントリをifcfg-eth*
ファイルに追加します。
DNS1=10.11.12.13
DNS2=10.11.12.14
DOMAIN=mydomain.net
これにより、/etc/resolv.conf
ファイルが入力されます。
NM-SETTINGS-IFCFG-RH ()
マンページから:
PEERDNS-initscriptsはPEERDNS = noを「never touch resolv.conf」を意味すると解釈します。 NetworkManagerは、「resolv.confに自動(DHCP、PPP、VPNなど)のネームサーバーを追加しないでください」と解釈します。
PEERDNS = yes行を特定の/ etc/sysconfig/network-scripts/ifcfg-ファイルに指定して、/ etc/resolv.confファイルを自動的に更新します。
PEERDNS=yes
さらに、もししないでくださいインターフェースをNetworkManagerで制御したい場合は、次の行を追加します。
NM_CONTROLLED=no
ただし、インターフェイスがNetworkManagerによって制御されているかどうかに関係なく、最初の行で十分です。