14.4. マルチホーム DHCP サーバーの設定
DHCP
サーバーは、複数のネットワーク、すなわち複数のサブネットとして機能します。以下のセクションにあげる例では、DHCP
サーバーが複数のネットワークで機能するように設定する方法、リッスンするネットワークインターフェースを選択する方法、ネットワークを移動するシステム用にネットワーク設定を定義する方法について詳述しています。
/etc/dhcp/dhcpd.conf
ファイルのバックアップを作成してください。
DHCP
デーモンは、/etc/dhcp/dhcpd.conf
ファイル内でサブネット宣言されているインターフェースでのみリッスンします。
10.0.0.0/24
ネットワークの enp1s0 と 172.16.0.0/24
ネットワークの enp1s0 という 2 つのネットワークインターフェースを持つサーバー用の基本的な /etc/dhcp/dhcpd.conf
ファイルです。複数の 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;
subnet
宣言は、DHCP
サーバーが機能するすべてのネットワークで必要です。複数のサブネットには、複数のsubnet
宣言が必要です。subnet
宣言の範囲内にDHCP
サーバーのネットワークインターフェースがない場合は、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 ページを参照してください。
警告
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
宣言が複数あるために生じたものです。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。