「VLANって何のために使うの?スイッチにポートがあるならそのまま繋げばよくない?」
めちゃくちゃいい疑問です。VLANの必要性って、小さなネットワークしか知らないと実感しにくいんですよね。
でも会社のネットワークを想像してみてください。営業部、開発部、経理部、来客用Wi-Fi——全部が同じスイッチに繋がっている状態。経理部の給与データのブロードキャストが営業部のPCにも飛んでいく。来客の私物PCから社内サーバーにアクセスできちゃう。
……やばいですよね。
VLANは「物理的には同じスイッチに繋がっているけど、論理的にネットワークを分ける」技術です。 ケーブルを差し替えなくても、設定だけでネットワークを分離できる。これがVLANのありがたみです。
私は業務でオフィスのネットワーク設計をするとき、まずVLAN設計から始めます。「どの部署をどのVLANに入れるか」が決まらないと、その先のIPアドレス設計もセキュリティ設計も進まない。それくらい基礎的で重要な技術です。
VLANがないとどうなる?
ブロードキャストストームの恐怖
スイッチに100台のPCが繋がっていて、VLANを分けていないとします。1台がブロードキャスト(「誰かいますかー?」的な通信)を送ると、残り99台全部に届きます。
100台が同時にブロードキャストを送ったら? ネットワークがブロードキャストで埋め尽くされて、まともに通信できなくなります。
VLANを分ければ、ブロードキャストは同じVLAN内にしか届かない。営業部のVLANで起きたブロードキャストは、開発部のVLANには影響しない。これがブロードキャストドメインの分割です。
セキュリティの問題
VLANを分けていないと、全端末が同じネットワークにいるので、原理的には誰でも誰のPCにアクセスできます。来客が持ち込んだPCから経理のファイルサーバーに……なんてことも起こり得る。
VLANを分ければ、異なるVLAN間の通信はルーター(またはL3スイッチ)を経由するので、ACLやファイアウォールで制御できます。
VLANの基本を図で理解する
スイッチが1台あって、ポートが24個ある。ポート1〜12を「VLAN 10(営業部)」、ポート13〜24を「VLAN 20(開発部)」に設定する。
これだけで、ポート1に繋がったPCとポート13に繋がったPCは、同じスイッチに物理的に繋がっているのに通信できなくなります。 まるで2台の別々のスイッチに繋がっているかのように動く。
アクセスポートとトランクポート
次はポートの種類です。ここを知らないとコマンド設定で詰まるので、確認しておきましょう。
アクセスポート
PCやプリンターなどの「エンドデバイス」を繋ぐポート。1つのVLANにだけ所属します。
interface fa0/1
switchport mode access
switchport access vlan 10
これで「ポートfa0/1はVLAN 10に所属」になります。このポートを通るフレームにはVLANタグが付きません。PCは自分がどのVLANにいるかなんて知らなくていい。
トランクポート
スイッチ同士を繋ぐポート。複数のVLANのトラフィックをまとめて転送します。
フロア1のスイッチとフロア2のスイッチを繋ぐとき、営業部(VLAN 10)と開発部(VLAN 20)のトラフィックを両方通す必要がありますよね。そこで使うのがトランクポート。
トランクポートを通るフレームには802.1Qタグが付きます。「このフレームはVLAN 10のやつ」「こっちはVLAN 20」という荷札みたいなもの。対向スイッチはタグを見て、適切なVLANに振り分けます。
interface gi0/1
switchport mode trunk
switchport trunk allowed vlan 10,20
ネイティブVLANの罠
802.1Qには「ネイティブVLAN」という仕組みがあります。ネイティブVLANに属するフレームだけ、タグを付けずに転送される。デフォルトはVLAN 1。
これ、セキュリティ的に危ないんです。攻撃者がVLAN 1のタグなしフレームを悪用して、本来アクセスできないVLANに侵入する「VLANホッピング攻撃」が知られています。
対策として、ネイティブVLANをデフォルトのVLAN 1から変更するのがベストプラクティス。私も実務では必ず変更しています。
VLAN間で通信するには?
VLANを分けると、異なるVLAN間の通信はスイッチだけでは不可能になります。ルーター(またはL3スイッチ)が必要。
ルーター・オン・ア・スティック
ルーターの物理ポート1つで、複数のVLAN間のルーティングを実現する構成です。
ルーター側で「サブインターフェース」を作成して、各VLANに対応するIPアドレスを設定します。
interface gi0/0.10
encapsulation dot1Q 10
ip address 192.168.10.1 255.255.255.0
interface gi0/0.20
encapsulation dot1Q 20
ip address 192.168.20.1 255.255.255.0
スイッチ側はルーターへの接続をトランクポートにする。これでVLAN 10とVLAN 20の通信がルーター経由で可能になります。
名前がちょっとダサいですが、小〜中規模ネットワークではよく使われる構成です。
L3スイッチ(SVI)
大規模になると、ルーター・オン・ア・スティックでは帯域がボトルネックになります。そこでL3スイッチのSVI(Switch Virtual Interface)を使います。
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
ip routing
ルーターを別途用意する必要がなく、スイッチ内部でVLAN間ルーティングが完結するので、速度も圧倒的に速い。実務ではこちらが主流です。
Packet Tracerで試してみよう
- スイッチ1台にPC3台を接続
- VLAN 10(PC0, PC1)とVLAN 20(PC2)を設定
- PC0からPC1にping → 通る(同じVLAN)
- PC0からPC2にping → 通らない(異なるVLAN)
- ルーター・オン・ア・スティックを追加設定
- PC0からPC2にping → 通る(ルーター経由)
4番目の「通らない」を自分の目で確認するのが大事。VLANがブロードキャストドメインを分割していることを体感できます。
VLANの問題で力試し
まとめ
VLANは「物理的に同じスイッチに繋がっていても、論理的にネットワークを分ける」技術です。ブロードキャストを抑えてセキュリティを高める、ネットワーク設計の基本中の基本です。
アクセスポートとトランクポートの使い分け、VLAN間通信にはL3機器が必要という点は試験でもよく問われます。コマンドを一度Packet Tracerで打ってみると、頭ではなく体で覚えられます。