状況
- GigabitEthernet0/1-8までをVLAN10のアクセスポート
- GigabitEthernet0/9-15までをVLAN20のアクセスポート
- GigabitEthernet0/16をVLAN10/20のトランクポート・ネイティブVLANを10
のように設定していた。
また、VLAN10に静的IPを振って、SSHでリモート管理できるようにコンフィグを入れていた。
上流機器にはArubaスイッチ、さらにその上流にFortigateがあり、VLAN20でのみDHCPを動かしていた。
事象
9-15のポートでは端末を繋ぐとDHCPでIPアドレスが降ってきて、インターネットへ出ることが出来る。
しかし、1-8のポートでは静的IPを降ってもインターネットにPingも通らない。
同一ネットワークであるはずのCatalystもPingが通らない。
上流からCatalystに対してPingもSSHも通らない。
上流機器でDHCPを有効にしても何も起こらない。
原因
Arubaスイッチ側で設定されていたトランクポートのネイティブVLANが1(デフォルト値)であり、Catalystと一致していなかったことが原因だった。
また、トランク対象に含めるVLANをallowedで制限したとしても、ネイティブVLANに同じ番号を設定するとそれはタグなしとして送出されてしまい、上流のArubaスイッチにおいて定義されていたネイティブVLANであるVLAN1として誤って認識されてしまったことも原因であった。
対応
最終的に現地でCatalystにシリアルケーブルを繋ぎ、GigabitEthernet0/16に設定されたネイティブVLANを10から1(デフォルト値)に変更することで上流へ疎通可能になり、Catalystに対しSSHも出来るようになった。
反省
調査開始から解決までおよそ2時間近くかかってしまった。
主な原因としては、上流機器の管理者は遠隔地に居り、Web会議で繋ぎながら作業を行っていた。
こちらから上流機器の設定を直接確認することが出来なかったことと、DHCP側のVLAN20の通信は生きていたので上流側のルーティング等のミスではないかと思い込んでしまっていた。
まず上流・下流含む基本的な設定の照らし合わせをするべきだった。
そしてネイティブVLANは必要ないなら使ってないVLAN番号を使うべき。