【Plamo6.1】 dhclient.conf が少し分かりました。

【Plamo6.1】 dhclient.conf が少し分かりました。

Plamo のデフォルトでは DHCP クライアントが動かない件、あらためて、/etc/dhclient.conf を詳しく見てみようと思います。

初期状態の 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 ですね。

マニュアルを見て、不必要な行をコメントアウトする

で、あらためて、Man page を見てますと、まず、

クライアントのタイミング動作は、ユーザが設定する必要はありません。 ユーザがタイミング設定を行わなければ、 サーバに無秩序に負荷を与えたりせず適時更新を行うような、 充分に適切なタイミング動作がデフォルトで用いられます。

とありますので、timeout から initial-interval まではコメントアウトしていいですね。

続いて send 文は、

send 文を指定することで、クライアントは、 指定したオプションを指定した値でサーバに送信するようになります。 ここで指定できるオプションは、 dhcp-options(5) で説明されているオプション宣言すべてです。 DHCP プロトコルで常に送られるオプションは ここに指定するべきではありません。

とありますので、これもコメントアウトします。

次の supersede domain-searchprepend domain-name-servers は、/etc/resolv.confsearch 行と nameserver 行に追加されます。コメントアウトでいいですね。

requestrequire は、その意味通りで、DHCPサーバに対して指定したオプションの値をくださいと要求し、少なくとも require 以下のオプション値がないと接続できません、ということだと思います。

media, reject は、ローカルネットワークの場合に必要とも思えませんのでコメントアウトします。詳しくはマニュアルをお読みください。

alias, lease については、理解が追いつきませんが、必要とも思えませんのでコメントアウトします。

で、結局、こうなりました。

dhclient.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 行があるとうまくいかないです。コメントアウトしたほうがよさそうです。

結局、dhclient.conf はなくてもいい

ただし、Man page の最後、example ファイルの後にこうあります。

これ(example)は dhclient.conf ファイルとしては非常に複雑なものです。一般に、 皆さんが使用するものははるかに簡単なはずです。多くの場合、dhclient.conf ファイルとして空のファイルを生成するだけで十分なはずです。 つまり、デフォルト値でよいのが普通です。

つまり、dhclient.conf ファイルはなくてもいいということになります。実際、なくても ipアドレスは取得されます。

であるなら、初期ファイルは空にしておいてほしいですね。