11.1. DHCPの設定
11.1.1. dhcpdの設定
DHCPサーバにはdhcpdが、DHCPクライアントにはdhclient,pump,dhcpcdが利用される。
dhcpdの設定はdhcpd.confで行う。
| 項目 | 説明 | 
|---|---|
| option domain-name | ドメイン名 | 
| option domain-name-servers | DNSサーバ | 
| option routes | DGWのIPアドレス | 
| option subnet-mask | サブネットマスク | 
| option broadcast-address | ブロードキャストアドレス | 
| option ntp-servers | NTPサーバのIPアドレス | 
| option nis-domain | NISドメイン名 | 
| option nis-servers | NISサーバのIPアドレス | 
| option netbios-name-servers | WINSサーバのIPアドレス | 
| default-lease-time | DHCPクライアントが期限を求めない場合のデフォルトリース期間 | 
| max-lease-time | DHCPクライアントが上限を求めた場合の最大リース期間 | 
| range [dynamic-bootp] | クライアントに割り当てるIPアドレス範囲 | 
| host | クライアントで固定IPアドレスを使用 | 
| fixed-address | 固定で割り当てるIPアドレス | 
| hardware | クライアントを特定するためのMACアドレス | 
dhcpdの設定例は以下の通り、サブネットごとに設定を記述する。
subnet 192.168.0.0 netmask 255.255.255.0 {
    option routers 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option nis-domain "example.net";
    option domain-name "example.net";
    option domain-name-servers 192.168.1.1, 192.168.2.1;
    option ntp-servers 192.168.1.1;
    option netbios-name-servers 192.168.1.1;
    range 192.168.0.128 192.168.0.254;
    defaut-realse-time 21600;
    max-lease-time 43200;
    host hostmachine1 {
        hardware ethernet 01:23:34:2A:89:0A;
        fixed address 192.168.0.100;
    }
}サブネット毎の設定
サブネットごとに割り当てるIPアドレス範囲や特定のマシンに固定IPアドレスを割り当てる設定を行う。
固定IPアドレスの割り当てはMACアドレスで識別を行う。
リース期間
リース期間はIPアドレスをクライアントに貸し出す期間のこと。
指定は秒数で指定する。
なおdhcpdが貸し出しているIPアドレスはdhcpd.leasesに記録される。
作成はtouch /var/lib/dhcop/dhcpd.leaseなどで行える。
11.1.2. DHCPクライアントの設定
クライアント側でDHCPを有効にするには設定を行う必要がある。
またdhclientコマンドでもIPアドレスの取得が可能。
RedHat系の場合
/etc/sysconfig/network-scripts/ifcfg-eth0などで以下のように設定する。
BOOTPROTO=dhcpDebian系の場合
/etc/network/interfacesなどで以下のように設定する。
iface eth0 inet dhcp11.1.3. DHCPリレーエージェント
DHCPリレーエージェントは異なるネットワーク間でDHCPサーバを利用する際に設定するプログラムのこと。
使用するデーモンはdhcrelay。
設定例ではIPアドレスが172.16.0.2のDHCPサーバにeth1で受け取ったDHCPリクエストをリレーする設定例。
dhcrelay -i eth1 172.16.0.211.1.4. IPv6アドレスの自動設定
IPv6の場合はDHCPを使わずにIPアドレスの自動設定ができる。
これはIPv6の仕組みが以下のようになっているからである
- IPv6クライアントはIPv6ルータにルータ要請(RS)を送信
- IPv6ルータはルータ通知(RA)をIPv6クライアントに返送
- IPv6クライアントはルータ情報(prefix)と自身のMACアドレスから生成されるインターフェースIDよりIPv6アドレスを生成する
LinuxではradvdパッケージによりRAを送信できるようにすることができる。
設定ファイルは/etc/radvd.confとなり以下のように記述する。
inteface eth0 {
    AdvSendvert on; #RAの定期的送信の有効化
    prefix 2001:db8:0:1::/64; #ローカルアドレス
}