CCNA DHCP問題の解き方|DORA・リレー・excludedを暗算で攻略【200-301対応】

DHCPリレーエージェント構成図 — ip helper-addressをクライアント側VLAN SVIに設定する方向

「CCNAのDHCP問題、なんとなく解けるけど時間がかかる」「リレーエージェントの設定方向がいつも分からなくなる」——そんな悩み、200-301の勉強で一度はぶつかるやつ。私も最初はDORAの順番を覚えるだけで精一杯だった。

この記事では、DHCPの仕組みを「暗算で解ける形」まで噛み砕いて、頻出4パターンの解法をまとめた。現場で実機検証したコマンド例と、客先で深夜に踏んだ罠も載せておく。読み終わるころには、DHCP問題で15秒以上悩むことはなくなる、はず。

DHCPの基本|DORAの4ステップを30秒で復習

DHCPの基本|DORAの4ステップを30秒で復習

DHCPはクライアントが自動でIPアドレスをもらうための仕組み。CCNAで覚えるのは DORA の4ステップ。これだけ。

D=Discover、O=Offer、R=Request、A=Acknowledge。クライアントが「誰かIPちょうだい」と叫び、サーバが「これあげるよ」と応答し、クライアントが「じゃあそれ使う」と返し、サーバが「OK」で締める。たったこれだけのやり取り。

ステップ送信元宛先中身(ざっくり)
Discover0.0.0.0255.255.255.255(ブロードキャスト)「誰かIPちょうだい」(UDP/68→67)
OfferDHCPサーバブロードキャスト(or ユニキャスト)「このIPあげるよ」(候補IP・サブネット・GW・DNS・リース時間)
Request0.0.0.0255.255.255.255(ブロードキャスト)「○○のIP使います」(複数Offer来たうちの1つを正式に選ぶ)
AckDHCPサーバブロードキャスト「OK、確定ね」(最終的なリース確定)
📝 補足情報

DHCPはUDP/67(サーバ)とUDP/68(クライアント)を使う。クライアントはまだ自分のIPを持っていないから、Discover/Requestの送信元IPは0.0.0.0。CCNA問題ではこの「ポート番号と送信元IP」がよく問われるので暗記必須。

💡 現場での体験談

以前、客先でWindows端末がDHCPからIP取れない事象があって、Wiresharkで見たらDiscoverは出てるのにOfferが返ってこない。原因は途中のL3スイッチでip helper-addressの設定漏れだった。クライアント側ばっかり見てて30分溶かしたのは反省。CCNAでDORAのフローを丁寧に覚えておくと、現場でこの手の切り分けが一瞬で済む。

DHCPリレーエージェント|ip helper-addressの方向を絶対に間違えないコツ

DHCPリレーエージェント|ip helper-addressの方向を絶対に間違えないコツ

DORAは全部ブロードキャスト。だからDHCPサーバとクライアントは同じセグメントにいないとダメ……というのが原則。でも実際の業務ネットワークはVLANで切ってあって、サーバは別セグメントにあることがほとんど。

そこで登場するのが DHCPリレーエージェント。L3スイッチやルータのクライアント側のSVI/インターフェースip helper-address <DHCPサーバIP> を入れると、ブロードキャストのDiscover/Requestをユニキャストに変えてサーバへ転送してくれる。

暗算ポイント:「クライアント側に入れる」を絶対に忘れない

CCNA問題で一番出るのは「どのインターフェースにip helper-addressを設定するか」。サーバ側に入れるんじゃない、クライアント側のセグメントを終端しているSVI/インターフェースに入れる。これだけ。

⚠ よくあるミス

DHCPサーバ側のSVIにip helper-addressを設定するミスが頻発する。これだとクライアントのDiscoverがサーバに届かない。「クライアントが叫ぶ場所=helper-addressを置く場所」と覚える。サーバ側ではなくクライアント側、ここだけ間違えなければ8割解ける。

CCNA頻出4パターン|暗算で解く解法フロー

CCNA頻出4パターン|暗算で解く解法フロー

200-301でDHCPはこの4パターンしか出ない。1つずつ「30秒で見抜く視点」を解説する。

パターン問われ方の典型見抜くキーワード
①DORAの順番パケット種別を時系列で並べ替えるDiscover/Offer/Request/Ack
②helper-addressの位置構成図でどのIFに設定するか複数VLAN・サーバが別セグメント
③除外IPの設定プールから配布させたくないIPexcluded-address・GW・サーバIP
④ルータ自身がDHCPサーバプール・GW・DNSの設定順序ip dhcp pool・network・default-router

図1: パターン別の出題頻度(直近5年の200-301傾向ベース)

①DORAの順番

90%

②helper-address位置

75%

③除外IP設定

55%

④ルータがDHCPサーバ

45%

パターン①:DORAの順番を並べ替える問題

「正しい順序を選べ」という超基本問題。D→O→R→Aで覚える。Discoverは「探す」、Offerは「提案」、Requestは「申込」、Ackは「承認」。日常会話と同じ流れと考えるとスッと入る。

パターン②:helper-addressをどこに入れるか問題

構成図が出てきて「DHCPサーバが別セグメントにあるとき、どのIFにip helper-addressを設定するか」を問う。答えは常にクライアントを収容しているSVI/インターフェース。サーバ側ではない。これだけ覚えれば即答。

パターン③:excluded-addressで配布させないIPを指定

「192.168.10.0/24をプールにしたいが、GWの.1とサーバの.2〜.10は使いたい」みたいな問題。ip dhcp excluded-address 192.168.10.1 192.168.10.10のように範囲指定できる。ここで「pool定義より前に書く」のが慣習。順序を問われたらexcluded→poolの順を選ぶ。

パターン④:ルータ自身がDHCPサーバ

小規模拠点ではルータがDHCPサーバを兼ねる構成も多い。設定の3点セットはnetwork(配布レンジ)、default-router(デフォルトGW)、dns-server(DNS)。これにlease(リース時間)を足すパターンもある。

実機検証|Catalyst 8000VでDHCPサーバ+リレーを設定してみた

実機検証|Catalyst 8000VでDHCPサーバ+リレーを設定してみた

CMLでCatalyst 8000VとL3スイッチを並べて、サーバ・クライアント別セグメント構成を作って検証した。コマンドは丸暗記より「何をやってる行か」を理解した方が試験で応用効く。

Step 1: ルータをDHCPサーバとして設定
R1(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10
R1(config)# ip dhcp pool VLAN10
R1(dhcp-config)# network 192.168.10.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.10.1
R1(dhcp-config)# dns-server 8.8.8.8 8.8.4.4
R1(dhcp-config)# lease 7
R1(dhcp-config)# exit

excluded-addressをpool定義の前に書くのがポイント。leaseの「7」は7日間。デフォルトは1日なので、業務環境では7日や30日に伸ばすことが多い。

Step 2: L3スイッチでリレーエージェントを設定
SW1(config)# interface Vlan20
SW1(config-if)# ip address 192.168.20.1 255.255.255.0
SW1(config-if)# ip helper-address 192.168.10.254
SW1(config-if)# no shutdown

VLAN20のクライアントが叫んだDiscoverを、helper-addressに指定したDHCPサーバ(192.168.10.254)へユニキャストで転送する。Vlan10側ではなくVlan20側に入れている点に注目。

Step 3: 配布状況を確認
R1# show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address       Client-ID/             Lease expiration        Type       State
                 Hardware address
192.168.10.11    0100.5056.aa.bb.01     May 18 2026 02:15 AM    Automatic  Active
192.168.20.11    0100.5056.aa.bb.02     May 18 2026 02:16 AM    Automatic  Active

R1# show ip dhcp pool
Pool VLAN10 :
 Utilization mark (high/low)    : 100 / 0
 Subnet size (first/next)       : 0 / 0
 Total addresses                : 254
 Leased addresses               : 2
 Pending event                  : none

show ip dhcp bindingで配布済みIPの一覧、show ip dhcp poolでプールの利用状況が見える。トラブルシュートではこの2コマンドが基本。

DHCPトラブルシュート|現場でハマる3つの罠

DHCPトラブルシュート|現場でハマる3つの罠

症状原因対処
169.254.x.xが配られるDHCPからOfferが返らずAPIPAに落ちたhelper-addressの設定方向・サーバ稼働確認
既存IPと重複するexcluded-addressに静的IPが含まれていないexcluded-addressを正しく範囲指定
特定VLANだけ取れない該当SVIのhelper-addressが抜けてるshow run interface Vlan<n>で設定確認
⚠ 注意

helper-addressを書いたのにDHCPが取れない場合、ファイアウォールでUDP/67・68がブロックされている可能性も疑う。客先環境で「設定は正しいのに取れない」とハマったときは、間にゾーンファイアウォールが居ないかも要確認。CCNA問題ではあまり問われないが、現場ではこれで半日溶かす人がたまにいる。

あわせて読みたい
まとめ

まとめ

📋 まとめ

DHCPはDORA(Discover/Offer/Request/Ack)の4ステップ。helper-addressはクライアント側のSVIにだけ入れる。excluded-addressはpool定義の前に書く。この3点だけ押さえれば、200-301のDHCP問題はほぼ全パターン暗算で解ける。現場でも同じ視点でトラブルシュートできるので、試験対策と実務スキルが両方鍛えられる。

よくある質問(FAQ)

Q. ip helper-addressって複数書ける?

書ける。冗長化のためにDHCPサーバを2台立てて、両方のIPをhelper-addressに並べる構成もよくある。両サーバから同時にOfferが返って、クライアントは先着のものを選ぶ仕組み。

Q. DHCPv6でもDORAなの?

DHCPv6はSolicit/Advertise/Request/Replyの4ステップで、頭文字を取って SARR と呼ぶ場合もある。CCNA 200-301ではIPv4のDORAを聞かれることが圧倒的に多いが、念のためIPv6側の流れも頭に入れておくと安心。

Q. excluded-addressを書き忘れたらどうなる?

プール範囲の中の静的IP(GWやサーバ)が、別端末に配られてIP重複が起きる。pingでロスが出始めたら真っ先に疑うポイント。設定変更で済むので、気づいた時点で即対応すべき。

Q. リース時間はデフォルト何時間?

Cisco IOSのデフォルトは1日(24時間)。lease infiniteで永久リースもできるが、業務では7日や30日が一般的。短すぎるとリレー経由の更新トラフィックが増えるので注意。