14.4. マルチホーム DHCP サーバーの設定


マルチホーム DHCP サーバーは、複数のネットワーク、つまり複数のサブネットを提供します。このセクションの例では、複数のネットワークを提供するように DHCP サーバーを設定する方法、リッスンするネットワークインターフェイスを選択する方法、およびネットワークを移動するシステムのネットワーク設定を定義する方法について詳しく説明します。
変更を行う前に、既存の /etc/dhcp/dhcpd.conf ファイルをバックアップします。
DHCP デーモンは、/etc/dhcp/dhcpd.conf ファイルで subnet 宣言を見つけるインターフェイスのみをリッスンします。
以下は、2 つのネットワークインターフェイスを持つサーバーの基本的な /etc/dhcp/dhcpd.conf ファイルです。enp1s0 10.0.0.0/24 ネットワーク enp2s0 172.16.0.0/24 ネットワークで。複数の subnet 宣言を使用すると、複数のネットワークに異なる設定を定義できます。
default-lease-time 600;
max-lease-time 7200;
subnet 10.0.0.0 netmask 255.255.255.0 {
	option subnet-mask 255.255.255.0;
	option routers 10.0.0.1;
	range 10.0.0.5 10.0.0.15;
}
subnet 172.16.0.0 netmask 255.255.255.0 {
	option subnet-mask 255.255.255.0;
	option routers 172.16.0.1;
	range 172.16.0.5 172.16.0.15;
}
subnet 10.0.0.0 netmask 255.255.255.0 ;
DHCP サーバーが提供しているネットワークごとに、subnet 宣言が必要です。複数のサブネットには複数の subnet 宣言が必要です。DHCP サーバーに subnet 宣言の範囲内のネットワークインターフェイスがない場合、DHCP サーバーはそのネットワークを提供しません。
subnet 宣言が 1 つしかなく、そのサブネットの範囲内にネットワークインターフェイスがない場合、DHCP デーモンは起動に失敗し、以下のようなエラーが /var/log/messages に記録されます。
dhcpd: No subnet declaration for enp1s0 (0.0.0.0).
dhcpd: ** Ignoring requests on enp1s0.  If this is not what
dhcpd:    you want, please write a subnet declaration
dhcpd:    in your dhcpd.conf file for the network segment
dhcpd:    to which interface enp2s0 is attached. **
dhcpd:
dhcpd:
dhcpd: Not configured to listen on any interfaces!
option subnet-mask 255.255.255.0;
option subnet-mask オプションは、サブネットマスクを定義し、subnet 宣言の netmask 値を上書きします。簡単なケースでは、サブネットとネットマスクの値は同じです。
option routers 10.0.0.1;
option routers オプションは、サブネットのデフォルトゲートウェイを定義します。これは、システムが異なるサブネット上の内部ネットワーク、さらには外部ネットワークに届くために必要です。
range 10.0.0.5 10.0.0. 15;
range オプションは、利用可能な IP アドレスのプールを指定します。システムには、指定された IP アドレスの範囲からアドレスが割り当てられます。
詳細は、dhcpd.conf (5) の man ページを参照してください。
警告
DHCP サーバーが IP 範囲からの IP アドレスを別の物理 Ethernet セグメントにした場合に設定の間違いを回避するため、共有ネットワーク宣言にこれ以上サブネットを含めいないようにしてください。

14.4.1. ホストの設定

変更を行う前に、既存の /etc/sysconfig/dhcpd ファイルおよび /etc/dhcp/dhcpd.conf ファイルをバックアップします。

複数ネットワークに対する単一システムの設定

以下の /etc/dhcp/dhcpd.conf の例では、2 つのサブネットを作成し、接続先のネットワークに応じて、同じシステムの IP アドレスを設定します。

default-lease-time 600;
max-lease-time 7200;
subnet 10.0.0.0 netmask 255.255.255.0 {
	option subnet-mask 255.255.255.0;
	option routers 10.0.0.1;
	range 10.0.0.5 10.0.0.15;
}
subnet 172.16.0.0 netmask 255.255.255.0 {
	option subnet-mask 255.255.255.0;
	option routers 172.16.0.1;
	range 172.16.0.5 172.16.0.15;
}
host example0 {
	hardware ethernet 00:1A:6B:6A:2E:0B;
	fixed-address 10.0.0.20;
}
host example1 {
	hardware ethernet 00:1A:6B:6A:2E:0B;
	fixed-address 172.16.0.20;
}
host example0
host 宣言は、IP アドレスなどの単一システムの特定のパラメーターを定義します。複数のホストに特定のパラメーターを設定するには、複数の host 宣言を使用します。
ほとんどの DHCP クライアントは host 宣言の名前を無視し、この名前は他の host 宣言に固有である限り、任意の名前にすることができます。複数のネットワークに同じシステムを設定するには、host 宣言ごとに異なる名前を使用します。そうしないと、DHCP デーモンが起動に失敗します。システムは、host 宣言の名前ではなく、hardware ethernet オプションで識別されます。
hardware ethernet 00:1A:6B:6A:2E:0B;
hardware ethernet オプションは、システムを識別します。このアドレスを見つけるには、ip link コマンドを実行します。
fixed-address 10.0.0.20;
fixed-address オプションは、hardware ethernet オプションで指定したシステムに有効な IP アドレスを割り当てます。このアドレスは、range オプションで指定した IP アドレスプール外でなければなりません。
option ステートメントがセミコロンで終了しない場合、DHCP デーモンは起動に失敗し、以下のようなエラーが /var/log/messages に記録されます。
/etc/dhcp/dhcpd.conf line 20: semicolon expected.
dhcpd: }
dhcpd: ^
dhcpd: /etc/dhcp/dhcpd.conf line 38: unexpected end of file
dhcpd:
dhcpd: ^
dhcpd: Configuration file errors encountered -- exiting

複数のネットワークインターフェイスを持つシステムの設定

以下の host 宣言は、複数のネットワークインターフェイスを持つ単一のシステムを設定し、各インターフェイスが同じ IP アドレスを受け取るようにします。両方のネットワークインターフェイスが同じネットワークに同時に接続されている場合には、この設定は機能しません。

host interface0 {
	hardware ethernet 00:1a:6b:6a:2e:0b;
	fixed-address 10.0.0.18;
}
host interface1 {
	hardware ethernet 00:1A:6B:6A:27:3A;
	fixed-address 10.0.0.18;
}
この例では、interface0 は最初のネットワークインターフェイスで、interface1 は 2 番目のインターフェイスです。異なる hardware ethernet オプションは、各インターフェイスを識別します。
このようなシステムが別のネットワークに接続する場合は、host 宣言をさらに追加します。以下の点に留意してください。
  • ホストが接続しているネットワークに有効な fixed-address を割り当てます。
  • host 宣言の名前を一意にします。
host 宣言で指定された名前が一意でない場合、DHCP デーモンは起動に失敗し、以下のようなエラーが /var/log/messages に記録されます。
dhcpd: /etc/dhcp/dhcpd.conf line 31: host interface0: already exists
dhcpd: }
dhcpd: ^
dhcpd: Configuration file errors encountered -- exiting
このエラーは、/etc/dhcp/dhcpd.conf に複数の host interface0 宣言が定義されているために生じました。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.