なお、実際には下記のように整理して記述しておいた方がわかりやすいでしょう。
subnet 172.16.50.0 netmask 255.255.255.224 {
option routers 172.16.50.1;
option subnet-mask 255.255.255.224;
option domain-name "kororo.jp";
option domain-name-servers ns1.kororo.jp;
option ntp-servers 172.16.50.2;
range dynamic-bootp 172.16.50.0 172.16.50.31;
default-lease-time 21600;
max-lease-time 43200;
}
|
|
⇒ddns-update-style interim
このパラメータでは、DynamicDNS(動的DNS)情報の更新方法について指定します。値には、「interim、ad-hoc、none」を指定することができます。ここでは、DHCPとDynamicDNSとの連携を行う場合は、interimを指定します。ad-hocは旧バージョンのdhcpdとの互換性を維持する目的の場合に指定します。
⇒ignore client-updates
クライアントからのDNS更新要求時に、ドメイン名を無視し、ホスト名だけを用います。仮に自ドメインが「example.com」であり、あるクライアントから「foo.exmaple.jp」というFQDNで更新要求をしてきた場合に、「example.jp」を無視し、「foo」というホスト名だけを用います。「example.com」ゾーンのPTRレコードとAレコードには共に、「foo.example.com」レコードが追加されるようになります。尚、有効にするには、「allow
client-updates」と指定します。有効にした場合、FQDN で登録されることになり、上記の例では、「foo.exmaple.jp」がそのままレコードに追加されるようになります。よくわからない方は、「
BINDによるDNSサーバーの構築
」を参照してください。
⇒subnet ~ netmask
ネットワークアドレスとサブネットワークを設定します。{ } の間でひとつのサブネットに対する設定を行います。複数のサブネットに対してDHCPサービスを行うには以下のようにします。
◎複数サブネットの例
|
subnet 192.168.0.1 netmask 255.255.255.0{
省略
}
subnet 192.168.1.1 netmask 255.255.255.0{
省略
} |
|
⇒shared-network name
ひとつの物理ネットワークに複数のサブネットがある場合、shared-network宣言を用います。
name
はデバッグメッセージとして表示されます(下記参照)。
$ tail /var/log/messages
Jan 5 13:50:07 ns1 1月 5 13:50:07 dhcpd:
Sending on LPF/eth0/30:40:a4:be:ea:b5/homelan
|
|
◎shared-networkの例
|
option domain-name "kororo.jp";
option domain-name-servers ns1.kororo.jp;
default-lease-time 21600;
max-lease-time 43200;
shared-network HomeLan {
subnet 10.0.0.0 netmask 255.0.0.0 {
option broadcast-address 10.255.255.255;
option routers 10.0.0.1;
}
subnet 172.16.0.0 netmask 255.255.0.0 {
option broadcast-address 172.16.255.255;
option routers 172.16.0.1;
}
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.32 192.168.0.63
option broadcast-address 192.168.0.63;
option routers 192.168.0.1;
}
}
|
|
⇒option routers
ルータのIPアドレスを記述します。
⇒option subnet-mask
サブネットマスク値を記述します。
⇒option domain-name
所属するドメイン名を記述します。
⇒option domain-name-servers
DNSサーバーのホスト名、もしくはIPアドレスを記述します。
⇒option ntp-servers
NTPサーバーがあれば、NTPサーバーのホスト名、もしくはIPアドレスを記述します。
⇒option netbios-name-servers
WINSサーバーがあれば、WINSサーバーのホスト名、もしくはIPアドレスを記述します。
⇒range dynamic-bootp
動的に割り当てるIPアドレスの範囲を指定します。
⇒default-lease-time
IPアドレスの貸し出し期限(秒単位)を指定します。クライアントからのDHCP要求(DHCPDISCOVER)がない場合は、ここで指定した時間を超えると自動的にIPアドレスは解放されます。デフォルトでは21600秒(21600÷60÷60÷24=0.25=6時間)となっています。
⇒max-lease-time
IPアドレスの最大の貸し出し時間(秒単位)を指定します。ここで指定した時間以上はIPアドレスを貸し出しません。デフォルトでは43200秒(43200÷60÷60÷24=0.5=12時間)となっています。つまり、クライアントからのIPアドレスの延長要求があろうとも、12時間を越えたらIPアドレスは解放されることになります。
■特定のIPアドレスを割り当てる
DHCPで特定のIPアドレスを割り当てるには、以下のようにします。個々のマシンがもっているMACアドレスによって、そのマシンを特定し、dhcpd.conf
で指定されたIPアドレスを割り当てる仕組みになっています。
host koro {
hardware ethernet 08:00:46:5D:DD:XX;
fixed-address 172.16.50.8;
} |
|
■DHCPの再起動
dhcpd.confを編集し終えたら、設定を有効にするためにDHCPを再起動してください。この時、/etc/dhcpd.conf あるいは、/var/lib/dhcpd/dhcpd.leasesファイルが存在しない場合、dhcpdは起動しないので注意してください。正常に起動しない場合、コマンドを実行してもコンソール上では無反応になります。また、/etc/dhcpd.conf
自体に構文ミスがあると、エラーメッセージが表示されますので修正後、再度、起動してください。
# /etc/init.d/dhcpd
restart
dhcpdを停止中: [ OK ]
dhcpdを起動中: [ OK ] |
|
ここまで終えたら、実際にクライアントマシンからIPアドレスの配布が行われるか確認してみてください。Windowsクライアントの場合は、TCP/IPのプロパティで「IPアドレスを自動的に取得する」にチェックを入れてください。次に、コマンドプロンプトで「ipconfig
/release」でIPアドレスをリリースした後、「ipconfig /renew」でIPアドレスがきちんと割り当てられたら成功です。確認事項として「ipconfig
/all」を実行し、「DHCP Server」欄がDHCPサーバーのアドレスになっていることを確認します。もし他にDHCPサーバー(ルータなど)が同一ネットワーク内に存在する場合、アドレス欄はすでに使用していたDHCPサーバーのアドレスになってしまうので、ルータ等のDHCPサーバー機能を停止させてからもう一度ipconfigコマンドを実行してみてください。
◎Windowsクライアントでのコマンド実行例
C:\>ipconfig
/release
#現在のIPアドレスを開放する
Windows IP Configuration
Ethernet adapter ローカル エリア接続:
Connection-specific DNS
Suffix . :
IP Address. . . . . . . . . . . . : 0.0.0.0
Subnet Mask . . . . . . . . . . . : 0.0.0.0
Default Gateway . . . . . . . . . :
C:\>ipconfig
/renew
#IPアドレスを再取得する(DHCPDISCOVER)
Windows IP Configuration
Ethernet adapter
ローカル エリア接続:
Connection-specific DNS
Suffix . : kororo.jp
#dhcpd.confファイルのoption
domain-nameで指定したドメイン名が表示される
IP Address. . . . . . . . . . . . : 172.16.50.13
Subnet Mask . . . . . . . . . . . : 255.255.255.224
Default Gateway . . . . . . . . . : 172.16.50.1
C:\>ipconfig
/all
Windows IP Configuration
Host Name . . . . . . .
. . . . . : SNOOPY
Primary Dns Suffix . . . . . . . : kororo.jp
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : kororo.jp
Ethernet adapter ローカル エリア接続:
Connection-specific DNS
Suffix . : kororo.jp
Description . . . . . . . . . . . : Intel(R) PRO/100
VE Network Connecti
on
Physical Address. . . . . . . . . : 08-00-46-5D-03-XX
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 172.16.50.13
Subnet Mask . . . . . . . . . . . : 255.255.255.224
Default Gateway . . . . . . . . . : 172.16.50.1
DHCP Server . . . . .
. . . . . . : 172.16.50.2
DNS Servers . . . . . . . . . . . : 172.16.50.1
Lease Obtained. . . . . . . . . . : 2003年12月10日
4:22:39
#dhcpd.conf のmax-lease-timeで指定したIPアドレスの貸し出し期限の最大値の時間が表示される。このコマンドは12月9日4時22分に実行したものであるので、IPアドレスの最大貸し出し期限は翌日の10日4時22分と表示される。
Lease Expires . . . . . . . . . . : 2003年12月10日
10:22:39
#dhcpd.conf のdefault-lease-timeで指定した値が表示される。dhcpd.conf
では21600秒(6時間)と設定したので、クライアントからの要求がない限りは、6時間後の10時22分にIPアドレスは解放される。 |