前回の記事では、VLANの作成とアクセスポートへの割り当てを解説しました。今回はその続きとして、スイッチ間で複数のVLANを通すトランクポートの設定を解説します。
【前回の記事】

「VLANを作ったのに、別のスイッチにいる同じVLANの端末と通信できない」。その原因はほぼ間違いなく、トランクポートの設定が不足していることです。
この記事では仕事でネットワークの知識が必要な方やCCNA取得を目指している方向けに分かりやすくなるべく挫折しないような記載を心がけています!
【PR】
動作環境
- 機器:Cisco Catalyst 9606R
- OS:Cisco IOS XE 17.6.x(Bengaluru)
- 前提:初期設定③(VLAN作成・アクセスポート設定)が完了していること
- 参照元:Cisco公式VLANコンフィギュレーションガイド(IOS XE Bengaluru 17.6.x)
トランクポートとは何か
前回作成したVLAN(VLAN 10:SALES、VLAN 20:DEVELOP、VLAN 99:MGMT)を使って、具体的なイメージをつかみましょう。
スイッチが1台だけなら、アクセスポートの設定だけで同じVLAN内の通信ができます。しかし複数のスイッチがある環境では、スイッチ間を接続するリンクで複数のVLANのトラフィックをまとめて通す必要があります。
これを実現するのがトランクポートです。
【アクセスポート】 【トランクポート】
PC(VLAN10) ──[Gi1/0/1]──┐ ┌──[Gi1/0/1]── PC(VLAN10)
PC(VLAN20) ──[Gi1/0/2]──┤ SW-A ══════ SW-B ├──[Gi1/0/2]── PC(VLAN20)
PC(VLAN99) ──[Gi1/0/24]─┘ Trunk(Gi1/0/48) └──[Gi1/0/24]─ PC(VLAN99)
VLAN10,20,99 をまとめて転送
トランクポートでは、フレームにVLANタグ(IEEE 802.1Qヘッダ)を付与することで、1本の物理リンクで複数のVLANを識別・転送できます。
IEEE 802.1Qとは
公式ドキュメントによると、Cisco Catalyst 9606RはすべてのイーサネットポートでIEEE 802.1Q(業界標準のトランキングカプセル化方式)をサポートしています。
IEEE 802.1Qは、イーサネットフレームに4バイトのVLANタグを挿入する規格です。このタグにVLAN IDが含まれており、受信側のスイッチがどのVLANのフレームかを識別します。
| 項目 | 内容 |
|---|---|
| 規格名 | IEEE 802.1Q |
| タグサイズ | 4バイト |
| VLAN ID範囲 | 1〜4094 |
| ネイティブVLAN | タグなしで転送されるVLAN(デフォルト:VLAN 1) |
トランキングモードの種類
公式ドキュメントには、インターフェイスのトランキングモードが以下のように定義されています。
| モード | 動作 |
|---|---|
switchport mode trunk | 強制的にトランクポートにする。ネイバーの設定に関係なくトランクになる |
switchport mode dynamic auto | ネイバーがtrunkまたはdesirableの場合のみトランクになる(デフォルト) |
switchport mode dynamic desirable | ネイバーがtrunk・desirable・autoのいずれかならトランクになる |
switchport mode access | 強制的にアクセスポートにする |
switchport nonegotiate | DTPフレームを送信しない(trunkまたはaccessと組み合わせて使用) |
実際の運用ではswitchport mode trunkとswitchport nonegotiateを組み合わせて使うのが推奨されます。 DTP(Dynamic Trunking Protocol)はデバイス間でトランクをネゴシエーションするプロトコルですが、他社製機器や一部の環境ではDTPフレームが誤動作の原因になることがあるためです。
ネイティブVLANとは
トランクポートには「ネイティブVLAN」という概念があります。ネイティブVLANとは、802.1Qタグが付いていないフレームが属するVLANのことです。
デフォルトのネイティブVLANはVLAN 1です。
公式ドキュメントでは「ネイティブVLANはトランクリンクの両端で一致させる必要がある」と明記されています。不一致の場合、スパニングツリーループが発生する可能性があります。
セキュリティのベストプラクティスとして、ネイティブVLANはユーザーが使用しない専用のVLAN(例:VLAN 99)に変更することが推奨されます。
トランクポートの設定手順
ステップ1:トランクポートの設定
スイッチ間接続ポート(例:GigabitEthernet1/0/48)をトランクポートに設定します。
C9606R-Core01# configure terminal
C9606R-Core01(config)# interface GigabitEthernet1/0/48
C9606R-Core01(config-if)# switchport mode trunk
C9606R-Core01(config-if)# switchport nonegotiate
C9606R-Core01(config-if)# exit
C9606R-Core01(config)# end
コマンド解説:
| コマンド | 説明 |
|---|---|
switchport mode trunk | ポートを強制的にトランクモードに設定する |
switchport nonegotiate | DTPフレームの送信を停止する(他社製機器との接続時に特に重要) |
ステップ2:トランクで許可するVLANの設定
デフォルトではトランクポートはVLAN 1〜4094のすべてを許可します。セキュリティと管理のしやすさのため、必要なVLANだけを許可するように制限することを推奨します。
C9606R-Core01# configure terminal
C9606R-Core01(config)# interface GigabitEthernet1/0/48
C9606R-Core01(config-if)# switchport trunk allowed vlan 10,20,99
C9606R-Core01(config-if)# exit
C9606R-Core01(config)# end
VLANリストの書き方:
| 書き方 | 意味 |
|---|---|
vlan 10,20,99 | VLAN 10、20、99のみ許可 |
vlan 10-20 | VLAN 10〜20を許可 |
vlan add 30 | 既存の許可リストにVLAN 30を追加 |
vlan remove 20 | 許可リストからVLAN 20を削除 |
vlan all | すべてのVLANを許可(デフォルト状態に戻す) |
vlan none | すべてのVLANを拒否 |
vlan except 10 | VLAN 10以外のすべてを許可 |
ステップ3:ネイティブVLANの変更(推奨)
セキュリティのベストプラクティスとして、ネイティブVLANをVLAN 1から専用VLANに変更します。今回はVLAN 99(MGMT)をネイティブVLANとして使用します。
重要:ネイティブVLANはトランクリンクの両端で必ず一致させてください。 不一致の場合、スパニングツリーループが発生する可能性があります。
C9606R-Core01# configure terminal
C9606R-Core01(config)# interface GigabitEthernet1/0/48
C9606R-Core01(config-if)# switchport trunk native vlan 99
C9606R-Core01(config-if)# exit
C9606R-Core01(config)# end
ステップ4:設定の確認
トランクポートの設定が正しく反映されているか確認します。
C9606R-Core01# show interfaces GigabitEthernet1/0/48 switchport
出力例:
Name: Gi1/0/48
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 99 (MGMT)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Trunking VLANs Enabled: 10,20,99
Pruning VLANs Enabled: 2-1001
確認すべき主なフィールドは以下のとおりです。
| フィールド | 確認内容 |
|---|---|
Administrative Mode: trunk | トランクモードに設定されているか |
Operational Mode: trunk | 実際にトランクとして動作しているか |
Trunking Native Mode VLAN: 99 | ネイティブVLANが正しく設定されているか |
Trunking VLANs Enabled: 10,20,99 | 許可VLANが正しいか |
Negotiation of Trunking: Off | DTPが無効になっているか |
トランク全体の状態を一覧で確認する場合は:
C9606R-Core01# show interfaces trunk
出力例:
Port Mode Encapsulation Status Native vlan
Gi1/0/48 on 802.1q trunking 99
Port Vlans allowed on trunk
Gi1/0/48 10,20,99
Port Vlans allowed and active in management domain
Gi1/0/48 10,20,99
Port Vlans in spanning tree forwarding state and not pruned
Gi1/0/48 10,20,99
Status: trunkingと表示されていれば、トランクとして正常に動作しています。
ステップ5:設定の保存
C9606R-Core01# write memory
Building configuration...
[OK]
設定コマンドのまとめ
! トランクポートの設定
interface GigabitEthernet1/0/48
switchport mode trunk
switchport nonegotiate
switchport trunk allowed vlan 10,20,99
switchport trunk native vlan 99
exit
! 設定の保存
end
write memory
よくあるトラブルと対処法
show interfaces trunkにポートが表示されない
以下を確認してください。
switchport mode trunkが設定されているか- 相手側スイッチのポートもトランクモードになっているか(
dynamic auto同士はトランクにならない) - リンクがup状態になっているか(
show interfaces GigabitEthernet1/0/48 status)
特に注意: 両端のポートがdynamic auto(デフォルト)のままだとトランクにはなりません。少なくとも片方をtrunkまたはdynamic desirableに設定する必要があります。
トランクは動作しているが特定のVLANのトラフィックが通らない
show interfaces trunkで「Trunking VLANs Enabled」を確認し、該当のVLANが許可リストに含まれているかチェックしてください。
C9606R-Core01# show interfaces GigabitEthernet1/0/48 trunk
また「Vlans in spanning tree forwarding state and not pruned」にVLANが表示されていない場合、STPによってブロックされている可能性があります。
ネイティブVLANの不一致警告が出る
%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on GigabitEthernet1/0/48
このメッセージが表示された場合、トランクリンクの両端でネイティブVLANが異なっています。switchport trunk native vlanコマンドで両端のネイティブVLANを同じ値に揃えてください。
まとめ
今回のポイントをまとめます。
- トランクポートは1本の物理リンクで複数のVLANを転送するための設定
- Catalyst 9606RはIEEE 802.1Qをサポート
switchport mode trunkで強制的にトランクモードに設定するswitchport nonegotiateでDTPを無効化してセキュリティを高めるswitchport trunk allowed vlanで許可VLANを絞ることを推奨- ネイティブVLANはトランクの両端で必ず一致させる
show interfaces trunkとshow interfaces [インターフェイス] switchportで設定を確認する
これで「VLAN作成 → アクセスポート割り当て → トランクポート設定」という基本的なVLAN設計の一連の流れが完成しました。次回はSVIでVLAN間ルーティングを設定する方法を解説します。異なるVLAN間で通信させるために必要な設定です。

過去記事も以下にまとめておきます。




コメント