next up previous contents
Next: dhcpd.leases Up: 設定ファイル Previous: 設定ファイル

dhcpd.conf

DHCP では、クライアントに色々な情報を提供します。通常、この情報は設定 ファイルに書いておかなければなりません。ここでは簡単な dhcpd.conf の 例を示します。詳しくは、man で dhcpd.conf を参照して下さい。


# configuration file for ISC DHCPD

option domain-name "summer01.wakhok.ac.jp";
option domain-name-servers pc2f001.summer01.wakhok.ac.jp;

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100 192.168.0.150;
    option routers 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.0.255;
    option netbios-name-servers 192.168.0.1;
    option netbios-dd-server 192.168.0.1;
    option netbios-node-type 8;
    default-lease-time 600;
    max-lease-time 7200;
}

  1. option domain-name
    ドメイン名を書く。 最初に書いたオプション(グローバルなオプション)は、オーバーライドしない限り デフォルト設定となる。

  2. option domain-name-server
    DNS サーバを書く。名前解決出来ない場合には、IP アドレスを書く事も出来るが、 名前で書く方が良いだろう。

  3. subnet x.x.x.x netmask x.x.x.x
    単一のサブネットに対して提供する場合の書き方。一つの物理セグメントに複数の ネットワークがシェアされている場合には shared-network の中で定義しなければ ならないが、ここでは省略する。subnet の後ろには、サブネットワーク部を 書く。netmask はサブネットマスクがある場合にはそれも含めて書く。 以下、{} で囲まれた部分に書かれた記述は、全てこの サブネットについてのみ適用される。グローバルなオプションもここに書けば、 オーバーライドされる。

  4. range
    クライアントに動的にIPアドレスを貸し出す場合に利用するIP アドレスの範囲を指定 することで、 この範囲のIPアドレスのみを貸し出す。
    
           range A  B:
    
    とした場合、A から B までの IP アドレスがクライアントに順に提供される。 提供されている IP アドレスは、dhcpd.leases に記録される。

  5. option routers
    ルータのアドレスを指定する。

  6. option subnet-mask
    クライアントに与えるサブネットマスクを指定する。

  7. broadcast-address
    クライアントに与えるブロードキャストアドレスを指定する。

  8. netbios-name-servers
    CIFSを用いている場合で、WINSサービスを利用している場合に用い、 WINS サーバのアドレスを与える。 このアドレスが、Samba サーバである場合には、Samba 側で WINS オプションを on にする必要がある。

  9. netbios-dd-server
    CIFSを用いている場合のサーバを指定しておく。 通常は、netbios-name-servers と同じにしておいて良い。

  10. default-lease-time
    標準の IP 貸し出し時間。クライアントがDHCPREQUESTを出さない場合には この時間が貸し出し期間になる。(秒単位)

  11. max-lease-time
    最大の IP 貸し出し時間。クライアントからのDHCPREQUESTによって 貸し出し時間が延長されている場合でもこの時間は越えられない。

    重要

    DHCPでIPを貸し出す場合に対象が何かによって、この項目と前の default-lease-time の時間を良く考えなければならない。実際、 最低 max-lease-time の時間は(実際にはこの時間より長く見積 もっているだろうから)貸し出したIPを回収出来ないという事 になるのであるから、情報コンセントなどの多数が短い時間に利用する ような場合には短く設定し、常設のクライアントなどの場合には長く 設定すれば良いであろう。間違っても、未回収IPが多数のために、 IP pool が不足するような事態に陥ってはいけない。

その外、指定した MAC アドレスに対してのみ、IP アドレスを与える場合の 書き方もあります。


# configuration file for ISC DHCPD

option domain-name "summer01.wakhok.ac.jp";
option domain-name-servers pc2f001.summer01.wakhok.ac.jp;

subnet 192.168.0.0 netmask 255.255.255.0 {
    option routers 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.0.255;
    option netbios-name-servers 192.168.0.1;
    option netbios-dd-server 192.168.0.1;
    option netbios-node-type 8;
    default-lease-time 600;
    max-lease-time 7200;
    host testm {
        hardware ethernet 00:A0:B0:0A:8C:C3;
        fixed-address 192.168.0.100;
        option host-name "testm";
    }
}

この場合、MAC アドレス 00:A0:B0:0A:8C:C3 のマシンに対してのみ 静的に IPアドレスを割り当てます。 IP は 192.168.0.100 を割り当て、更にそのホストが 受け入れ可能であればホスト名 "testm"を割り当てます。 グローバル、あるいはsubnet scope に use-host-decl-names on; を書けば、このオプションがなくても host [host-name] {で指定 したhost-nameが割り当てられます(FreeBSDの場合、クライアントプログラム もISCの dhclient を利用しているので、全く問題はないのですが、 Windowsは出来ません)。 その他の オプションはグローバル及び subnet に書かれたものを適用します。複数のマシンに 対して割り当てたい場合には、host xxx { } をマシンの数だけ 記述すれば良いでしょう。(range と併用することもできます。この 場合は、先に host が調べられ該当しなければ動的に IP を割り当てます。)

その他にも、多くのオプションフィールドがDHCPにはあり、NISのドメイン名も 渡せるようにはなっていますが、クライアントプログラムの問題で全てが受けとれない 場合もあります(特に、Windowsではワーニングが出るようです)。

但し、dhcpd.conf を変更した場合には、必ず dhcpd を kill してから再スタート させなければならない事を忘れないで下さい。 ISC dhcpd は、kill -HUP には対応していないのです。



Noriyo Kanayama