CCNA VLAN/Trunk問題の解き方|access・trunk・Native VLAN・802.1Qを暗算で攻略【200-301対応】

CCNA VLAN/Trunk構成図 - access port、trunk port、Native VLAN、802.1Qタグの関係を示すネットワーク構成図

CCNA 200-301のVLAN問題、ぶっちゃけ「access portとtrunk portの違いは?」レベルなら誰でも解ける。でも本番で出てくるのは、Native VLANのミスマッチを見抜かせたり、allowed vlanの計算をさせたり、802.1Qのタグの有無をパケットフローで追わせたり、地味にいやらしい問題ばっかり。

この記事では、私が現場で実際に組んでハマった構成と、CCNA本番で問われたパターンを紐付けながら、VLAN/Trunk問題を「暗算で30秒以内に解く」ための型をまとめる。図と表を多めに入れたので、紙とペンを使わずに頭の中だけで処理できるようになる。

まず押さえるべき4つの基礎概念

access port・trunk portの本質的な違い

access portは1つのVLANにしか所属できない。一方trunk portは複数VLANのフレームをタグ付けして運ぶ。これだけ覚えても解けない問題が出るので、「タグが付くか付かないか」を毎回意識すること。

💡 現場での体験談

新人の頃、客先のCatalyst 2960でaccess portにVLAN 10を割り当てたつもりが、show vlan briefで該当VLANが「Po1, Gi0/1」みたいにtrunkとaccessが混在しててパニックになった。switchport mode access って明示的に打たないと、デフォルトのdynamic autoでtrunkに化けることがある。これ、CCNAの問題でも引っかけで出てくる。

802.1Qヘッダの構造

802.1Qはイーサネットフレームの送信元MACアドレスの直後に4バイトのVLANタグを挿入する。内訳は次のとおり。

フィールドサイズ役割
TPID2バイト0x8100固定。802.1Qフレームの目印
PCP3ビットCoS。QoSの優先度(0〜7)
DEI(CFI)1ビット優先廃棄フラグ。基本0
VID12ビットVLAN ID(0〜4095、有効1〜4094)

VID=12ビット、つまり2の12乗で4096通り。0と4095は予約なので有効レンジは1〜4094。試験ではここを「VLAN IDは何個?」と聞いてくる。

Native VLANの本質

trunk portでもタグが付かないVLANが1つだけ存在する。それがNative VLAN。デフォルトはVLAN 1。トランク両端でNative VLANが揃ってないと、CDPがログを吐く(Native VLAN mismatch)。

⚠ よくあるミス

Native VLANをVLAN 1のまま運用すると、VLAN hopping攻撃のリスクがある。CCNAの問題でも「セキュリティ上の推奨設定」として、Native VLANを未使用VLAN(例:999)にする選択肢が出てくる。これ、知らないと選べない。

ポートモードの判定パターン

DTPの動作で頭を整理する

CCNAの問題でほぼ100%出るのが、両端のswitchport modeを見て、最終的にaccessになるかtrunkになるかを答えるパターン。下表が暗記用。

対向の設定accesstrunkdynamic autodynamic desirable
accessaccess不整合accessaccess
trunk不整合trunktrunktrunk
dynamic autoaccesstrunkaccesstrunk
dynamic desirableaccesstrunktrunktrunk

覚え方は単純で、「auto同士はaccess、片方でもdesirableが入ればtrunk」。これだけ頭に入れとけば9割解ける。

📝 補足情報

Catalyst 9300などの新しめの機種ではデフォルトモードがdynamic auto。古いCatalyst 2950系はdynamic desirableだった。試験では「Cisco IOSのデフォルト」と書かれていたら基本dynamic autoで考えてOK。

実機での設定手順(CCNA問題そのまま)

access port設定の最小構成

Step 1: VLANを作成する
Switch(config)# vlan 10
Switch(config-vlan)# name SALES
Switch(config-vlan)# vlan 20
Switch(config-vlan)# name DEV
Switch(config-vlan)# exit
Step 2: アクセスポートを割り当てる
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# spanning-tree portfast
Switch(config-if)# no shutdown
⚠ 注意

switchport mode access を打たずにいきなり switchport access vlan 10 だけ入れる人がたまにいる。これだとデフォルトのdynamic auto/desirableのまま動くから、対向のモード次第で挙動が変わる。CCNAでは「先にmode access」と覚える。

trunk port設定とallowed vlan

Step 3: トランクの基本設定
Switch(config)# interface GigabitEthernet0/24
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk native vlan 999
Switch(config-if)# switchport trunk allowed vlan 10,20,30
Switch(config-if)# no shutdown

「encapsulation dot1q」はCatalyst 3560/3650など複数のトランクプロトコル(ISL)に対応する機種で必要。9300など新しい機種はdot1qのみなので不要。試験では「3560で必須」と覚えておく。

allowed vlanの追加と削除
! 追加(既存の許可リストにVLAN 40を足す)
Switch(config-if)# switchport trunk allowed vlan add 40

! 削除(VLAN 30だけ取り除く)
Switch(config-if)# switchport trunk allowed vlan remove 30

! 全削除(VLAN 1すら通さない)
Switch(config-if)# switchport trunk allowed vlan none

! 全VLAN許可(デフォルト状態に戻す)
Switch(config-if)# switchport trunk allowed vlan all
🚫 やってはいけないこと

allowed vlanを「add」抜きで打ち直すと、それまでのリストが上書きされる。本番のスイッチで switchport trunk allowed vlan 50 とか軽率に打って、既存の業務VLANごっそり吹っ飛ばすやつ、定期的に見る。試験でも「現状allowed vlan 10,20,30 → コマンド打ったら何が残る?」というドリブル問題が出る。

確認コマンドと暗算ポイント

show interfaces trunkで一発確認

Switch# show interfaces trunk

Port        Mode             Encapsulation  Status        Native vlan
Gi0/24      on               802.1q         trunking      999

Port        Vlans allowed on trunk
Gi0/24      10,20,30

Port        Vlans allowed and active in management domain
Gi0/24      10,20,30

Port        Vlans in spanning tree forwarding state and not pruned
Gi0/24      10,20,30

この4つのテーブルの違いは試験頻出。「allowed」は設定上の許可リスト、「allowed and active」は実際にVLANデータベースに存在しているもの、「in spanning tree forwarding」はSTPでBlockされていない実通信可能なVLAN。微妙な違いが選択肢に並ぶ。

図1: 確認コマンドの使用頻度(個人の実務体感)

show interfaces trunk

95%

show vlan brief

80%

show interfaces switchport

55%

show dtp interface

20%

CCNA頻出問題の暗算手順

問題形式は大体3パターン。順に処理する型を覚える。

問題パターン確認すべき項目暗算のコツ
ポートモード判定両端のswitchport modeDTPマトリクスで4秒で判定
Native VLAN不一致両端のnative vlan値CDPログ “Native VLAN mismatch”
allowed vlan疎通不可trunkのallowed/active「両端allowed」かつ「VLAN存在」
ハマりどころ別のトラブル対応

VLANは作ったのに通信できない時

CCNAでも実務でも超頻出。原因は大体次の3つに収束する。

症状原因対処
同一スイッチ内すらNGVLAN未作成 or shutdown状態vlan 10 → no shutdown
trunk越えだけNGallowed vlanに含まれていないallowed vlan add 10
VLAN間がNGL3デバイス(SVI/router)未設定SVI作成 + ip routing
💡 ポイント

show vlan brief で目的のVLANが「active」になっているか必ず確認する。たまに、interface vlan 10 をno shutdownしただけで「VLAN自体」を作ってない、というケアレスミスをやらかす。SVIだけじゃなくて vlan 10(global config)も忘れずに。

Native VLAN mismatchの見分け方

%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on
GigabitEthernet0/24 (1), with Switch2 GigabitEthernet0/24 (999).

こういうログが出たら100%Native VLAN不一致。意外と通信自体は両Native VLAN内のフレームだけ漏れて通っちゃうことがあって、それが余計にややこしい。両端そろえる、これだけ。

DTPの危険性とセキュリティ設定

余談だけど、サーバ収容のアクセスポートでもswitchport mode accessを明示しないと、DTPのネゴが原因で攻撃者が任意のVLANにフレームを送り込めてしまう。実務では nonegotiate か mode access を必ず打つ。

! DTPを完全に無効化(推奨)
Switch(config-if)# switchport mode access
Switch(config-if)# switchport nonegotiate

! trunkとして固定する場合もnonegotiateで安全側
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport nonegotiate
まとめ

VLAN問題を30秒で解くための型

📋 まとめ

VLAN問題は「ポートモード判定 → Native VLAN一致 → allowed vlan確認」の順に処理すればほぼ全パターン解ける。DTPマトリクス、802.1Qヘッダの4バイト、show interfaces trunkの4テーブル、この3つを暗記しておくのが最短ルート。実務でも同じ思考順序で動けば、深夜のトラブルでも30分以内に切り分けが完了する。

よくある質問(FAQ)

Q. switchport mode trunkとswitchport mode dynamic desirableはどう違う?

trunkは「常にtrunk固定」、dynamic desirableは「DTPで対向と交渉してtrunkに持ち込みたい」モード。対向がaccess固定なら、desirableはaccess動作にされる。trunkは無条件trunkだから、対向がaccessだと「不整合」になって通信できない。

Q. Native VLANはなぜVLAN 1から変えるべき?

VLAN 1はあらゆるCisco機器のデフォルトで使われていて、攻撃者が二重タグ(Double Tagging)でVLAN hopping攻撃を仕掛ける際の標的になりやすい。未使用のVLAN(例:999)に変更し、さらにallowed vlanからVLAN 1を除外するのが推奨構成。

Q. allowed vlan addを忘れて上書きしてしまった時のリカバリは?

show interfaces trunkで現状を確認したあと、switchport trunk allowed vlan all で全許可に戻し、必要なVLANだけ含むリストで再設定するのが安全。本番環境ではメンテ枠を取り、対向側のallowed設定とセットで作業する。トラブル時の原状復旧用にbackupを必ず取っておくこと。

Q. CCNA本番でVLAN問題は何問くらい出る?

200-301の出題比率では「ネットワークアクセス」が20%を占めていて、その中の中核がVLAN/Trunk/STP。私が受けた回は、VLAN直接の問題が3問、trunk絡みが2問、STPと混ざった問題が1問という感じだった。要するに、ここを落とすと合格点ギリギリまで追い込まれる。確実に取りに行く分野。