14.3. DHCP リレーエージェント
DHCP リレーエージェント(dhcrelay)は、
DHCP
サーバーのないサブネットから、他のサブネット上の 1 つ以上の DHCP
サーバーに DHCP
および BOOTP
要求のリレーを有効にします。
DHCP
クライアントが情報を要求すると、DHCP リレーエージェントは起動時に指定された DHCP
サーバーの一覧に要求を転送します。DHCP
サーバーが応答を返すと、応答は元の要求を送信したネットワーク上でブロードキャストまたはユニキャストになります。
IPv4
用の DHCP リレーエージェントであるdhcrelay は、インターフェイスが /etc/sysconfig/dhcrelay
で INTERFACES
ディレクティブを使って指定されていない限り、すべてのインターフェイスで DHCPv4
および BOOTP
要求をリッスンします。「dhcrelay の DHCPv4 および BOOTP リレーエージェントとしての設定」を参照してください。IPv6
用の DHCP リレーエージェントであるdhcrelay6 には、このデフォルトの動作がないため、DHCPv6
要求をリッスンするインターフェイスを指定する必要があります。「dhcrelay を DHCPv6 リレーエージェントとして設定」を参照してください。
dhcrelay は、
DHCPv4
および BOOTP
リレーエージェント(デフォルト)として、または DHCPv6
リレーエージェント( -6
引数を使用)として実行できます。使用方法のメッセージを表示するには、dhcrelay -h コマンドを実行します。
14.3.1. dhcrelay の DHCPv4 および BOOTP リレーエージェントとしての設定
DHCPv4
および BOOTP
モードで dhcrelay を実行するには、リクエストの転送先となるサーバーを指定します。root
ユーザーとして dhcrelay.service
ファイルをコピーして編集します。
~]# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/ ~]# vi /etc/systemd/system/dhcrelay.service
セクション [Service] の
ExecStart
オプションを編集し、行の最後に 1 つ以上のサーバー IPv4
アドレスを追加します。以下に例を示します。 ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.1.1
DHCP リレーエージェントが
DHCP
要求をリッスンするインターフェイスも指定する場合は、-i
引数を指定して ExecStart
オプションに追加します(そうしないと、すべてのインターフェイスでリッスンします)。以下に例を示します。他のオプションについては、dhcrelay (8
) man ページを参照してください。ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.1.1 -i em1
加えられた変更を有効にするには、
root
ユーザーとしてサービスを再起動します。
~]# systemctl --system daemon-reload ~]# systemctl restart dhcrelay
14.3.2. dhcrelay を DHCPv6 リレーエージェントとして設定
DHCPv6
モードで dhcrelay を実行するには、-6
引数を追加し、(クライアントまたは他のリレーエージェントからクエリーを受信する) 「 『下層インターフェイス』 」 (クライアントと他のリレーエージェントからクエリーを転送する)を指定します。dhcrelay.service
を dhcrelay6.service
にコピーし、root
ユーザーとして編集します。
~]# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/dhcrelay6.service ~]# vi /etc/systemd/system/dhcrelay6.service
[Service] add
-6
引数で ExecStart
オプションを編集し、「下層インターフェイスと上層インターフェイスインターフェイス」 を追加します(例: ExecStart=/usr/sbin/dhcrelay -d --no-pid -6 -l em1 -u em2)。他のオプションについては、
dhcrelay (8)
の man ページを参照してください。「」
加えられた変更を有効にするには、
root
ユーザーとしてサービスを再起動します。
~]# systemctl --system daemon-reload ~]# systemctl restart dhcrelay6