DHCPサーバ(dhcp-2.0pl5-6vl1)の設定
作成 : 2002/10/15
DHCPサーバを構築すると、クライアントPCにIPアドレスやサブネットマスク、DNSサーバアドレスを動的に付与することができるようになる。 DHCPクライアントにするには、dhcpcパッケージが必要になる。
dhcp-2.0pl5-6vl1のインストール
パッケージdhcp-2.0pl5-6vl1-i386.rpmをインストールする。
# rpm -qlp dhcp-2.0pl5-6vl1.i386.rpm /etc/rc.d/init.d/dhcpd /etc/sysconfig/dhcpd /usr/doc/dhcp-2.0pl5 /usr/doc/dhcp-2.0pl5/CHANGES /usr/doc/dhcp-2.0pl5/README /usr/doc/dhcp-2.0pl5/RELNOTES /usr/doc/dhcp-2.0pl5/dhcpd.conf.sample /usr/sbin/dhcpd /usr/sbin/dhcrelay /usr/share/man/man5/dhcp-options.5.gz /usr/share/man/man5/dhcpd.conf.5.gz /usr/share/man/man5/dhcpd.leases.5.gz /usr/share/man/man8/dhcpd.8.gz /usr/share/man/man8/dhcrelay.8.gz /var/lib/dhcp /var/lib/dhcp/dhcpd.leases # rpm -Uvh dhcp-2.0pl5-6vl1-i386.rpm Preparing... ########################################### [100%] 1:dhcp ########################################### [100%]
/etc/dhcpd.confの設定
次のように記述する。
default-lease-time 86400;
max-lease-time 259200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.250;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
option domain-name "nina.jp";
}
host static-host {
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.168.0.2;
}
default-lease-time: デフォルトのリース時間で、単位は秒。 86400(秒)なら1日。
max-lease-time: 最大リース時間で、単位は秒。 259200(秒)なら3日。
subnet X.X.X.X netmask X.X.X.X { }: ネットワークを定義。 サーバのNICが接続されるネットワークを記述。
range min_address max_address: クライアントに動的に割り当てるIPアドレスを定義。 min_addressからmax_addressの間を割り当てる。
option subnet-mask X.X.X.X: クライアントに付与するネットマスクを定義。
option broadcast-address X.X.X.X: クライアントに付与するブロードキャストアドレスを定義。
option routers X.X.X.X: クライアントに付与するゲートウェイアドレスを定義。
option domain-name-servers X.X.X.X: クライアントに付与するDNSサーバアドレスを定義。
option domain-name "XXXX": クライアントに付与するドメインを定義。
option netbios-name-servers X.X.X.X: クライアントに付与するWINSサーバアドレスを定義。
option netbios-node-type 1/2/4/8: クライアントに付与するWINSノードタイプを定義。 1:WINSを使用しない / 2:ブロードキャストを使用しない / 4:ブロードキャスト優先 / 8:WINS優先
host XXXX { }: ホストを定義。
hardware ethernet XX:XX:XX:XX:XX:XX: MACアドレスを指定。
fixed-address X.X.X.X: 指定されたMACアドレスクライアントに割り当てるIPアドレス。 rangeで記述した、動的に割り当てるIPアドレスと、重複しないようにする。
2枚のNICが設置されている場合の設定
DHCPサーバにNICが2枚設置されているばあい、このままDHCPサーバサービスを開始しようとすると、エラーになってしまう。
No subnet declaration for eth1 (192.168.1.0). Please write a subnet declaration in your dhcpd.conf file for the network segment to which interface eth1 is attached. exiting
上の例では、eth1インターフェースのネットワークがdhcpd.confに定義されていないため、エラーになっている。 エラーを避けるには、次の方法がある。
インターフェースの数だけネットワークを定義する
2枚のインターフェースに接続されている、両方のネットワークにDHCPサービスを提供したい場合は、/etc/dhcpd.confで2つのネットワークを定義する。
default-lease-time 86400;
max-lease-time 259200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.250;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
option domain-name "nina.jp";
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.250;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1;
option domain-name "nina.jp";
}
DHCPサービスを提供するインターフェースを指定する
一方のインターフェースがLAN、もう一方のインターフェースがWAN(またはDMZ)に接続されている場合は、DHCPサービスを提供するのはLAN側インターフェースだけでよい。 DHCPサービスを提供するインターフェースを指定するには、dhcpdデーモンを起動するとき、インターフェース名(eth0,eth1,...)をパラメータに指定する。 具体的にeth0インターフェースにDHCPサービスを提供するには、/etc/sysconfig/dhcpdファイルに、次のように記述する。
DHCPDARGS=eth0
ipchainsの設定
すべてのホストから67番ポートへの接続を許可するよう、ipchainsを設定する。詳細は、ipchainsの設定を見てね。 NICを2枚積んでいて、片方のネットワークにだけDHCPサービスを提供するなら、-iオプションでインターフェースを指定しておく。
-A input -s 0/0 -d 0/0 67 -p tcp -i eth0 -j ACCEPT
デスティネーションアドレス(-d)にホストIPアドレスを指定しないこと! クライアントはDHCPサーバを探すため、255.255.255.255:67宛にパケット(DHCPDISCOVER)を送信するので、ホストIPを指定するとREJECTされてしまう。
dhcpdを起動時開始サービスに追加
dhcpdサービスがサーバ起動時に開始されるように、ntsysvコマンドなどで設定する。