VLANとは何か
VLAN(Virtual LAN)とは、1台または複数台の物理スイッチ上で、論理的に独立した複数のLANセグメントを作り出す技術です。同じVLANに属するポートどうしは、あたかも同じ1本の物理スイッチにつながっているかのように通信できる一方、異なるVLANに属するポートどうしは、ルーティング(インターVLANルーティング)を経由しない限り、直接通信できません。複数の物理スイッチに同じVLANをまたがらせる場合は、スイッチ間に接続されたトランクリンクで、そのVLANを転送できるように設定する必要があります。
VLANを使うことで、部署・用途ごとにブロードキャストドメインを分割し、無駄なブロードキャストトラフィックを抑えられます。VLANによる分割はL2の分離であり、VLAN間通信を許可・拒否するセキュリティ制御には、ACLやファイアウォールなどの追加設定が必要です。詳しいブロードキャストドメインの考え方は、別記事「スイッチングに関する概念」で扱っています。
VLANの設定
VLANの作成
グローバルコンフィギュレーションモードでvlanコマンドを使い、VLAN番号を指定して作成します。nameサブコマンドで、分かりやすい名前を付けられます。
Switch(config)# vlan 10
Switch(config-vlan)# name SALES
Switch(config)# vlan 20
Switch(config-vlan)# name ENGINEERINGアクセスポートへの割り当て(データVLAN)
PCなど、1つの機器を1つのVLANに接続するポートをアクセスポートと呼びます。インターフェイスコンフィギュレーションモードで、モードをアクセスに固定し、所属させるVLANを指定します。
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10音声VLAN(voice VLAN)
IP電話とPCを同じポートにカスケード接続する構成では、1つの物理ポートに、データ用とは別の音声VLANを追加で割り当てることができます。
Switch(config)# vlan 100
Switch(config-vlan)# name VOICE
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport voice vlan 100Cisco IP電話など、CDPまたはLLDP-MED等で通知された音声VLANを利用できるIP電話では、この設定により、同じポートに接続されたPCのトラフィックはアクセスVLAN(例:VLAN 10)へ、IP電話のトラフィックは音声VLAN(例:VLAN 100)へ、それぞれ別のVLANとして分離されます。音声トラフィックは遅延・ゆらぎに敏感なため、データトラフィックと分離してQoS上の優先制御をしやすくする狙いがあります。
デフォルトVLAN
Cisco製スイッチの工場出荷時の設定では、すべてのポートがVLAN 1に所属した状態になっています。このVLAN 1をデフォルトVLANと呼びます。デフォルトVLANは削除したり、番号を変更したりすることができませんデフォルトVLAN(VLAN 1)は、VTPなど一部の制御トラフィックとも関連する特別なVLANとして扱われています。セキュリティ上の理由から、実運用ではVLAN 1をユーザーのデータ用VLANとしては使わず、専用の管理VLANやユーザーVLANを別途作成して使うことが推奨される場合があります。[1]。
VLAN間接続(インターVLANルーティング)
異なるVLANに属する機器どうしが通信するには、VLANの境界を越えてルーティングを行うインターVLANルーティングが必要です。代表的な実現方法には、次のものがあります。
- ルータオンアスティック(router-on-a-stick):ルータの1つの物理インターフェイスを、複数のサブインターフェイスに分割し、各サブインターフェイスで
encapsulation dot1q <VLAN番号>を設定して異なるVLAN・IPアドレスを割り当て、トランクリンク経由でスイッチと接続する方式です。 - L3スイッチによるインターVLANルーティング:L3スイッチ自体にルーティング機能を持たせ、VLANごとのSVI(Switch Virtual Interface)にIPアドレスを設定することで、独立したルータを使わずにVLAN間のルーティングを行う方式です。
いずれの方式でも、異なるVLAN間の通信には、必ずL3デバイス(ルータまたはL3スイッチ)によるルーティング処理が介在する点は共通しています。各端末には、所属するVLANのサブネットに属するIPアドレスとサブネットマスクを設定し、そのVLANのルータサブインターフェイスまたはSVIのIPアドレスをデフォルトゲートウェイとして設定する必要があります。
ルータオンアスティックの設定例
ルータオンアスティックでは、スイッチのルータ接続ポートをトランクに設定し、ルータの物理インターフェイスを有効化したうえで、VLANごとのサブインターフェイスを設定します。インターフェイス名は機種により異なります。
Switch(config)# interface GigabitEthernet0/24
Switch(config-if)# switchport mode trunk
Router(config)# interface GigabitEthernet0/0
Router(config-if)# no shutdown
Router(config)# interface GigabitEthernet0/0.10
Router(config-subif)# encapsulation dot1q 10
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
Router(config)# interface GigabitEthernet0/0.20
Router(config-subif)# encapsulation dot1q 20
Router(config-subif)# ip address 192.168.20.1 255.255.255.0SVIの設定例
L3スイッチでインターVLANルーティングを行う場合、次のように設定します。
Switch(config)# ip routing
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1 255.255.255.0
Switch(config-if)# no shutdownip routingは、スイッチ自体にL3のルーティング機能を有効化するグローバルコンフィギュレーションコマンドです。L3スイッチであっても、このコマンドを設定しない限り、SVI自体はアップしていてもVLAN間でトラフィックを転送しません。続けて、あらかじめ作成したルーティングしたいVLANごとにinterface vlan <VLAN番号>でSVIを作成し、そのVLANのデフォルトゲートウェイとなるIPアドレスを設定します。SVIはno shutdownで管理上有効にする必要があり、通常は対象VLANが存在し、そのVLANに所属するアクセスポート、またはそのVLANを転送するトランクポートが少なくとも1つリンクアップかつ転送可能な状態でなければアップしません。
設定の確認
VLANの設定内容は、show vlan briefコマンドで確認できます。
Switch# show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Gi0/3, Gi0/4
10 SALES active Gi0/1
20 ENGINEERING active Gi0/2
100 VOICE activeshow vlan briefではアクセスポートのVLAN割り当てを確認できます。トランクポートの状態や、トランク上で許可・転送されるVLANは、show interfaces trunkコマンドで確認します。
特定のポートの設定(アクセスモード・所属VLAN・音声VLAN等)を個別に確認する場合は、show interfaces GigabitEthernet0/1 switchportコマンドが使えます。音声VLANのGi0/1への関連付けも、このコマンドで確認します。
補足
- デフォルトVLAN(VLAN 1)は、VTPなど一部の制御トラフィックとも関連する特別なVLANとして扱われています。セキュリティ上の理由から、実運用ではVLAN 1をユーザーのデータ用VLANとしては使わず、専用の管理VLANやユーザーVLANを別途作成して使うことが推奨される場合があります。 ↩