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

クライアントは DHCP 要求をブロードキャストで送信します。しかし、ブロードキャストで送信したパケットは、他のサブネットに転送されない、つまりルーターを越えることはできませんので、通常、DHCP サーバーはサブネットごとに用意しなければなりません。しかし、サブネットごとに DHCP サーバーを用意して管理することは、煩雑な作業です。そこで、DHCP サーバーが存在しないサブネットからの DHCP 要求を、他のサブネットにある DHCP サーバーへ転送する手段を提供する DHCP リレーエージョントと呼ばれるプログラムを利用することができます。DHCP リレーエージェントを利用すると、異なるサブネットへの DHCP サービスを 1 台の DHCP サーバーで運用できるため、管理が容易になるだけでなく、コスト的な効果も期待することができます。

Turbolinux 10 Server で DHCP リレーエージェント機能を提供するプログラムは /usr/sbin/dhcrelay です。以下では dhcrelay コマンドの書式と簡単な実行例を示します。

dhcrelay [-p port] [-d] [-q] [ -i if0 [ ...  -i ifN ] ] server0 [ ...serverN ]

指定可能なオプションは以下の通りです。server0 には、DHCP 要求を転送する DHCP サーバーを指定します。

表 14-4. dhcrelay のオプション

引数説明
-p portdhcrelay が標準で使用する 67 番ポート以外で DHCP 要求を待ち受けたい場合に使用します。 -p オプションの後に dhcrelay を待機させる udp のポート番号を指定します。
-ddhcrelay は通常ネットワークインターフェースの設定が完了するまではフォアグラウンドで動作し、完了するとバックグラウンドに移動します。このオプションを指定すると、dhcrelay は常にフォアグラウンドで動作します。
-qdhcrelay は、起動時にネットワーク設定を表示します。この動作を無効にするには、このオプションを指定します。
-i if0dhcrelay が DHCP 要求を待ち受けるネットワークインターフェースを指定できます。ネットワークインターフェースの指定がされない場合、dhcrelay は全てのネットワークインターフェースで DHCP 要求を待ち受けます。

例えば、以下のようにサブネットの異なるネットワークがルーターで接続されている場合、DHCP クライアントが DHCP サーバーからネットワーク情報を受け取るには DHCP リレーエージョントを動作させるホストで以下のように dhcrelay コマンドを実行します。

# dhcrelay -i eth0 172.16.0.10

ティップ

Turbolinux 10 Server の起動時に DHCP リレーエージョントを動作させるには、/etc/rc.local に dhcrelay コマンドを追記します。