Personal tools
You are here: Home サーバ設定 DHCP DHCP(dhclient)使用時に/etc/resolv.confを書き換えない設定
Document Actions

DHCP(dhclient)使用時に/etc/resolv.confを書き換えない設定

by tamohiko last modified 2007-06-03 23:05

DHCPサーバからIP情報をもらっても、/etc/resolv.confを書き換えないようにする方法。

検証環境

OS:CentOS4.4

dhclient使用時の/etc/resolv.conf

dhcpサーバからクライアントとしてipアドレスをもらっていると、DHCPサーバが DNSサーバの情報を送信していると、dhclientが勝手に/etc/resolv.confを 書き換えてしまいます。通常は問題ないと思いますが何らかの理由で/etc/resolv.conf書き換えてほしくない 場合の対処方法です。

dhclient使用時

dhclientでip情報をDHCPサーバから取得している場合の/etc/resolv.confをcatで見てみます。

$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search localdomain
nameserver 192.168.85.2

dhclientが/etc/resolv.confを書き換えていることがわかると思います。

設定変更

では、早速dhclientが/etc/resolv.confを書き換えないようにする設定を 行って行きたいと思います。

現状のNICの設定ファイルは以下のような感じで、DHCPでIPアドレス情報もらうように 設定してあります。
※今回はeth0の場合を例としています。

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
設定追加

念のためにバックアップをとってから編集していきます。
※バックアップするときは、ファイル名に気をつけてください。 最初にifcfgとあるとそのファイルをNICの設定ファイルとして読みに行ってしまうので ファイルの頭を日付にする等してください。

# cd /etc/sysconfig/network-script
# cp -p ifcfg-eth0 yyyymmdd_ifcfg-eth0
# vi ifcfg-eth0

設定事態はものすごく簡単で、NICの設定ファイルである
/etc/sysconfig/network-script/ifcfg-eth0に以下の一行を追加するだけです。

追加設定

PEERDNS=no

設定ファイル確認

設定が完了したファイルは以下のような感じになっているます。

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
PEERDNS=no

resolv.conf設定変更

NICの設定が終わったら、今度は/etc/resolv.confを編集します。

とりえず今回は以下のようにresolv.confを編集してみました。

$ cat /etc/resolv.conf
search server-memo.net
nameserver 127.0.0.1
動作確認

サーバの再起動を行って、再度DHCPからIP情報もらっても/etc/resolv.confが 書き換わらないことを確認します。

$ cat /etc/resolv.conf
search server-memo.net
nameserver 127.0.0.1

おまけ

ちなみにPEERDNS=noをはずしてサーバをリブートすると こんな感じで書き換わり、最初に確認したとおりにとなりました。

$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search localdomain
nameserver 192.168.85.2

以上です。

 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: