【徹底解説】DHCPリレーの仕組みと設定|giaddrやパケットフローを詳解

IT技術
この記事でわかること
  • DHCPリレーの仕組み
  • DHCPリレー時の払い出しセグメントの判別方法

ネットワークの設計・構築時に手元に置いておきたくなる一冊です!

ネットワーク構築において、VLANごとにDHCPサーバを設置するのは運用コストやリソースの観点から現実的ではありません。そこで必須となる技術が「DHCPリレー(DHCP Relay Agent)」です。

本記事では、DHCPリレーの基本的な仕組みから、サーバがどのようにセグメントを判別しているのか(giaddrの役割)、設計上の注意点までプロの視点で詳しく解説します。

DHCPリレーとは?なぜ必要なのか

通常、PCなどのDHCPクライアントは、自身のIPアドレスを決めるために「ブロードキャスト」でサーバを探します。しかし、ブロードキャストはルーター(L3デバイス)を越えることができません。

課題: セグメント(VLAN)ごとにDHCPサーバを置く必要があり、管理が煩雑になる。

ここでクライアントからのブロードキャストを別のネットワークのDHCPサーバ宛へのユニキャスト通信に変換する仕組みのことをDHCPリレーと言います。

2. DHCPリレーの動作フローと「giaddr」の仕組み

ここで1つ疑問が生じます。
DHCPサーバはクライアントが属するセグメントに適したIPアドレスを払い出さないといけません。
多数のセグメントのクライアントからDHCP要求が来た場合、DHCPサーバはどうやって払い出すセグメントやIPアドレスを認識しているのでしょうか。

DHCPサーバが「どのセグメントのIPアドレスを貸し出すべきか」を判断できるのは、リレーエージェントがパケットに情報を付与しているからです。

/

DHCPでアドレスが払い出されるプロセス(DORAプロセス)

  1. DHCP Discover (Broadcast): クライアントが同一セグメント内にブロードキャスト。
  2. リレー処理: ルーター(リレーエージェント)がこれを受信。自身(クライアント側のインターフェース)のIPアドレスをgiaddr (Gateway IP Address) フィールドに書き込み、DHCPサーバへユニキャストで転送。
  3. DHCP Offer (Unicast):** サーバはgiaddrを見て「このネットワークのプールから出せばいいんだな」と判断し、リレーエージェントへ返信。
  4. 以降のRequest/Ack: 同様にリレーエージェントを経由して通信が完了します。

Point: サーバはパケットの「送信元IP」ではなく、「giaddr」の値を見て払い出し対象のサブネットを特定します。

主要メーカーの設定コマンド例

実際によく使われるDHCPリレーの設定例を紹介します。

Cisco IOS / Catalyst

インターフェース(クライアント側)に対して設定します。

interface Vlan10
 ip address 192.168.10.1 255.255.255.0
 ip helper-address 10.1.1.100  <-- DHCPサーバのIPアドレス

5. まとめ

DHCPリレーは、大規模ネットワークにおけてなくてはならない機能です。しっかり理解しておきましょう。

  • ブロードキャストをユニキャストに変換する。
  • giaddrによってセグメントを識別する。
  • 設定はクライアント側のL3インターフェースで行う。

コメント

タイトルとURLをコピーしました