Red Hat Training

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

10.3. DHCP リレーエージェント

DHCP リレーエージェント (dhcrelay) を使うと、DHCP サーバーがないサブネットから他のサブネットにある 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 コマンドを実行します。

10.3.1. dhcrelay の DHCPv4 および BOOTP リレーエージェントとしての設定

dhcrelayDHCPv4 および BOOTP モードで実行するには、リクエストを転送するサーバーを指定します。rootdhcrelay.service ファイルをコピーして、編集します。
~]# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/
~]# vi /etc/systemd/system/dhcrelay.service
[Service] セクション下にある ExecStart オプションを編集し、サーバー IPv4 のアドレスを行末に追加します。例を示します。
ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.1.1
DHCP リレーエージェントが DHCP リクエストをリッスンするインターフェースを指定するには、そのインターフェースを -i 引数をつけて ExecStart オプションに追加します (これがない場合は、すべてのインターフェースをリッスンすることになります)。例を示します。
ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.1.1 -i em1
他のオプションについては、dhcrelay(8) man ページを参照してください。
変更を反映させるには、root でサービスを再起動します。
~]# systemctl --system daemon-reload
~]# systemctl restart dhcrelay

10.3.2. dhcrelay の DHCPv6 リレーエージェントとしての設定

dhcrelayDHCPv6 モードで実行するには、-6 引数をつけて (クライアントまたは他のリレーエージェントからクエリーを受信する) 下方インターフェースと(クライアントおよび他のリレーエージェントからのクエリーの転送先となる) 上方インターフェースを指定します。rootdhcrelay.servicedhcrelay6.service にコピーして、編集します。
~]# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/dhcrelay6.service
~]# vi /etc/systemd/system/dhcrelay6.service
[Service] セクション下の ExecStart オプションを編集し、-6 引数をつけて下方インターフェース上方インターフェースを追加します。例を示します。
ExecStart=/usr/sbin/dhcrelay -d --no-pid -6 -l em1 -u em2
他のオプションについては、dhcrelay(8) man ページを参照してください。
変更を反映させるには、root でサービスを再起動します。
~]# systemctl --system daemon-reload
~]# systemctl restart dhcrelay6