Plamo のデフォルトでは DHCP クライアントが動かない件、あらためて、/etc/dhclient.conf を詳しく見てみようと思います。
01初期状態の dhclient.conf
初期状態ではこうなっています。
send host-name = pick-first-value(gethostname(), "ISC-dhclient"); send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; send dhcp-lease-time 3600; supersede domain-search "fugue.com", "home.vix.com"; prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name; require subnet-mask, domain-name-servers; timeout 60; retry 60; reboot 10; select-timeout 5; initial-interval 2; script "/sbin/dhclient-script"; media "-link0 -link1 -link2", "link0 link1"; reject 192.33.137.209; alias { interface "ep0"; fixed-address 192.5.5.213; option subnet-mask 255.255.255.255; } lease { interface "ep0"; fixed-address 192.33.137.200; medium "link0 link1"; option host-name "andare.swiftmedia.com"; option subnet-mask 255.255.255.0; option broadcast-address 192.33.137.255; option routers 192.33.137.250; option domain-name-servers 127.0.0.1; renew 2 2000/1/12 00:00:01; rebind 2 2000/1/12 00:00:01; expire 2 2000/1/12 00:00:01; }
これじゃ、つながらないですよね。これ、example ですね。
02マニュアルを見て、不必要な行をコメントアウトする
で、あらためて、Man page を見てますと、まず、
クライアントのタイミング動作は、ユーザが設定する必要はありません。 ユーザがタイミング設定を行わなければ、 サーバに無秩序に負荷を与えたりせず適時更新を行うような、 充分に適切なタイミング動作がデフォルトで用いられます。
とありますので、timeout
から initial-interval
まではコメントアウトしていいですね。
続いて send 文は、
send 文を指定することで、クライアントは、 指定したオプションを指定した値でサーバに送信するようになります。 ここで指定できるオプションは、 dhcp-options(5) で説明されているオプション宣言すべてです。 DHCP プロトコルで常に送られるオプションは ここに指定するべきではありません。
とありますので、これもコメントアウトします。
次の supersede domain-search
と prepend domain-name-servers
は、/etc/resolv.conf
の search
行と nameserver
行に追加されます。コメントアウトでいいですね。
request
と require
は、その意味通りで、DHCPサーバに対して指定したオプションの値をくださいと要求し、少なくとも require
以下のオプション値がないと接続できません、ということだと思います。
media
, reject
は、ローカルネットワークの場合に必要とも思えませんのでコメントアウトします。詳しくはマニュアルをお読みください。
alias
, lease
については、理解が追いつきませんが、必要とも思えませんのでコメントアウトします。
で、結局、こうなりました。
03dhclient.conf 完成形
request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name; require subnet-mask, domain-name-servers; script "/sbin/dhclient-script";
(2016/8/5)require 行があるとうまくいかないです。コメントアウトしたほうがよさそうです。
04結局、dhclient.conf はなくてもいい
ただし、Man page の最後、example ファイルの後にこうあります。
これ(example)は dhclient.conf ファイルとしては非常に複雑なものです。一般に、 皆さんが使用するものははるかに簡単なはずです。多くの場合、dhclient.conf ファイルとして空のファイルを生成するだけで十分なはずです。 つまり、デフォルト値でよいのが普通です。
つまり、dhclient.conf ファイルはなくてもいいということになります。実際、なくても ipアドレスは取得されます。
であるなら、初期ファイルは空にしておいてほしいですね。