23.2. DHCP サーバーの設定
DHCP サーバーを設定するには、
/etc/dhcpd.conf
設定ファイルを作成する必要があります。サンプルファイルは、/usr/share/doc/dhcp-<バージョン>/dhcpd.conf.sample
にあります。
DHCP は
/var/lib/dhcp/dhcpd.leases
ファイルを使用してクライアントリースデータベースを保存します。詳細は、「リースデータベース」 を参照してください。
23.2.1. 設定ファイル
DHCP サーバーを設定する最初のステップは、クライアントのネットワーク情報を格納する設定ファイルを作成することです。グローバルオプションはすべてのクライアントに宣言できますが、他のオプションは各クライアントシステムに宣言できます。
設定ファイルには追加のタブや空白行が含まれているため、簡単に書式を整えることができます。キーワードは大文字と小文字を区別せず、ハッシュ記号(#)で始まる行はコメントとみなされます。
現在、2 つの DNS 更新スキームが実装されています。アドホックの DNS 更新モードと、Interim DHCP-DNS の対話ドラフト更新モードが使用されます。この 2 つがインターネットエンジニアリングタスクの強制(IETF)標準プロセスの一部として許可される場合、3 番目のモード(標準の DNS 更新方法)があります。DHCP サーバーは、現在の 2 つのスキームのいずれかを使用するように設定する必要があります。バージョン 3.0b2pl11 以前のバージョンでは ad-hoc モードを使用していましたが、非推奨となっています。同じ動作を維持するには、設定ファイルの最上部に以下の行を追加します。
ddns-update-style ad-hoc;
ddns-update-style ad-hoc;
推奨されるモードを使用するには、以下の行を設定ファイルの一番上に追加します。
ddns-update-style interim;
ddns-update-style interim;
異なるモードの詳細は、
dhcpd.conf
の man ページを参照してください。
設定ファイルのステートメントには、次のような 2 つのタイプがあります。
- パラメーター: タスクの実行方法、タスクを実行するかどうか、クライアントに送信するネットワーク設定のオプションを規定します。
- 宣言 - ネットワークトポロジの記述、クライアントの記述、クライアントのアドレス指定、宣言グループへのパラメーターグループの適用を行います。
一部のパラメーターは
option
keyword で開始する必要があり、オプションと呼ばれます。オプションは DHCP オプションを設定します。一方、パラメーターはオプションでないか、または DHCP サーバーの動作を制御する値を設定します。
中括弧({ })で囲まれたセクションの前に宣言されたパラメーター(オプションを含む)はグローバルパラメーターとみなされます。グローバルパラメーターは、これ以降のすべてのセクションに適用されます。
重要な影響
設定ファイルを変更すると、コマンド service dhcpd restart で DHCP デーモンを再起動するまで変更は反映されません。
ヒント
DHCP 設定ファイルを変更し、毎回サービスを再起動する代わりに、omshell コマンドを使用して、DHCP サーバーへの接続、クエリー、および設定を変更するインタラクティブな方法を提供します。omshell を使用すると、DHCP サーバーの実行中でも変更を行うことができます。omshell の詳細は、omshell の man ページを参照してください。
例23.1「サブネットの宣言」 では、
ルーター
、subnet-mask
、domain-name
、domain-name-servers
、および time-offset
オプションは、以下に宣言された ホスト
ステートメントに使用されます。
また、
サブネット
を宣言することもできます。サブネット
は、ネットワーク内のすべてのサブネットに含める必要があります。そうでない場合には、DHCP サーバーは起動できません。
以下の例では、サブネットの DHCP クライアントごとにグローバルオプションがあり、
範囲
が宣言されています。クライアントには、範囲
内の IP アドレスが割り当てられます。
例23.1 サブネットの宣言
subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.254; option subnet-mask 255.255.255.0; option domain-name "example.com"; option domain-name-servers 192.168.1.1; option time-offset -18000; # Eastern Standard Time range 192.168.1.10 192.168.1.100; }
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
range 192.168.1.10 192.168.1.100;
}
同じ物理ネットワークを共有するすべてのサブネットは、例23.2「Shared-network 宣言」 に示されるように
shared-network
宣言内で宣言する必要があります。shared-network
内のパラメーターですが、囲まれた subnet
宣言以外は、グローバルパラメーターとみなされます。shared-network
の名前は、テストラボ環境内のすべてのサブネットを記述するために「test-lab」というタイトルを使用するなど、ネットワークの説明的なタイトルになります。
例23.3「Group 宣言」 で説明されているように、
group
宣言を使用してグローバルパラメーターを宣言のグループに適用することができます。たとえば、共有ネットワーク、サブネット、ホストをグループ化することができます。
例23.3 Group 宣言
group { option routers 192.168.1.254; option subnet-mask 255.255.255.0; option domain-name "example.com"; option domain-name-servers 192.168.1.1; option time-offset -18000; # Eastern Standard Time host apex { option host-name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed-address 192.168.1.4; } host raleigh { option host-name "raleigh.example.com"; hardware ethernet 00:A1:DD:74:C3:F2; fixed-address 192.168.1.6; } }
group {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
}
host raleigh {
option host-name "raleigh.example.com";
hardware ethernet 00:A1:DD:74:C3:F2;
fixed-address 192.168.1.6;
}
}
動的 IP アドレスをサブネット内のシステムにリースする DHCP サーバーを設定するには、例23.4「Range パラメーター」 を実際の値で変更します。これにより、クライアントのデフォルトのリース時間、最大リース時間、ネットワークの設定値を宣言します。この例では、192.168.1.10 および 192.168.1.100 の
範囲
の IP アドレスをクライアントシステムに割り当てます。
例23.4 Range パラメーター
default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "example.com"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; }
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "example.com";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
}
ネットワークインターフェースカードの MAC アドレスに基づいて IP アドレスをクライアントに割り当てるには、
host
宣言内の ハードウェアイーサネット
パラメーターを使用します。例23.5「DHCP を使用する静的 IP アドレス」 で説明されているように、ホスト apex
宣言は、MAC アドレス 00:A0:78:8E:9E:AA が常に IP アドレス 192.168.1.4 を受信するように指定します。
オプションのパラメーター
host-name
を使用して、クライアントにホスト名を割り当てることもできます。
例23.5 DHCP を使用する静的 IP アドレス
host apex { option host-name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed-address 192.168.1.4; }
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
}
ヒント
提供される設定ファイルのサンプルは開始点として使用し、カスタム設定オプションを追加できます。これを適切な場所にコピーするには、次のコマンドを使用します。
Copy to Clipboard
Copied!
(& lt;version-number& gt; は DHCP バージョン番号)
cp /usr/share/doc/dhcp-<version-number>/dhcpd.conf.sample /etc/dhcpd.conf
cp /usr/share/doc/dhcp-<version-number>/dhcpd.conf.sample /etc/dhcpd.conf
オプションの説明の一覧と、それらの実行内容については、
dhcp-options
の man ページを参照してください。