16.4. マルチホーム DHCP サーバーの設定
マルチホームの DHCP サーバーでは、複数のネットワーク(つまり複数のサブネット)が提供されます。本セクションでは、DHCP サーバーを設定して複数のネットワークを提供する方法、リッスンするネットワークインターフェースを選択する方法、およびネットワークを移動するシステムのネットワーク設定を定義する方法を説明します。
変更を行う前に、既存の
/etc/sysconfig/dhcpd および /etc/dhcp/dhcpd.conf ファイルのバックアップを作成してください。
DHCP デーモンは、特に指定しない限り、すべてのネットワークインターフェースでリッスンします。
/etc/sysconfig/dhcpd ファイルを使用して、DHCP デーモンがリッスンするネットワークインターフェースを指定します。以下の /etc/sysconfig/dhcpd 例は、DHCP デーモンが eth0 インターフェースおよび eth1 インターフェースをリッスンするように指定します。
DHCPDARGS="eth0 eth1";
DHCPDARGS="eth0 eth1";
システムにネットワークインターフェースカード
eth0、eth1、および eth2 があり、DHCP デーモンが eth0 カードでリッスンすることのみが必要で、/etc/sysconfig/dhcpd で eth0 のみを指定する必要があります。
DHCPDARGS="eth0";
DHCPDARGS="eth0";
以下は、2 つのネットワークインターフェースを持つサーバーの場合、10.0.0.0/24 ネットワークに
eth0 と 172.16.0.0/24 ネットワークの eth1 を持つサーバーの基本的な /etc/dhcp/dhcpd.conf ファイルです。複数の subnet 宣言で複数のネットワークに異なる設定を定義することができます。
-
subnet 10.0.0.0 netmask 255.255.255.0; - DHCP サーバーが提供するすべてのネットワークに
subnet宣言が必要です。複数のサブネットには、複数のsubnet宣言が必要です。DHCP サーバーにsubnet宣言の範囲にネットワークインターフェースがない場合、DHCP サーバーはそのネットワークを提供しません。subnet宣言が 1 つしかなく、ネットワークインターフェースがそのサブネットの範囲にない場合、DHCP デーモンは起動に失敗し、以下のようなエラーが/var/log/messagesに記録されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
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 ページを参照してください。
16.4.1. ホストの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
変更を行う前に、既存の
/etc/sysconfig/dhcpd および /etc/dhcp/dhcpd.conf ファイルのバックアップを作成してください。
複数ネットワークに対する単一システムの設定
以下の /etc/dhcp/dhcpd.conf 例は、2 つのサブネットを作成し、接続するネットワークに応じて、同じシステムの IP アドレスを設定します。
-
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 に記録されます。
複数のネットワークインターフェースを持つシステムの設定
以下の host 宣言では、複数のネットワークインターフェースを持つ 1 つのシステムを設定し、各インターフェースが同じ IP アドレスを受け取るようにします。両方のネットワークインターフェースが同じネットワークに同時に接続されている場合には、この設定は機能しません。
以下の例では、
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
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 宣言が定義されているために生じました。