ネットワークを分割してセキュリティや管理性を高めるために利用されるのがVLAN(Virtual LAN)です。 しかし、VLANを導入した際に多くのエンジニアが直面するのが「VLAN間で通信できない」というトラブルです。 本記事では、VLAN間ルーティングの基本から、通信できないときに確認すべきポイント、Ciscoスイッチでの設定例を詳しく解説します。

VLAN間ルーティングの基本

VLANはレイヤー2での分割機能であり、同じVLAN内でのみ通信が可能です。 異なるVLAN間の通信を行うにはレイヤー3(ルーティング)機能が必要になります。 この方法には以下の2つがあります。

  • SVI(Switch Virtual Interface)を利用する方法:レイヤー3スイッチの仮想インターフェースにIPを設定し、ルーティングを実行
  • Router on a Stick構成:ルータのサブインターフェースをトランクで接続し、各VLANのゲートウェイを割り当てる方式

現場ではレイヤー3スイッチを利用してSVIでルーティングする構成が主流です。

VLAN間通信できないときの原因と確認ポイント

1. SVIが未設定またはshutdown状態

各VLANに対応するSVI(例:interface vlan 10)が存在しなければ、ルーティングできません。 また、IPを設定していてもインターフェースがshutdown状態では無効です。

Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1 255.255.255.0
Switch(config-if)# no shutdown

2. ip routingが有効化されていない

L3スイッチでは「ip routing」を有効化しなければ、VLAN間ルーティングが機能しません。

Switch(config)# ip routing

3. トランクポート未設定

VLANを跨いで通信するには、スイッチ間接続ポートをトランクとして設定する必要があります。 誤ってアクセスポートのままでは通信できません。

Switch(config)# interface gigabitEthernet0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20

4. ACLやFirewallでブロックされている

SVIやルータでACLを適用している場合、VLAN間の通信が制限されている可能性があります。 トラブルシュート時には一旦ACLを無効化して確認すると切り分けが容易です。

Ciscoスイッチ設定例(VLAN10と20間ルーティング)

! VLAN作成
Switch(config)# vlan 10
Switch(config-vlan)# name VLAN10
Switch(config)# vlan 20
Switch(config-vlan)# name VLAN20

! SVI設定
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1 255.255.255.0
Switch(config-if)# no shutdown

Switch(config)# interface vlan 20
Switch(config-if)# ip address 192.168.20.1 255.255.255.0
Switch(config-if)# no shutdown

! ip routingを有効化
Switch(config)# ip routing

! トランク設定(他のスイッチと接続するポート)
Switch(config)# interface g0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20

確認コマンド

! VLANとSVIの状態確認
Switch# show vlan brief
Switch# show ip interface brief

! ルーティングテーブル確認
Switch# show ip route

! VLAN間の疎通確認
Switch# ping 192.168.20.10 source 192.168.10.1

これらのコマンドを使って、VLANが正しく作成されているか、SVIが有効か、ルーティングが有効かを確認できます。

実務でよくあるトラブル事例

  • VLAN20からVLAN30へのPingが通らない → VLAN30のSVIがshutdown状態だった
  • VLAN間は通信できるがインターネットに出られない → デフォルトルート設定忘れ
  • 一部PCだけ通信できない → PCのデフォルトゲートウェイが誤設定されていた

まとめ

VLAN間ルーティングができない原因の多くは、SVI未設定・shutdown・ip routing未設定・トランク設定ミスにあります。 これらを確認すれば、ほとんどのトラブルは切り分け可能です。 現場対応の際は、まずは「showコマンド」で状態を確認し、物理・L2・L3の順で原因を絞り込むのが効果的です。 VLAN環境はシンプルな構成が多いですが、基本を押さえることで大規模環境でも安定した設計が可能になります。