概要

Cisco IOSでのVLANの設定と確認コマンドを詳しく解説します。VLANを作成するときには、レイヤ2スイッチの内部で、VLANとポートの関連付けをイメージすることがポイントです。

図 VLANの設定のポイント
図 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とスイッチポートの主なshowコマンド

VLANとスイッチポートの設定例

次の図は、Catalystスイッチのデフォルトの状態の内部構造をモデル化したものです。Catalyst2970シリーズのスイッチを想定しています。

図 デフォルトのVLANとポートの対応
図 デフォルトのVLANとポートの対応

デフォルトの状態の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スイッチの内部の接続は次の図になります。

 図  VLANとスイッチポートの設定例
図 VLANとスイッチポートの設定例

このように内部の接続の様子を見てみると、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)となります。

まとめ

ポイント

  1. VLANの設定は、レイヤ2スイッチ内部でVLANとポートの関連付けをイメージすることが重要です。
  2. VLANの設定の流れ
    1. VLANの作成
    2. 作成したVLANにポートの割り当て

VLAN(Virtual LAN)の仕組み