VLANの設定 - Catalyst
CatalystにVLANを設定するコマンドの使い方について説明したページです。VLANの動作や意味については「VLAN」をご参照下さい。
CatalystにはVLANの設定を自動的に配布するVTPという機能があります。VTPには4つのモードがあり、それぞれの意味は以下の通りです。
モード | 意味 |
---|---|
サーバー | VLANを設定可能で同一ドメイン内の他のスイッチに配布します。同一ドメイン内の他のサーバーで設定されたVLANも反映されます。 |
クライアント | VLANを設定出来ず、同一ドメイン内のサーバーから配布されたVLANを利用可能です。 |
トランスペアレント | VLANを設定可能で他のスイッチには配布しません。サーバーから配布されたVLANも利用しません。サーバーからクライアントへの配布は転送するため、サーバーとクライアントの途中にトランスペアレントのスイッチがあっても配布可能です。 |
オフ | VLANを設定可能で他のスイッチには配布しません。サーバーから配布されたVLANも利用しません。サーバーからクライアントへの配布は転送しないため、サーバーとクライアントの途中にオフのスイッチがあると配布出来ません。比較的新しいIOSのバージョンでサポートされています。 |
このため、コアスイッチをサーバー、エッジスイッチをクライアントにしてサーバーで設定したVLAN情報を自動反映させると設定が楽になります。
トランスペアレントはVLANの設定が他のスイッチと違う場合、オフはVLANの設定が他のスイッチと違い、且つ配布を中継したくない場合に設定します。又、他社のスイッチと接続が多い場合もトランスペアレントやオフの設定にします。
尚、ドメイン名とはVTP内で使うドメイン名であり、DNSのドメイン名ではありません。VLANを配布する場合はドメイン名が一致している必要があります。
サーバーモードでドメイン名をtestと設定する場合の例は以下の通りです。
Switch# configure terminal Switch(config)# vtp domain test Switch(config)# vtp mode server
ドメイン名が一致したCatalyst間でVLANが配布されるため、1つのCatalystで設定したVLANは他のCatalystで設定が不要になります。
クライアントモードの設定は以下の通りです。クライアントモードではサーバーモードのCatalystと接続されると自動的にドメイン名を取得するため、ドメイン名の設定は明示的にする必要がありません。
Switch# configure terminal Switch(config)# vtp mode client
トランスペアレントモードの設定は以下の通りです。
Switch# configure terminal Switch(config)# vtp mode transparent
オフの設定は以下の通りです。
Switch# configure terminal Switch(config)# vtp mode off
VLANの作成
VLANの作成は以下のように行います。
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name test ★VLAN名をtestとする場合。省略可。
Switch(config-vlan)# exit
上記ではVLAN10を作成しています。VTPを使う場合は、サーバーモードのCatalyst1台で作成すればドメイン内の全てのCatalystに反映されます。トランスペアレントモードやオフの場合は、それぞれのCatalystで作成が必要です。
ポートVLANの設定
以下の図を例に設定を説明します。
VLANを作成している場合、スイッチAに対するポートVLANの設定は以下の通りです。
Switch(config)# interface range gigabitethernet1/0/1 - 2 Switch(config-if-range)# switchport Switch(config-if-range)# switchport mode access Switch(config-if-range)# switchport access vlan 10 Switch(config-if-range)# no shutdown Switch(config-if-range)# exit
- ・switchport
- 物理インターフェースをレイヤー2に設定し、VLANを割り当てれるようにするコマンドです。デフォルトでレイヤー2のCatalystもあり、その場合は不要です。又、Catalyst2960シリーズ等ではswitchportコマンドがありません。switchportコマンドを入力して% Incomp command.と表示された場合は、レイヤー2インターフェースだけサポートする機種なので無視して大丈夫です。
- ・switchport mode access
- ポートVLANを使えるように設定しています。ポートVLANを使えるように設定されたインターフェースをアクセスポートと言います。
- ・switchport access vlan 10
- VLAN10を物理インターフェースで使えるようにしています。
- ・no shutdown
- 物理インターフェースを使えるようにするコマンドです。デフォルトで使えるようになっているCatalystが殆どだと思いますが、既に導入されているCatalystは使わないインターフェースをセキュリティのためshutdownしている事も多いです。その場合はno shutdownでUPするようにします。
スイッチBに対する設定も同様です。
タグVLANの設定
以下の図を例に設定を説明します。
スイッチAに対する設定は以下の通りです。
Switch(config)# interface gigabitethernet1/0/1 Switch(config-if)# switchport Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10 Switch(config-if)# no shutdown Switch(config-if)# exit Switch(config)# interface gigabitethernet1/0/2 Switch(config-if)# switchport Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk Switch(config-if)# no shutdown Switch(config-if-range)# exit
赤字の部分がポートVLANの時と異なるコマンドです。
- ・switchport trunk encapsulation dot1q
- カプセル化形式をdot1qに設定しています。カプセル化形式とはフレームに追加するVLANタグの形式です。ISLというシスコ独自の形式も指定出来ますが、異機種間で接続する場合はdot1qを指定します。最近では通常はdot1qに設定すると思います。Catalyst2960等、dot1qだけサポートしており、コマンド自体が使えないスイッチもあります。
- ・switchport mode trunk
- タグVLANを使えるように設定しています。タグVLANを使えるように設定されたインターフェースをトランクポートと言います。モードはtrunk以外に自動設定も可能ですが、trunkでよいと思います。
この他、トランクポートで使えるVLANを一部に限定するコマンドもあります。
Switch# configure terminal Switch(config)# interface gigabitethernet1/0/2 Switch(config-if)# switchport trunk allowed vlan 10-20
上記ではVLAN10から20までを許可していますが、10と20だけを指定したい場合は10,20等カンマで区切ります。
許可するVLANを追加する場合はswitchport trunk allowed vlan add 21,25等と設定します。既にVLAN10〜20まで許可していた場合、10〜21と25が許可されるようになります。addは現在許可しているVLANに追加するという意味のため、複数定義すると許可するVLANが追加されていきます。又、 allowedの部分をremoveにする事で現在許可されているVLANから削除出来ます。
許可するVLANを指定すれば、例えばVLANが100個あってインターフェースでは10個しか使ってない場合、残り90個のVLANのフレームが流れなくなるため、帯域の節約になります。
スイッチBに対する設定も同様です。
VLANの確認
使われているVLAN番号と割り当てられているインターフェースを確認するためにはshow vlan briefコマンドを使います。
Switch# show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Gi1/0/3, Gi1/0/4, Gi1/0/5, Gi1/0/6
Gi1/0/7, Gi1/0/8, Gi1/0/9, Gi1/0/10
Gi1/0/11, Gi1/0/12, Gi1/0/13, Gi1/0/14
Gi1/0/15, Gi1/0/16, Gi1/0/17, Gi1/0/18
Gi1/0/19, Gi1/0/20, Gi1/0/21, Gi1/0/22
Gi1/0/23, Gi1/0/24
10 VLAN0010 active Gi1/0/1
1002 fddi-default act/unsup
1003 trcrf-default act/unsup
1004 fddinet-default act/unsup
1005 trbrf-default act/unsup
VLAN1はデフォルトのVLANでインターフェースにVLANを設定していない場合に割り当てられます。このため、VLANを作成したりインターフェースに割り当てなくてもデフォルトVLANで通信可能になっています。
赤字の部分が作成したVLAN10でインターフェースgigabitehernet1/0/1に割り当てられている事が分かります。
VLAN1002から1005は予約されたVLANで設定しなくても出力されます。
留意点
VTPはトランクポート間で接続された場合のみVLAN情報を送受信出来ます。このため、コアスイッチをサーバー、エッジスイッチをクライアントにする場合、コアスイッチ〜エッジスイッチ間はトランクポートで接続されている必要があります。
VLAN IDは1006以上は拡張範囲VLANと言って最大4094まで使える機種もありますが、留意点も多くなってきます。デフォルトVLANが1、1002〜1005が予約されているため、可能であれば2〜1001までの間で作成する事をお奨めします。
使えるVLANの数は機種によって様々ですが最大255の機種もあるため、出来れば255以内にした方がよいと思います。
又、試験環境等で利用していたCatalystを本番環境に接続する場合は注意が必要です。
VTPで送受信される情報にはリビジョン番号があり、VLAN情報が更新される度に数字が大きくなります。つまり、受信したCatalyst側ではリビジョン番号が大きなものを有効にし、リビジョン番号が小さいものは無視します。このため、試験環境で利用していたCatalystのリビジョン番号が大きい場合、本番環境の全てのCatalystのVLAN情報が消去される等、大きな影響が出る可能性があります。
リビジョン番号はshow vtp statusコマンドを使って確認出来ます。
Switch# show vtp status
VTP Version capable : 1 to 3
VTP version running : 1
VTP Domain Name : test
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : ffff:1111:ffff
Feature VLAN:
--------------
VTP Operating Mode : Server
Maximum VLANs supported locally : 1005
Number of existing VLANs : 2
Configuration Revison : 12
MD5 digest : 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
機種やIOSによって若干表示のされ方が違いますが、リビジョン番号の部分を探し、試験環境で使っていたCatalystの方がリビジョン番号が大きい場合、以下のようにVTPドメイン名を再設定する事でリビジョン番号をクリア出来ます。
Switch(config)# vtp domain abc ★一時的なドメイン名 Switch(config)# vtp domain test ★元のドメイン名
リビジョン番号をクリアした後、本番環境に接続します。
- 応用編「VLAN」