VLANとは
VLAN(Virtual LAN)は、物理的な接続形態に依存せずに、スイッチ内部で仮想的にLANを分割する技術です。本来スイッチはすべてのポートが1つのブロードキャストドメインに属しますが、VLANを設定することで複数のブロードキャストドメインを論理的に作ることができます。これにより、L2スイッチであってもルータやL3スイッチと同じようにブロードキャストの分割が可能になります。
VLANを利用する際には、各ポートに「VLAN ID」という識別番号を設定します。同じVLAN IDを持つポート同士は同じブロードキャストドメインに属し、異なるVLAN IDが設定されていれば通信は分離されます。
VLANの特徴
1. ブロードキャストドメインの分割
VLANを使わない状態では、ある端末がARPリクエストを投げると同じスイッチ内の全端末にブロードキャストが届いてしまいます。しかし、VLANを導入すると、そのブロードキャストは同じVLAN IDを持つ端末だけに届きます。その結果、余計なフレームを受信することがなくなり、CPU処理の負荷を減らすことができます。
2. 物理的配置に依存しない柔軟なセグメント化
VLANは1台のスイッチ内だけでなく、複数のスイッチにまたがって設定できます。例えば、営業部が10階と15階に分かれている場合、両フロアの営業部ポートを同じVLANに設定すれば、離れた場所でも同一ネットワークとして扱えます。部署の移動があってもポートのVLAN IDを変更するだけで済むため、柔軟なネットワーク構成が可能です。
3. セキュリティの向上
VLANは同じVLAN内のポートにしかブロードキャストを転送しません。そのため、異なるVLAN IDが設定されている端末同士は、たとえ同じIPアドレス帯を設定していても通信できません。これにより部門間のトラフィックを分離し、情報漏洩や不正アクセスを防ぐ効果があります。
Cisco Catalystスイッチでの用語
デフォルトVLAN
Catalystスイッチは出荷時の状態で、すべてのポートにVLAN 1が設定されています。このVLAN 1は「デフォルトVLAN」と呼ばれ、初期状態ではスイッチ全体が1つのブロードキャストドメインとして動作します。
また、CatalystスイッチではVLAN 1に加えて以下のVLANもデフォルトで存在します。
- VLAN 1002 … fddi-default
- VLAN 1003 … token-ring-default
- VLAN 1004 … fddinet-default
- VLAN 1005 … trnet-default
これらは古い技術用に予約されているVLANですが、実務でも試験でもほとんど利用されることはありません。
管理VLAN
管理VLANとは、スイッチの管理用通信(Telnet、SSH、SNMPなど)を流すためのVLANのことです。デフォルトでは VLAN 1 が管理VLANとして利用されます。管理VLANにIPアドレスを割り当てることで、外部の管理者PCからスイッチにアクセスできるようになります。
スイッチへのIPアドレス設定例
スイッチの管理VLANにIPアドレスを設定する際は、以下の手順で行います。
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1 255.255.255.0
Switch(config-if)# no shutdown
ここで指定する vlan-id は管理に使うVLANの番号、ip address は管理用のIPアドレス、subnet mask はネットワークに合わせたマスクを設定します。
アクセスポートとトランクポート
VLANを利用するスイッチには、大きく分けて アクセスポート と トランクポート の2種類があります。
アクセスポートは「1つのVLANだけに所属」するポート、トランクポートは「複数のVLANにまたがって所属」できるポートです。これらを正しく理解することが、VLAN設定の基本になります。
アクセスポート
アクセスポートは、特定のVLANに固定的に属するポートです。PCやプリンタなど、通常1つのネットワークに所属するエンドデバイスはアクセスポートに接続されます。
スタティックVLAN
もっとも一般的な設定方法で、管理者が手動でポートにVLAN IDを割り当てます。設定がシンプルで確実性が高いため、実務でもほとんどの場合この方法が使われます。
ダイナミックVLAN
ポートに接続するデバイスによって、所属するVLANが自動的に切り替わる方式です。判定の基準としては、
- MACアドレスベース(端末のMACアドレスに応じてVLANを割り当て)
- サブネットベース(IPアドレスに応じてVLANを割り当て)
- ユーザベース(ユーザ名やグループ情報に基づいてVLANを割り当て)
などがあります。MACベースVLANの場合は、事前に「どのMACアドレスをどのVLANに割り当てるか」という対応表を用意し、VMPS(VLAN Management Policy Server)で管理します。
ただし実務ではVMPSよりも、802.1X認証とActive Directoryを組み合わせて、ユーザやグループごとにVLANを割り当てる方法の方が主流です。
トランクポート
トランクポートは、複数のVLANの通信を1本の物理リンクにまとめて転送できるポートです。主にスイッチ同士を接続する場面で使われます。
もしトランクを使わない場合、スイッチ間でVLANごとに専用ポートを接続する必要があります(VLANの数だけケーブルが必要になる)。一方でトランクを使えば、1本の物理リンクに複数VLANのトラフィックを流せるため効率的です。このリンクを トランクリンク と呼びます。
フレームを転送するときは「どのVLANのフレームなのか」を識別する必要があるため、フレームにタグを付加して転送します。
トランキングプロトコル
トランクリンクでフレームにタグを付ける方式には、次の2種類があります。
IEEE 802.1Q(dot1q)
現在主流の標準規格です。イーサネットフレームの 送信元MACアドレスとタイプフィールドの間 に4バイトのタグを挿入します。タグの内容は以下の通りです。
| フィールド | ビット数 | 説明 |
|---|---|---|
| TPID(Tag Protocol Identifier) | 16 | 802.1Qフレームであることを示す。値は0x8100。 |
| PCP(Priority Code Point) | 3 | 優先度(QoS用)。値は0~7。 |
| CFI(Canonical Format Indicator) | 1 | アドレス形式の識別。イーサネットでは0。 |
| VID(VLAN Identifier) | 12 | VLAN ID(0~4095)。実際に利用できるのは1~4094。 |
また、802.1Qでは ネイティブVLAN という特別な仕組みがあります。ネイティブVLANに属するフレームはタグを付けずに送信されます。デフォルトではVLAN 1がネイティブVLANとして設定されており、CDP・PAgP・VTP・DTPといった制御トラフィックがこのVLANを通じて流れます。トランクリンクを正しく動作させるためには、両端のネイティブVLANを必ず一致させる必要があります。
ISL(Inter-Switch Link)
シスコ独自の方式で、フレーム全体をヘッダとFCSでカプセル化します。そのため、追加される情報は802.1Qよりも多く(30バイト)、フレームサイズは最大1548バイトとなります。ネイティブVLANの概念はありません。現在はほとんど利用されず、試験対策として学習する位置づけです。
トランキングプロトコルの比較
| 項目 | IEEE802.1Q | ISL |
|---|---|---|
| 規格 | IEEE標準 | シスコ独自 |
| 方式 | タギング方式(フレームにタグを挿入) | カプセル化方式(フレーム全体を包む) |
| ネイティブVLAN | サポートあり | サポートなし |
| 付加サイズ | 4バイト | 30バイト |
| 最大フレームサイズ | 1522バイト | 1548バイト |
VLANの作成とポート設定
VLANを利用するためには、まずVLAN自体を作成し、その後でスイッチポートに割り当てる必要があります。ここでは、VLANの作成方法とポート設定方法を整理します。
VLANの作成
VLANを作成する際には、次の手順を使います。
Switch(config)# vlan vlan-id
Switch(config-vlan)# name vlan-name
コマンド解説
- vlan-id:1~4094の範囲で指定可能。複数同時作成する場合はカンマ(
,)やハイフン(-)を使います。vlan 10→ VLAN 10を作成vlan 10,20→ VLAN 10と20を作成vlan 10-20→ VLAN 10~20までを一括作成(11個)
- vlan-name:任意の名前を付けられます。必須ではありませんが、管理上のわかりやすさのために設定するのが一般的です。名前を設定しない場合、自動的に「VLAN0010」のように番号形式で表示されます。
Switch(config)# vlan 10
Switch(config-vlan)# name Sales
これで VLAN 10 に「Sales」という名前が付きます。
VLAN削除
作成済みのVLANを削除したい場合は no vlan vlan-id を指定します。
Switch(config)# no vlan 10
ただし、デフォルトで存在する VLAN 1、VLAN 1002~1005 は削除できません。
VLAN IDの範囲と役割
| VLAN ID | 説明 |
|---|---|
| 0, 4095 | システム内部で使用されるため利用不可 |
| 1 | デフォルトVLAN |
| 2~1001 | 標準VLAN |
| 1002~1005 | Token Ring / FDDI 用に予約されたデフォルトVLAN |
| 1006~4094 | 拡張VLAN |
スイッチポートのモード設定
VLANを作成しただけでは通信できません。ポートをどのモードで動作させるかを設定する必要があります。
Switch(config-if)# switchport mode [ access | trunk | dynamic desirable | dynamic auto ]
モードの意味
| モード | 説明 | DTP送信 |
|---|---|---|
| access | アクセスポートとして動作(1つのVLANに所属)。PCやプリンタなどの端末接続向け | しない |
| trunk | トランクポートとして動作(複数のVLANを通す)。主にスイッチ間接続向け | する |
| dynamic desirable | 対向とネゴシエーションし、可能であればトランクになる | する |
| dynamic auto | 相手がトランクや desirable の場合にのみトランクになる | しない |
ポートモードの組み合わせ
| 自分の設定 | 相手: access | 相手: trunk | 相手: desirable | 相手: auto |
|---|---|---|---|---|
| access | アクセス | 非推奨 | アクセス | アクセス |
| trunk | 非推奨 | トランク | トランク | トランク |
| desirable | アクセス | トランク | トランク | トランク |
| auto | アクセス | トランク | トランク | アクセス |
試験では「dynamic desirable と dynamic auto を組み合わせるとどうなるか」といった問題がよく出ます。基本的に、実務では access か trunk を明示的に指定するのが一般的です。
DTPの無効化
DTP(Dynamic Trunking Protocol)は、対向ポートと自動的にネゴシエーションしてモードを決定するシスコ独自の仕組みです。ただし、セキュリティリスクや予期せぬ挙動を避けるため、現場では無効化することが多いです。
Switch(config-if)# switchport nonegotiate
アクセスポートにVLANを割り当てる
アクセスポートにVLANを割り当てる際は、まずアクセスモードにしてからVLAN IDを指定します。
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
これで、そのポートに接続された端末は VLAN 10 に所属します。
割り当て削除
割り当てを削除する場合は no を付けます。
Switch(config-if)# no switchport access vlan 10
なお、デフォルトで全ポートは VLAN 1 に所属していますが、この情報は running-config には表示されません。
VLAN – トランクポートの設定
トランクポートは、複数のVLANにまたがるトラフィックを1本の物理リンクで伝送できるようにするための仕組みです。スイッチ間を接続する際に必ず登場する重要な設定ポイントです。ここでは、トランクポートの基本設定から、ネイティブVLANや許可VLANの制御方法まで整理していきます。
トランクポートのモード設定
トランクポートとして動作させたい場合は、インターフェースで以下を設定します。
Switch(config-if)# switchport mode trunk
一部のCatalystスイッチは IEEE 802.1Q のみをサポートしていますが、機種によっては ISL と両方をサポートしている場合もあります。その場合、まずトランキングプロトコルを指定する必要があります。
Switch(config-if)# switchport trunk encapsulation [ dot1q | isl ]
現在の主流は dot1q です。ISLはシスコ独自方式ですが、実務で使われることはほとんどありません。
ネイティブVLANの設定
802.1Qでは、指定したVLANを「タグなし」で転送する仕組みがあります。これを ネイティブVLAN と呼びます。デフォルトは VLAN 1 ですが、必要に応じて変更可能です。
Switch(config-if)# switchport trunk native vlan 5
上記設定により、VLAN 5 がネイティブVLANとなり、タグなしフレームはVLAN 5のものとして扱われます。
※ トランクの両端で同じネイティブVLANを設定する必要があります。
許可するVLANの制御
デフォルトでは、スイッチで作成されているすべてのVLANがトランクリンクを通過します。しかし、不要なトラフィックを抑制するために、通過させるVLANを限定するのが一般的です。
Switch(config-if)# switchport trunk allowed vlan vlan-id
例
- VLAN 10 だけを通過させる
Switch(config-if)# switchport trunk allowed vlan 10
- VLAN 10 と 20 を通過させる
Switch(config-if)# switchport trunk allowed vlan 10,20
- VLAN 10~20 を通過させる
Switch(config-if)# switchport trunk allowed vlan 10-20
これにより、存在しないVLANの無駄なトラフィックを遮断できます。
許可VLANの追加・削除
設定済みの allowed VLAN を書き換えるのではなく、「追加」や「削除」で柔軟に調整することも可能です。
| コマンド | 説明 |
|---|---|
add | 既存の設定にVLANを追加する |
remove | 指定したVLANだけを削除する |
except | 指定したVLAN以外をすべて許可する(非推奨) |
all | 全VLANを許可(デフォルト状態に戻す) |
例
- VLAN 1,2 を許可済み → VLAN 10 を追加
Switch(config-if)# switchport trunk allowed vlan add 10
- VLAN 1,2,10 を許可済み → VLAN 10 を削除
Switch(config-if)# switchport trunk allowed vlan remove 10
まとめ
- 基本設定:
switchport mode trunkでトランク化 - プロトコル指定:機種によっては
encapsulation dot1qが必要 - ネイティブVLAN:タグなしフレームを扱う特別なVLAN(デフォルトは VLAN 1)
- allowed VLAN:通過させるVLANを制御し、不要なトラフィックを抑制
試験では「デフォルトのネイティブVLANは1」「allowed VLANを指定しないと全て通過する」という点がよく出題されます。特に、実務では不要なVLANを通さない設計が基本となるため、この考え方を理解しておくことが重要です。
VLANの状態確認コマンドと見方
スイッチにVLANを設定した後、その状態が正しく反映されているかどうかを確認するために「showコマンド」を使います。ここでは、デフォルト状態から設定変更後の確認方法までを整理して解説します。試験でもよく問われる部分なので、意味を理解したうえで実際の出力の見方を押さえておきましょう。
VLAN情報の表示(デフォルト状態)
スイッチには、最初からいくつかのVLANが登録されています。その内容を確認するのが以下のコマンドです。
Switch# show vlan
この出力では次の情報を確認できます。
1つ目は、スイッチに存在するVLAN IDの一覧です。たとえば1番のVLANはデフォルトで全ポートが所属しており、ここから必要に応じて分けていきます。
2つ目は、各VLANに付けられている名前です。特に初期状態の「default」という名前は、VLAN 1を指します。
3つ目はVLANのステータスで、通常は「active」と表示されます。もし「act/lshut」と出た場合は、そのVLANがshutdownされていて使えない状態です。また1002~1005は古い規格向け(FDDIやトークンリング用)で、サポートされないため「act/unsup」と表示されます。
4つ目は、そのVLANに所属するポート番号です。ここにアクセスポートが並びますが、トランクポートに設定されたポートは表示されません。
5つ目はMTU(最大転送単位)で、デフォルトは1500バイトとなっています。
なお、概要だけを確認したいときは次のコマンドを使います。
Switch# show vlan brief
こちらは一覧性が高いため、試験問題でも「簡潔に確認できるコマンドはどれか」と問われることがあります。
VLAN作成後の確認
たとえば、VLAN 10を作成して「Sales」という名前を付け、特定のポートを割り当てたとします。このとき再び「show vlan brief」を確認すると、VLAN 10が追加され、そのポートが新しいVLANに所属していることが確認できます。ここで正しく反映されていなければ、設定の入力ミスやポートの指定間違いを疑う必要があります。
スイッチポートの状態確認
VLANの情報だけでなく、ポート単位で状態を確認したいときは以下のコマンドを使います。
Switch# show interfaces interface-id switchport
ここで確認できるのは、そのポートがアクセスポートなのかトランクポートなのか、どのVLANに所属しているのかといった詳細です。
アクセスポートの場合は「Access Mode VLAN」と表示され、どのVLANに固定されているかがわかります。
一方でトランクポートの場合は「Trunking VLANs Active」などの情報が追加され、複数のVLANが通れる状態になっているか確認できます。
トランクポートの状態確認
トランクとして設定したポートが正しく動作しているかは、次のコマンドで調べます。
Switch# show interfaces interface-id trunk
ここでの出力は試験でもよく狙われるので、特に意味を覚えておきましょう。
1つ目はトランクポートの番号です。
2つ目はポートのモードで、正しく「switchport mode trunk」と設定されていれば「on」と表示されます。
3つ目は使用中のトランキングプロトコルで、通常は「802.1Q」が表示されます。
4つ目は現在のトランク状態で、もし「non-trunking」と表示されていれば、正しく動作していないことを意味します。
5つ目はネイティブVLANで、デフォルトはVLAN 1です。
6つ目は「allowed VLANs」で、ここに載っている番号がトランクリンクを通過できる許可済みVLANです。特に設定をしていなければ、すべてのVLANが表示されます。
7つ目は現在アクティブなVLAN、そして8つ目は実際に転送可能なVLANの一覧です。
このように、トランクポートの確認では「どのVLANが通れるのか」「正しくトランクとして動作しているのか」を重点的にチェックすることが大切です。
ここは実際の設定作業だけでなく、試験でも「出力の一部を見せて、そのポートがどの状態か」を問う問題がよく出るので、出力例と照らし合わせながら覚えておきましょう。