Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

16.2. DHCPv4 サーバーの設定

dhcp パッケージには、インターネットシステムの Consortium(ISC)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-<バージョン>/dhcpd.conf.sample にあります。/etc/dhcp/dhcpd.conf を設定するする際に、このファイルを使用してください。詳細は以下で説明します。
DHCP は /var/lib/dhcpd/dhcpd.leases ファイルを使用してクライアントリースデータベースを保存します。詳細は、「リースデータベース」を参照してください。

16.2.1. 設定ファイル

DHCP サーバーを設定する最初のステップは、クライアントのネットワーク情報を格納する設定ファイルを作成することです。このファイルを使用して、クライアントシステムのオプションとグローバルオプションを宣言します。
設定ファイルには追加のタブや空白行が含まれているため、簡単に書式を整えることができます。キーワードは大文字と小文字を区別せず、ハッシュ記号(#)で始まる行はコメントとみなされます。
設定ファイルのステートメントには、次のような 2 つのタイプがあります。
  • パラメーター: タスクの実行方法、タスクを実行するかどうか、クライアントに送信するネットワーク設定のオプションを規定します。
  • 宣言 - ネットワークトポロジの記述、クライアントの記述、クライアントのアドレス指定、宣言グループへのパラメーターグループの適用を行います。
キーワードオプションから始まるパラメーターは、オプション と呼ばれます。これらのオプションは DHCP オプションを制御しますが、パラメーターはオプションではなく、DHCP サーバーの動作を制御する値を設定します。
中括弧({ })で囲まれたセクションの前に宣言されたパラメーター(オプションを含む)はグローバルパラメーターとみなされます。グローバルパラメーターは、これ以降のすべてのセクションに適用されます。
重要
設定ファイルを変更すると、コマンド service dhcpd restart で DHCP デーモンを再起動するまで変更は反映されません。
注記
DHCP 設定ファイルを変更し、毎回サービスを再起動する代わりに、omshell コマンドを使用して、DHCP サーバーへの接続、クエリー、および設定を変更するインタラクティブな方法を提供します。omshell を使用すると、DHCP サーバーの実行中でも変更を行うことができます。omshell の詳細については、omshell の man ページを参照してください。
例16.1「サブネットの宣言」 では、ルーターsubnet-maskdomain-searchdomain-name-servers、および time-offset オプションは、以下に宣言された ホスト ステートメントに使用されます。
提供されるすべての サブネット、および DHCP サーバーが接続されているすべての サブネット について、サブネット 宣言が 1 つ必要です。これは、DHCP デーモンに対して、アドレスがその サブネット 上に存在することを認識する方法を示しています。サブネット にアドレスが動的に割り当てられない場合でも、サブネット ごとに subnet 宣言が必要です。
以下の例では、サブネットの DHCP クライアントごとにグローバルオプションがあり、範囲 が宣言されています。クライアントには、範囲 内の IP アドレスが割り当てられます。

例16.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-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 サーバーを設定するには、例16.2「Range パラメーター」 を実際の値で変更します。これにより、クライアントのデフォルトのリース時間、最大リース時間、ネットワークの設定値を宣言します。この例では、192.168.1.10 および 192.168.1.100 の 範囲 の IP アドレスをクライアントシステムに割り当てます。

例16.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 宣言内の ハードウェアイーサネット パラメーターを使用します。例16.3「DHCP を使用した静的 IP アドレス」 で説明されているように、ホスト apex 宣言は、MAC アドレス 00:A0:78:8E:9E:AA が常に IP アドレス 192.168.1.4 を受信するように指定します。
オプションのパラメーター host-name を使用して、クライアントにホスト名を割り当てることもできます。

例16.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;
}
同じ物理ネットワークを共有するすべてのサブネットは、例16.4「Shared-network 宣言」 に示されるように shared-network 宣言内で宣言する必要があります。shared-network 内のパラメーターですが、囲まれた subnet 宣言以外は、グローバルパラメーターとみなされます。shared-network の名前は、テストラボ環境内のすべてのサブネットを記述するために「test-lab」というタイトルを使用するなど、ネットワークの説明的なタイトルである必要があります。

例16.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;
    }
}
例16.5「Group 宣言」 で説明されているように、group 宣言はグローバルパラメーターを宣言のグループに適用するために使用されます。たとえば、共有ネットワーク、サブネット、ホストをグループ化することができます。

例16.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;
   }
}
サンプル設定ファイルの使用
提供される設定ファイルのサンプルを開始点として使用し、カスタム設定オプションを追加できます。このファイルを適切な場所にコピーするには、root で以下のコマンドを実行します。
~]# cp /usr/share/doc/dhcp-<version_number>/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
... ここで、<version_number& gt; は DHCP バージョン番号になります。
オプションステートメントの完全なリストと、それらの操作は、dhcp-options の man ページを参照してください。