Menu Close
Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
13.2. DHCP サーバーの設定
dhcp パッケージには ISC (Internet Systems Consortium) DHCP サーバーが含まれています。最初に、スーパーユーザーとしてパッケージをインストールします。
~]# yum install dhcp
dhcp パッケージをインストールすると、
/etc/dhcp/dhcpd.conf
ファイルが作成されます。これは単なる空の設定ファイルです。
~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
設定ファイルのサンプルは、
/usr/share/doc/dhcp-<version>/dhcpd.conf.sample
にあります。このファイルは、/etc/dhcp/dhcpd.conf
を設定する場合に使用することをお勧めします。詳しくは以下で説明します。
また、DHCP は
/var/lib/dhcpd/dhcpd.leases
ファイルを使用してクライアントのリースデータベースを格納します。詳細は 「リースデータベース」 を参照して下さい。
13.2.1. 設定ファイル
DHCP サーバーを設定するには、最初にクライアントのネットワーク情報を格納する設定ファイルを作成します。このファイルを使用して、クライアントシステム用のオプション及びグローバルオプションを宣言します。
設定ファイルには追加のタブや空白行が含まれているため、簡単に書式を整えることができます。キーワードは大文字/小文字の区別がなく、行頭がハッシュ記号 (#) で始まる行はコメントとみなされます。
設定ファイルのステートメントには、次のような 2 つのタイプがあります。
- パラメーター — タスクの実行方法、タスクを実行するかどうか、クライアントに送信するネットワーク設定のオプションを規定します。
- 宣言 — ネットワークトポロジの記述、クライアントの記述、クライアントのアドレス指定、宣言グループへのパラメーターグループの適用を行います。
キーワードオプションから始まるパラメーターは、オプション と呼ばれます。オプションは、DHCP オプションを制御します。一方、パラメーターはオプションでない値の設定、DHCP サーバーの動作の制御を行います。
中括弧 ({ }) で囲まれたセクションの前に宣言されたパラメーター (オプションを含む) は、グローバルパラメーターとみなされます。グローバルパラメーターは、これ以降のすべてのセクションに適用します。
重要
設定ファイルが変更された場合、
service dhcpd restart
コマンドを使って DHCP デーモンを再起動するまでは変更内容は反映されません。
注記
毎回 DHCP 設定ファイルを変更してサービスを再起動させる代わりに、
omshell
コマンドを使用すると、DHCP サーバーへの接続、クエリ、設定の変更をインタラクティブに行うことができます。omshell
を使用すると、DHCP サーバーの実行中でも変更を行うことができます。omshell
の詳細については、omshell
の man ページを参照して下さい。
例13.1「subnet 宣言」 では、
routers
、subnet-mask
、domain-search
、domain-name-servers
及び time-offset
オプションは、subnet 宣言下で宣言されている host
ステートメント用に使用されます。
機能するすべての
subnet
、DHCP サーバーの接続先となるすべての subnet
に対して、subnet
宣言が 1 つ必要です。これは、アドレスがその subnet
にあることを認識する方法を DHCP デーモンに伝えます。subnet
に動的に割り当てるアドレスがない場合でも、各 subnet
に対して subnet
宣言が 1 つ必要となります。
この例では、サブネット内のすべての DHCP クライアントに対するグローバルオプションがあり、
range
が宣言されています。クライアントに range
内の IP アドレスが割り当てられています。
例13.1 subnet 宣言
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-search "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; }
サブネット内でシステムに動的 IP アドレスをリースする DHCP サーバーを設定するには、例13.2「range パラメーター」 を使用する値に変更します。これにより、クライアント用のデフォルトのリース期間、最大リース期間、ネットワークの設定値を宣言します。この例では、192.168.1.10 から 192.168.1.100 の
range
の IP アドレスをクライアントシステムに割り当てます。
例13.2 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-search "example.com"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; }
ネットワークインターフェースカードの MAC アドレスに基づいてクライアントに IP アドレスを割り当てるには、
host
宣言内の hardware ethernet
パラメーターを使用します。例13.3「DHCP を使用した静的 IP アドレス」 の例では、host apex
宣言は、MAC アドレス 00:A0:78:8E:9E:AA を持つネットワークインターフェースカードが常に IP アドレス 192.168.1.4 を受信するように指定します。
オプションのパラメーターである
host-name
を使用すると、クライアントにホスト名を割り当てることができる点にも注目して下さい。
例13.3 DHCP を使用した静的 IP アドレス
host apex { option host-name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed-address 192.168.1.4; }
同じ物理ネットワークを共有するすべてのサブネットは、例13.4「shared-network 宣言」 のとおり
shared-network
宣言内で宣言する必要があります。shared-network
内だが囲まれた subnet
宣言の外にあるパラメーターは、グローバルパラメーターとみなされます。shared-network
の名前は、そのネットワークを表す分かりやすいタイトルにします。例えば、テストラボ環境の全サブネットを表す「test-lab」というタイトルなどです。
例13.4 shared-network 宣言
shared-network name { option domain-search "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; } }
例13.5「group 宣言」 のように
group
宣言を使用すると、宣言グループにグローバルパラメーターを適用できます。例えば、共有ネットワーク、サブネット、ホストをグループ化できます。
例13.5 group 宣言
group { option routers 192.168.1.254; option subnet-mask 255.255.255.0; option domain-search "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; } }
注記
提供されている設定ファイルのサンプルをベースとして使用し、カスタムの設定オプションを追加することができます。このファイルを適切な場所にコピーするには、以下のコマンドを使用します。
cp /usr/share/doc/dhcp-<version_number>/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
<version_number> は DHCP のバージョン番号です。
オプションステートメントとその機能の全一覧については、
dhcp-options
の man ページを参照して下さい。