「同じスイッチに挿しているのにPing が通らない」。これ、初心者がよく踏む罠で、原因の多くはVLANでした。
VLANは「スイッチの中を仕切る壁」
普通のスイッチは、挿さっている機器を全部ひとつのネットワーク(同じブロードキャストドメイン)として扱います。VLAN(Virtual LAN)は、その1台のスイッチを論理的に複数のネットワークに区切る機能です。
例えば8ポートのスイッチで、ポート1〜4を VLAN10(営業部)、ポート5〜8を VLAN20(開発部) に分けると、物理的には1台でも、VLAN10とVLAN20は別々のネットワークになります。VLANが違えば、同じスイッチでもL2では直接通信できません。 これが「挿しているのに通信できない」の正体です。
アクセスポートの設定(Cisco)
1つのVLANだけを流すポートを「アクセスポート」と呼びます。
Switch(config)# vlan 10
Switch(config-vlan)# name Sales
Switch(config)# interface range fa0/1 - 4
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 10
これでポート1〜4がVLAN10になります。VLAN20も同様に設定します。
VLANをまたいで通信したいときは?
営業部と開発部が通信する必要があるなら、L3(ルーター、またはL3スイッチ)を経由させます。いわゆる「VLAN間ルーティング」です。ルーターに各VLAN用のIPアドレス(デフォルトゲートウェイ)を持たせ、そこを通って別VLANへ抜けます。
interface vlan 10
ip address 192.168.10.1 255.255.255.0
interface vlan 20
ip address 192.168.20.1 255.255.255.0
つまずきポイントの切り分け
通信できないとき、自分は次の順で確認するようにしました。
- 2台は本当に同じVLANか(
show vlan briefでポートの所属を確認) - IPアドレスとサブネットマスクは同じネットワークになっているか
- 別VLANなら、ゲートウェイ(L3側のIP)が正しく設定されているか
「物理的につながっている=通信できる」ではない、というのがVLANを理解して一番腑に落ちた点でした。