DHCP とは — IP アドレスを自動で配る DORA の仕組み

⏱ 約 5 分 view 153 like 0 LOG_DATE:2026-06-10
目次 / TOC

DHCP (Dynamic Host Configuration Protocol) は、ネットワークに繋いだ端末へ IP アドレスや各種設定を自動で配るプロトコル。カフェの Wi-Fi に繋いだだけで何も設定せず通信できるのは、裏で DHCP サーバが「君の IP はこれ、ゲートウェイはこれ、DNS はこれ」と即座に教えてくれているから。やり取りは Discover → Offer → Request → Ack (DORA) の 4 ステップ。本稿では配る情報 / DORA の流れ / まだ IP がない端末の通信方法 / リースと更新 / そして不正 DHCP などのセキュリティ論点までを扱う。

01

DHCP とは — 手動設定からの解放 #

IP で通信するには、最低でも「自分の IP アドレス」「サブネットマスク」「デフォルトゲートウェイ」「DNS サーバ」を知っている必要がある。これを全端末に手で設定するのは非現実的。DHCP は、この初期設定を接続のたびに自動で配り、使い終わったら回収する「貸し出しカウンター」。

▸ かみ砕いて言うと — 「受付で入館証を借りる」

建物に入ると受付 (DHCP サーバ) で番号付きの入館証 (IP アドレス) を借りる。期限 (リース) があり、長居するなら更新する。帰るときは返す (または期限切れで自動回収)。誰がどの番号を使っているかは受付が台帳で管理する。

02

何を配るか — IP だけではない #

配る情報役割
IP アドレス自分の住所
サブネットマスクどこまでが同一ネットワークかの境界
デフォルトゲートウェイ外へ出るときの出口 (ルータ)
DNS サーバ名前解決の問い合わせ先
リース期間この設定を使ってよい時間

ここで配られるゲートウェイと DNS を攻撃者がすり替えると、通信経路と名前解決を丸ごと乗っ取れる。これが §06 のセキュリティ論点に直結する。

03

DORA — 4 ステップで借りる #

DHCP の中心は Discover → Offer → Request → Ack。頭文字で DORA と覚える。

1. DHCP Discover(探す・ブロードキャスト)
IP を持たない端末が「DHCP サーバはいませんか?」をセグメント全体へブロードキャスト。送信元は 0.0.0.0
2. DHCP Offer(提案)
サーバが「この IP (例 192.168.1.50) を貸せます。GW と DNS はこれ」と候補を提示。複数サーバがいれば複数の Offer が来ることもある。
3. DHCP Request(正式に要求)
端末が「その 192.168.1.50 を正式に使います」を (再びブロードキャストで) 返す。どのサーバの Offer を選んだかを全員に知らせ、他サーバの提案を辞退する。
4. DHCP Ack(確定・リース付与)
サーバが「確定。リースは N 時間」と承認。端末はここで初めて IP を自分のものとして使い始める。
04

まだ IP がないのにどう通信する? — ブロードキャストとリレー #

DORA の最初、端末は自分の IP すらまだ持っていない。そこで Discover は宛先 255.255.255.255 (全員宛ブロードキャスト)、送信元 0.0.0.0 で送られる。使うポートは UDP 67 (サーバ) / 68 (クライアント)

問題は、ブロードキャストはルータを越えないこと。サーバが別サブネットにあると Discover が届かない。これを解決するのが DHCP リレーエージェント (IP ヘルパー):ルータがブロードキャストを受け、ユニキャストに変換して中央の DHCP サーバへ転送する。

▸ なぜ Request もブロードキャストなのか

複数の DHCP サーバが Offer を返した場合に、「どのサーバの提案を採用したか」を全サーバへ同時に伝え、選ばれなかったサーバに IP を解放させるため。だから Ack まではブロードキャストが基本。

05

リースと更新 — 借りっぱなしにしない #

割り当ては永久ではなくリース (貸出期間) 付き。期限が来る前に端末は自動で更新する。

タイミング経過動作
T1リースの 50%貸してくれたサーバへユニキャストで更新要求 (Request→Ack)
T2リースの 87.5%元サーバが応答しないので、ブロードキャストでどのサーバでもいいから更新を試みる
期限切れ100%IP を手放し、DORA を最初からやり直す

特定端末に常に同じ IP を渡したいときは、MAC アドレスと IP を結びつける 予約 (DHCP リザベーション) を使う。ipconfig /renew (Windows) や dhclient (Linux) で手動更新できる。

06

セキュリティ — 「誰でも答えられる」ことの危うさ #

DHCP も認証を持たないため、偽サーバや乱用に弱い。

攻撃手口と影響対策
不正 DHCP サーバ (Rogue)攻撃者が偽 Offer を撒き、自分をゲートウェイ / DNS に設定させて全通信を中間者化DHCP スヌーピング
DHCP スタベーション偽 MAC で大量に Discover しプールを枯渇。正規端末が IP を取れず DoS、Rogue 誘導の前段にもポートセキュリティ・レート制限
▸ DHCP スヌーピング — 信頼ポートだけサーバを許す

スイッチで「DHCP サーバの応答 (Offer/Ack) を出してよいのは信頼ポート (本物のサーバ側) だけ」と決め、ユーザポートから出る偽 Offer を破棄する。さらにスヌーピングが作る「IP↔MAC↔ポート」の台帳は、[[arp]] の DAI (Dynamic ARP Inspection) の照合元にもなる。両者はセットで効く。

07

まとめ — 押さえる 5 点 #

  • DHCP は IP・マスク・GW・DNS・リースを自動で配るプロトコル。
  • 流れは Discover → Offer → Request → Ack (DORA)
  • 端末はまだ IP がないので ブロードキャスト + UDP 67/68。別サブネットは DHCP リレーで橋渡し。
  • 割り当てはリース付き。T1 (50%) / T2 (87.5%) で自動更新。固定したいなら予約。
  • 認証がないため 不正 DHCP / スタベーションに弱い。防御は DHCP スヌーピング (+ DAI と連携)。
𝕏 ポスト B! はてブ