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 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;
}
同じ物理ネットワークを共有するすべてのサブネットは、例23.2「Shared-network 宣言」 に示されるように
shared-network 宣言内で宣言する必要があります。shared-network 内のパラメーターですが、囲まれた subnet 宣言以外は、グローバルパラメーターとみなされます。shared-network の名前は、テストラボ環境内のすべてのサブネットを記述するために「test-lab」というタイトルを使用するなど、ネットワークの説明的なタイトルになります。
例23.2 Shared-network 宣言
shared-network name {
option domain-name "test.redhat.com";
option domain-name-servers ns1.redhat.com, ns2.redhat.com;
option routers 192.168.0.254;
more parameters for EXAMPLE shared-network
subnet 192.168.1.0 netmask 255.255.252.0 {
parameters for subnet
range 192.168.1.1 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.252.0 {
parameters for subnet
range 192.168.2.1 192.168.2.254;
}
}
例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;
}
}
動的 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;
}
ネットワークインターフェースカードの 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;
}
ヒント
提供される設定ファイルのサンプルは開始点として使用し、カスタム設定オプションを追加できます。これを適切な場所にコピーするには、次のコマンドを使用します。
cp /usr/share/doc/dhcp-<version-number>/dhcpd.conf.sample /etc/dhcpd.conf
(& lt;version-number& gt; は DHCP バージョン番号)
オプションの説明の一覧と、それらの実行内容については、
dhcp-options の man ページを参照してください。