目次
概要
Cisco IOSでのVLANの設定と確認コマンドを詳しく解説します。VLANを作成するときには、レイヤ2スイッチの内部で、VLANとポートの関連付けをイメージすることがポイントです。
VLANの設定の流れ
まず、VLANの設定について全体的な設定の流れを確認しましょう。CatalystスイッチでVLANに関する設定の流れは、次の通りです。
- Step1:VLANの作成
- デフォルトでは、VLAN1が存在します。必要に応じて、追加のVLANを作成します。VLANはレイヤ2スイッチ内部に設定で作成する仮想的なレイヤ2スイッチです。
- Step2:スイッチポートの設定
- 作成したVLAN、すなわち、仮想的なレイヤ2スイッチにポートを割り当てます。アクセスポートは1つのVLANのみに割り当てるポートです。トランクポートは複数のVLANに割り当てるポートです。
デフォルトでは、スイッチにはVLAN1が存在します。すべてのポートはCatalystのモデルに応じて、特定のDTPモードになっています。Catalyst3560/3750では、Dynamic autoのモードです。そのため、Catalystスイッチが接続されない場合は、すべてのポートはアクセスポートとして動作します。アクセスポートとして動作する場合のVLANメンバーシップはVLAN1です。
ここから必要に応じて、新しくVLANを作成したり、DTPモードを変更したりしてアクセスポート/トランクポートとして動作させるようにします。アクセスポートの場合はVLANメンバーシップを決め、トランクポートの場合はトランクカプセル化プロトコルの指定などを行います。
デフォルトでは、VLAN1002~1005も存在しています。これらはイーサネット用のVLANではないので、通常、考慮する必要はありません。
関連記事
そもそも「VLANとは」「VLANの仕組み」について復習するには、以下の記事をご覧ください。
アクセスポートおよびトランクポートについて、以下の記事を参照してください。
VLANの作成
スイッチに新しくVLANを作成するためには、グローバルコンフィグレーションモードで次のコマンドを使います。
VLANの作成
(config)#vlan <vlan-id>
(config-vlan)#name <vlan-name>
<vlan-id> : VLAN番号
<vlan-name> :VLAN名
VLANを作成することは、レイヤ2スイッチ内部に独立した仮想的なレイヤ2スイッチを作成することです。
VLAN名の設定はオプションです。省略するとデフォルトでは、「VLANxxxx」(xxxx:4桁のVLAN番号)という名前がつけられます。たとえば、VLAN2のVLAN名は「VLAN0002」です。VLAN番号には、標準VLAN番号と拡張VLAN番号があります。
- 標準VLAN番号
- 1~1005
- 1002~1005はトークンリング/FDDI用に予約されています。
- 拡張VLAN番号
- 1006~4094
- 拡張VLAN番号のVLANを作成するには、VTPトランスペアレントモードにする必要があります。
- 拡張VLAN番号のVLANはVTPでアドバタイズされず、他のスイッチと同期を取ることもありません。
- 拡張VLAN番号のVLANはVLANデータベース内に保存されません。
なお、複数のVLANを一括で作成することもできます。「-(ハイフン)」で連続したVLAN番号の複数のVLANを一括で作成可能です。「,(カンマ)」で区切って連続しない複数のVLAN番号のVLANを一括で作成できます。たとえば、VLAN2からVLAN5とVLAN10を一括で作成するためには、以下のコマンド入力です。
複数のVLANの一括作成の例
vlan 2-5,10
スイッチの機種によっては、複数VLANの一括作成はできません。
以前のCatalystスイッチでは、グローバルコンフィグレーションモードではなくVLANデータベースモードで設定しています。
#vlan database
(vlan)#vlan <vlan-id> name <vlan-name>
VLANの削除
VLANは設定で作成するものなので、削除することももちろんできます。VLANを削除する場合は、Ciscoのコマンド削除のフォーマットにしたがって、「no」をつけてコマンドを入力すればOKです。
VLANの削除
(config)#no vlan <vlan-id>
<vlan-id> : 削除したいVLAN番号
削除するときも、「-(ハイフン)」や「,(カンマ)」で複数VLANを一括で削除することもできます。なお、VLANを削除すると、そのVLANのアクセスポートが使えなくなってしまうので注意してください。
関連記事
スイッチポートの設定
DTPモードを適切に設定して、アクセスポートまたはトランクポートとして動作させます。これは、つまり、仮想的なレイヤ2スイッチにポートを割り当てることです。DTPモードは、インタフェースコンフィグレーションモードで次のコマンドで設定します。
DTPモードの設定
(config)#interface <interface-name>
(config-if)#switchport mode {dynamic {auto | desirable} | trunk |access}
<interface-name> : インタフェース名
DTPモードをdynamic auto/desirableにして、ダイナミックにアクセスポート/トランクポートを決定するよりは、スタティックなアクセスポート/トランクポートにする設定が多いでしょう。
関連記事
アクセスポート
スイッチのポートをスタティックなアクセスポートにして、そのVLANメンバーシップを決めるにはインタフェースコンフィグレーションモードで次のように設定します。
アクセスポートの設定
(config)#interface <interface-name>
(config-if)#switchport mode access
(config-if)#switchport access vlan <vlan-id>
<interface-name> : インタフェース名
<vlan-id> : 割り当てたいVLAN番号
スタティックなアクセスポートにする場合は、DTPを無効化しておいた方がよいです。DTPを無効化するには、次のコマンドを使います。
DTP無効化
(config-if)#switchport nonegotiate
トランクポート
スイッチのポートをスタティックトランクポートとして設定するには、次のように設定します。
トランクポートの設定
(config)#interface <interface-name>
(config-if)#switchport trunk encapsulation {dot1q | isl}
(config-if)#switchport mode trunk
<interface-name> : インタフェース名
1Q、ISLの両方のトランクプロトコルをサポートしているときのみ、switchport trunk encapsulationコマンドが必要です。また、スタティックなトランクポートにする場合は、やはりDTPを無効化する方がよいです。
トランクポートは、デフォルトでスイッチ内部のすべてのVLANと接続されます。必要に応じて、トランクポートと接続するVLANを限定することができます。そのためのコマンドは次の通りです。
allowed vlanの設定
(config-if)#switchport trunk allowed vlan [add | all | except | remove] <vlan-list>
<vlan-list> : トランク上で許可するVLAN番号のリスト
また、IEEE802.1Qトランクの場合、ネイティブVLANを指定します。ネイティブVLANの指定はインタフェースコンフィグレーションモードで次のように設定します。
ネイティブVLANの設定
(config-if)#switchport trunk native vlan <vlan-id>
<vlan-id> : ネイティブVLANのVLAN番号
なお、次のコマンドでネイティブVLANのイーサネットフレームにもVLANタグを付加するように設定できます。
ネイティブVLANのタグ付け
(config)#vlan dot1q tag native
VLANとスイッチポートの設定の確認
VLANおよびアクセスポート、トランクポートの設定を確認するためのコマンドを下記の表にまとめています。
showコマンド | 表示内容 |
---|---|
#show vlan [brief] | スイッチに存在するVLANと各VLANに割り当てているアクセスポートを表示します。 |
#show interface trunk | スイッチ上のトランクポートの要約情報を表示します。 |
#show interface <interface-name> switchport | スイッチポート(アクセスポート/トランクポート)の状態を詳細に表示します。 |
VLANとスイッチポートの設定例
次の図は、Catalystスイッチのデフォルトの状態の内部構造をモデル化したものです。Catalyst2970シリーズのスイッチを想定しています。
デフォルトの状態のCatalystスイッチで以下の設定を行います。
- VLAN2を作成
- Fa0/2をVLAN2のアクセスポートにする
- Fa0/3をIEEE802.11Qのトランクポートにする
関連記事
VLAN2の作成
まず、VLAN2を作ります。
VLAN2の作成
vlan 2
この設定により、スイッチの内部にVLAN2の仮想的なスイッチが作られます。必要ならばわかりやすくVLANに名前をつけることも可能です。
Fa0/2をVLAN2のアクセスポートに割り当てる
そして、作成したVLAN2の仮想的なスイッチにポートを割り当てます。Fa0/2をVLAN2のアクセスポートにするためには、 次のコマンドを利用します。
Fa0/2 VLAN2のアクセスポート
interface FastEthernet0/2 switchport mode access switchport access vlan 2
この設定によって、Fa0/2とVLAN2がつながることになります。
Fa0/3をIEEE802.1Qトランクポートにする
Fa0/3をIEEE802.1Qのトランクポートにするには、次のように設定します。
Fa0/3 トランクポート
interface FastEthernet0/3 switchport mode trunk
すると、Fa0/3はVLAN1にもVLAN2にも接続されることになり、各VLANの識別情報を付加してフレームを転送することができます。Catalyst2970シリーズはIEEE802.1Qのみをサポートしています。そのため、switchport trunk encapsulationコマンドは不要です。
ここまでの設定を行った場合、Catalystスイッチの内部の接続は次の図になります。
このように内部の接続の様子を見てみると、VLAN1のアクセスポートのFa0/1とVLAN2のアクセスポートのFa0/2が直接通信できなくなってしまうのもよくわかります。同じスイッチのポートですが、スイッチ内部ではFa0/1、Fa0/2はつながっていないからです。
異なるVLANのポート同士で通信をさせるためには、レイヤ3スイッチやルータを利用して、VLAN間ルーティングを行うことが必要です。
関連記事
確認コマンドのサンプル
上記の設定のときの確認コマンドを実際に見てみましょう。
show vlan brief
まず、スイッチ内部のVLANとアクセスポートを確認するために、show vlan briefコマンドを使います。
show vlan brief
Switch#show vlan brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/1, Fa0/4, Fa0/5, Fa0/6 Fa0/7, Fa0/8, Fa0/9, Fa0/10 Fa0/11, Fa0/12, Fa0/13, Fa0/14 Fa0/15, Fa0/16, Fa0/17, Fa0/18 Fa0/19, Fa0/20, Fa0/21, Fa0/22 Fa0/23, Fa0/24, Gi0/1, Gi0/2 2 VLAN0002 active Fa0/2 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup
VLAN2が存在し、そのアクセスポートとしてFa0/2があることがわかります。
デフォルトのVLAN1のアクセスポートとしてFa0/3が入っていないことに注意してください。Fa0/3はトランクポートの設定をしているので、show vlan briefには現れなくなります。
ルータにイーサネットスイッチモジュールを搭載しているときは、show vlan-switch briefコマンドです。
show interface trunk
トランクポートの確認をするためには、show interface trunkコマンドを使います。このコマンドにより、スイッチ上のすべてのトランクポートの要約情報を確認することができます。設定例でのサンプル出力は下記の通りです。
show interface trunk
Switch#show interfaces trunk Port Mode Encapsulation Status Native vlan Fa0/3 on 802.1q trunking 1 Port Vlans allowed on trunk Fa0/3 1-4094 Port Vlans allowed and active in management domain Fa0/3 1-2 Port Vlans in spanning tree forwarding state and not pruned Fa0/3 1-2
トランクポートに設定したFa0/3のトランクプロトコルやトランクポートで転送するVLANの情報などがわかります。コマンド出力の各項目は次のような情報を表しています。
- Vlans allowed on trunk
switchport trunk allowed vlanコマンドの内容が反映されます。デフォルトでは、1-4094のすべてのVLANです。 - Vlans allowed and active in management domain
許可されているVLANのうち、実際にトランクポートに接続されるアクティブなVLANが表示されます。 - Vlans in spanning tree forwarding state and not pruned
スパニングツリーの計算やVTPプルーニングなどを踏まえて、実際にトランクポートから転送されるVLAN番号が表示されます。トランクポートから転送されるVLANを確認するには、この部分の確認をしてください。
show interface switchport
また、スイッチポートとしての詳細な情報を確認するためには、show interface switchportコマンドを使います。Fa0/2とFa0/3のshow interface switchportコマンドは次の通りです。
show interface switchport
Switch#show interfaces fa 0/2 switchport Name: Fa0/2 Switchport: Enabled Administrative Mode: static access Operational Mode: static access Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: native Negotiation of Trunking: Off Access Mode VLAN: 2 (VLAN0002) Trunking Native Mode VLAN: 1 (default) Voice VLAN: none ~省略~ Switch#show interfaces fa 0/3 switchport Name: Fa0/3 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Voice VLAN: none ~省略~ Trunking VLANs Enabled: ALL ~省略~
アクセスポートもしくはトランクポートとしての情報に加えて、さまざまなレイヤ2レベルの機能を確認することができます。CatalystスイッチのモデルやIOSのバージョンによって表示される内容は異なりますが、主な項目について解説します。
- Administrative Mode
設定されているDTPモードを表します。 - Operational Mode
実際にポートがトランクポートとして動作しているか、アクセスポートとして動作しているかを表します。 - Administrative Trunking Encapsulation
トランクプロトコルの設定を表します。 - Operational Trunking Encapsulation
実際に利用しているトランクプロトコルを表します。 - Negotiation of Trunking
DTPによるネゴシエーションが有効であるかを表します。 - Access Mode VLAN
そのポートがアクセスポートになった場合のVLANメンバーシップのVLAN番号を表します。 - Trunking Native Mode VLAN
1QトランクのネイティブVLANのVLAN番号を表します。ネイティブVLANが意味を持つのは、IEEE802.1Qトランクの場合のみです。 - Voice VLAN
IP Phoneを接続する場合のVoice VLANのVLAN番号を表します。 - Trunking VLANs Enabled
switchport trunk allowed vlanで許可しているVLAN番号を表します。デフォルトは、1-4904(all)となります。
関連記事
以下の記事もあわせてご覧いただくと、VLANについての理解がより深まります。
まとめ
ポイント
- VLANの設定は、レイヤ2スイッチ内部でVLANとポートの関連付けをイメージすることが重要です。
- VLANの設定の流れ
- VLANの作成
- 作成したVLANにポートの割り当て
VLAN(Virtual LAN)の仕組み
- ネットワークを分割する必要性
- ネットワークを分割することの詳細
- VLANの概要
- VLANの仕組み
- アクセスポート ~1つのVLANのみに割り当てるポート~
- トランクポート(タグVLAN) ~複数のVLANに割り当てるポート~
- トランクプロトコルのまとめ ~IEEE802.1QとISL~
- ネイティブVLAN
- ネイティブVLAN不一致の具体例
- ホストでのトランクポートの利用 ~PC/サーバのポートを分割~
- VLANの仕組みをより深く理解する
- VLANの仕組みをより深く理解するための演習
- Cisco DTP ~対向ポートに合わせてトランクポート/アクセスポートに~
- 複数スイッチをまたがるVLANの注意点
- Cisco VLANの設定と確認コマンドを詳しく解説!これでCiscoのVLANの設定はマスター
- Cisco VLANの詳細な設定例
- VLANを削除するときの注意点
- Voice VLAN ~IP PhoneをつなげるためのVLAN~
- VTP ~VLANの設定情報を同期~
- VTPプルーニング ~トランクリンクへの不要なフラッディングを止める~
- VTPの設定と確認
- VLAN間ルーティングの概要
- ルータによるVLAN間ルーティング
- レイヤ3スイッチによるVLAN間ルーティング
- Cisco ルータによるVLAN間ルーティングの設定と確認
- Cisco レイヤ3スイッチによるVLAN間ルーティングの設定(SVI/ルーテッドポート)
- Cisco レイヤ3スイッチ 基本的な設定例
- 演習:レイヤ3スイッチの基本[Cisco]
- 「VLANにIPアドレスを設定する」は間違い
- レイヤ3スイッチのポートの考え方のまとめ ~アクセスポート/トランクポート/SVI/ルーテッドポート~
- プライベートVLAN
- プライベートVLANの設定例
- LANの構成パターン ~2ティア/3ティア~