DHCP (Dynamic Host Configuration Protocol) は、ネットワークに繋いだ端末へ IP アドレスや各種設定を自動で配るプロトコル。カフェの Wi-Fi に繋いだだけで何も設定せず通信できるのは、裏で DHCP サーバが「君の IP はこれ、ゲートウェイはこれ、DNS はこれ」と即座に教えてくれているから。やり取りは Discover → Offer → Request → Ack (DORA) の 4 ステップ。本稿では配る情報 / DORA の流れ / まだ IP がない端末の通信方法 / リースと更新 / そして不正 DHCP などのセキュリティ論点までを扱う。
DHCP とは — 手動設定からの解放 #
IP で通信するには、最低でも「自分の IP アドレス」「サブネットマスク」「デフォルトゲートウェイ」「DNS サーバ」を知っている必要がある。これを全端末に手で設定するのは非現実的。DHCP は、この初期設定を接続のたびに自動で配り、使い終わったら回収する「貸し出しカウンター」。
建物に入ると受付 (DHCP サーバ) で番号付きの入館証 (IP アドレス) を借りる。期限 (リース) があり、長居するなら更新する。帰るときは返す (または期限切れで自動回収)。誰がどの番号を使っているかは受付が台帳で管理する。
何を配るか — IP だけではない #
| 配る情報 | 役割 |
|---|---|
| IP アドレス | 自分の住所 |
| サブネットマスク | どこまでが同一ネットワークかの境界 |
| デフォルトゲートウェイ | 外へ出るときの出口 (ルータ) |
| DNS サーバ | 名前解決の問い合わせ先 |
| リース期間 | この設定を使ってよい時間 |
ここで配られるゲートウェイと DNS を攻撃者がすり替えると、通信経路と名前解決を丸ごと乗っ取れる。これが §06 のセキュリティ論点に直結する。
DORA — 4 ステップで借りる #
DHCP の中心は Discover → Offer → Request → Ack。頭文字で DORA と覚える。
0.0.0.0。まだ IP がないのにどう通信する? — ブロードキャストとリレー #
DORA の最初、端末は自分の IP すらまだ持っていない。そこで Discover は宛先 255.255.255.255 (全員宛ブロードキャスト)、送信元 0.0.0.0 で送られる。使うポートは UDP 67 (サーバ) / 68 (クライアント)。
問題は、ブロードキャストはルータを越えないこと。サーバが別サブネットにあると Discover が届かない。これを解決するのが DHCP リレーエージェント (IP ヘルパー):ルータがブロードキャストを受け、ユニキャストに変換して中央の DHCP サーバへ転送する。
複数の DHCP サーバが Offer を返した場合に、「どのサーバの提案を採用したか」を全サーバへ同時に伝え、選ばれなかったサーバに IP を解放させるため。だから Ack まではブロードキャストが基本。
リースと更新 — 借りっぱなしにしない #
割り当ては永久ではなくリース (貸出期間) 付き。期限が来る前に端末は自動で更新する。
| タイミング | 経過 | 動作 |
|---|---|---|
| T1 | リースの 50% | 貸してくれたサーバへユニキャストで更新要求 (Request→Ack) |
| T2 | リースの 87.5% | 元サーバが応答しないので、ブロードキャストでどのサーバでもいいから更新を試みる |
| 期限切れ | 100% | IP を手放し、DORA を最初からやり直す |
特定端末に常に同じ IP を渡したいときは、MAC アドレスと IP を結びつける 予約 (DHCP リザベーション) を使う。ipconfig /renew (Windows) や dhclient (Linux) で手動更新できる。
セキュリティ — 「誰でも答えられる」ことの危うさ #
DHCP も認証を持たないため、偽サーバや乱用に弱い。
| 攻撃 | 手口と影響 | 対策 |
|---|---|---|
| 不正 DHCP サーバ (Rogue) | 攻撃者が偽 Offer を撒き、自分をゲートウェイ / DNS に設定させて全通信を中間者化 | DHCP スヌーピング |
| DHCP スタベーション | 偽 MAC で大量に Discover しプールを枯渇。正規端末が IP を取れず DoS、Rogue 誘導の前段にも | ポートセキュリティ・レート制限 |
スイッチで「DHCP サーバの応答 (Offer/Ack) を出してよいのは信頼ポート (本物のサーバ側) だけ」と決め、ユーザポートから出る偽 Offer を破棄する。さらにスヌーピングが作る「IP↔MAC↔ポート」の台帳は、[[arp]] の DAI (Dynamic ARP Inspection) の照合元にもなる。両者はセットで効く。
まとめ — 押さえる 5 点 #
- DHCP は IP・マスク・GW・DNS・リースを自動で配るプロトコル。
- 流れは Discover → Offer → Request → Ack (DORA)。
- 端末はまだ IP がないので ブロードキャスト + UDP 67/68。別サブネットは DHCP リレーで橋渡し。
- 割り当てはリース付き。T1 (50%) / T2 (87.5%) で自動更新。固定したいなら予約。
- 認証がないため 不正 DHCP / スタベーションに弱い。防御は DHCP スヌーピング (+ DAI と連携)。