L2スイッチング / バーチャルLAN
バーチャルLAN(VLAN)は、スイッチの設定によって論理的にブロードキャストドメインを分割する機能です。レイヤー2スイッチは、宛先MACアドレスとフォワーディングデータベースを用いて不要なトラフィックをフィルタリングする機能を持ちますが、未学習の宛先MACアドレスを持つユニキャストパケットと、マルチキャスト/ブロードキャストパケットは全ポートに出力します。VLANを作成して、頻繁に通信を行うホスト同士をグループ化することにより、不要なトラフィックの影響を受ける範囲を限定し、帯域をより有効に活用できるようになります。
ここでは、LAN側スイッチのVLAN機能について述べています。ソフトウェアブリッジについては、「ブリッジング」の「一般設定」をご覧ください。
本マニュアルでは「LANポート」のことを、スイッチ製品にならって「スイッチポート」と表記しています。「LANポート」と「スイッチポート」は同じ意味ですので、適宜読み替えてください。また同様に、「スイッチ」は「LAN側スイッチ」のことを表しています。
VLANの種類
本製品がサポートしているVLANの種類は次のとおりです。
ポートの種類
VLANを利用するには、VLANを作成(定義)した後、各スイッチポートに対してどのVLANに所属させるかを指定する必要があります。特定のVLANに所属しているスイッチポートの集合を、該当VLANのメンバーポートと呼びます。メンバーポートには、次の種類があります。
- タグなしポート(アクセスポート)
- タグ付きポート(トランクポート)
ポートとVLAN
スイッチポートは少なくとも1つのポートVLANに所属していなくてはなりません(ミラーポートを除く)。また、ポートは複数のVLANに所属できますが、所属先VLANの種類によって、いくつのVLANに所属できるかが異なります。基本ルールは次のとおりです。
- ポートVLAN(タグなし):1つのVLANにだけ所属できます
- ポートVLAN(タグ付き):複数のVLANに所属できます
■ ポートが複数のVLANに所属している場合、受信パケットの所属先は次の基準にしたがって決定されます。スイッチポートがどのVLANに所属しているかは、show interface switchportコマンドで確認できます。
- 該当ポートがタグ付きポート(トランクポート)の場合
- 受信パケットがタグ付きの場合は、VLANタグに格納されたVIDが、該当ポートの所属先タグVLAN(switchport trunk allowed vlanコマンドで指定されたVLAN)のどれかと一致する場合、そのVIDを持つVLANの所属と判断する。所属先でないVIDを持つタグ付きパケットを受信した場合は、該当ポートのイングレスフィルタリング設定(switchport modeコマンドのingress-filterパラメーター)によって以下のように処理する。
- イングレスフィルタリングが有効(初期設定)であれば、該当パケットを破棄する。
- イングレスフィルタリングが無効で、かつVLANタグに格納されたVIDが本装置内に設定されたいずれかのVLANのVIDと一致する場合、そのVIDを持つVLANの所属と判断する。一致しない場合は該当パケットを破棄する。
- 受信パケットがタグなしの場合は、次の順序で所属VLANが決定される。
- 該当ポートのネイティブVLAN(switchport trunk native vlanコマンドで設定)がなし(none)に設定されている場合、タグなしパケットを受け入れずに破棄する。
- ネイティブVLANが設定されている場合は、該当ポートのネイティブVLANの所属と判断する。
- 該当ポートがタグなしポート(アクセスポート)の場合
- switchport access vlanコマンドで設定されたポートVLANの所属と判断する。
以下の各節では、上記をふまえ、ポートVLANとタグVLANについて説明します。
デフォルトVLAN
初期状態では、すべてのポートがタグなしポート(アクセスポート)としてvlan1(デフォルトVLAN)に所属しており、すべてのポートが相互に通信可能になっています。単なるレイヤー2スイッチとして本製品を使用する場合は、特別な設定を行うことなく、設置・配線を行うだけで使用できます。

デフォルトVLANは特殊なVLANであり、削除することはできません。
ポートVLAN
次に単純なポートVLANの設定方法を示します。
デフォルトでは、すべてのスイッチポートがvlan1(デフォルトVLAN)に所属しています。
- vlan databaseコマンドでVLANモードに移行し、vlanコマンドで3つのVLAN(vlan10, vlan20, vlan30)を作成します。
awplus(config)# vlan database ↓
awplus(config-vlan)# vlan 10,20,30 ↓
awplus(config-vlan)# exit ↓
- 次にスイッチポートをVLANに割り当てます。ポートごとにinterfaceコマンドを実行してインターフェースモードに移行し、switchport modeコマンドで該当ポートをアクセスポート(タグなしポート)に設定し、最後にswitchport access vlanコマンドで所属VLANを指定します。
awplus(config)# interface port1.0.1 ↓
awplus(config-if)# switchport mode access ↓
awplus(config-if)# switchport access vlan 10 ↓
awplus(config-if)# exit ↓
awplus(config)# interface port1.0.2-1.0.3 ↓
awplus(config-if)# switchport mode access ↓
awplus(config-if)# switchport access vlan 20 ↓
awplus(config-if)# exit ↓
awplus(config)# interface port1.0.4 ↓
awplus(config-if)# switchport mode access ↓
awplus(config-if)# switchport access vlan 30 ↓
awplus(config-if)# exit ↓
初期状態では、すべてのポートがアクセスポート(タグなしポート)に設定されているため、特に設定を変更していない場合は「switchport mode access」を省略できます。
設定は以上です。
このようにしてポートをデフォルトVLAN以外のVLANに割り当てると、そのポートは自動的にデフォルトVLANから削除されます。

これで、物理的には1台のスイッチでありながら、ネットワーク的には3台のスイッチに分割されたような状態となります。vlan10、20、30は完全に独立しており、互いに通信することはできません。
■ VLANの設定を確認するには、show vlanコマンドを使います。
awplus# show vlan all ↓
VLAN ID Name Type State Member ports
(u)-Untagged, (t)-Tagged
======= ================ ======= ======= ====================================
1 default STATIC ACTIVE
10 VLAN0010 STATIC ACTIVE port1.0.1(u)
20 VLAN0020 STATIC ACTIVE port1.0.2(u) port1.0.3(u)
30 VLAN0030 STATIC ACTIVE port1.0.4(u)
■ ポートをデフォルトVLANに戻すには、インターフェースモードに移行してから、switchport access vlanコマンドをno形式で実行してください。たとえば、port1.0.4をデフォルトVLANの所属に戻すには、次のようにします。
awplus(config)# interface port1.0.4 ↓
awplus(config-if)# no switchport access vlan ↓
■ VLANを削除するには、vlanコマンドをno形式で実行します。たとえば、vlan30を削除するには次のようにします。これにより、vlan30所属のタグなしポート(アクセスポート)はデフォルトVLANの所属に戻ります。
awplus(config)# vlan database ↓
awplus(config-vlan)# no vlan 30 ↓
vlan1(デフォルトVLAN)は削除できません。
タグVLAN
タグVLANを使用すると、1つのポートを複数のVLANに所属させることができます。これは、イーサネットフレームにVLAN IDの情報を挿入し、各フレームが所属するVLANを識別できるようにすることによって実現されます(IEEE 802.1Q VLANタギング)。
タグVLANは、複数のVLANを複数の筐体にまたがって作成したい場合や、IEEE 802.1Q対応サーバーを複数VLANから共用したい場合などに利用します。
タグVLANを使用する場合、接続先機器もタグVLAN(IEEE 802.1Q)に対応している必要があります。
以下では、VLANタグを利用して2台のスイッチにまたがるVLANを作成する方法を説明します。ここでは次のようなネットワーク構成を例に説明します。

この例では、port1.0.1をタグ付きポート(トランクポート)に設定し、vlan10、vlan20両方のトラフィックがスイッチ間で流れるようにします。スイッチA、Bとも設定は同じです。
- vlan databaseコマンドでVLANモードに移行し、2つのVLAN(vlan10, vlan20)を作成します。
awplus(config)# vlan database ↓
awplus(config-vlan)# vlan 10,20 ↓
awplus(config-vlan)# exit ↓
- 次にタグなしポート(アクセスポート)をVLANに割り当てます。ポートごとにinterfaceコマンドを実行してインターフェースモードに移行し、switchport modeコマンドで該当ポートをアクセスポート(タグなしポート)に設定し、最後にswitchport access vlanコマンドで所属VLANを指定します。
awplus(config)# interface port1.0.2-1.0.3 ↓
awplus(config-if)# switchport mode access ↓
awplus(config-if)# switchport access vlan 10 ↓
awplus(config-if)# exit ↓
awplus(config)# interface port1.0.4 ↓
awplus(config-if)# switchport mode access ↓
awplus(config-if)# switchport access vlan 20 ↓
awplus(config-if)# exit ↓
初期状態では、すべてのポートがアクセスポート(タグなしポート)に設定されているため、特に設定を変更していない場合は「switchport mode access」を省略できます。
- 最後にport1.0.1をタグ付きポート(トランクポート)に設定し、vlan10とvlan20のトラフィックだけを通すよう設定します。switchport modeコマンドで該当ポートをトランクポートに設定し、switchport trunk allowed vlanコマンドで所属VLANを指定します。アクセスポートと異なり、トランクポートは複数のVLANに所属させることができます。
awplus(config)# interface port1.0.1 ↓
awplus(config-if)# switchport mode trunk ↓
awplus(config-if)# switchport trunk allowed vlan add 10,20 ↓
awplus(config-if)# exit ↓
設定は以上です。
これにより、各ポートから送受信されるフレームは次のようになります。
表 1
port1.0.2~1.0.3 |
アクセスポート |
送信 |
vlan10宛てのフレームをタグなしで出力する |
受信 |
受信したタグなしフレームはvlan10所属と見なす。タグ付きフレームはvlan10宛てのみ受け入れ、その他は破棄する |
port1.0.4 |
アクセスポート |
送信 |
vlan20宛てのフレームをタグなしで出力する |
受信 |
受信したタグなしフレームはvlan20所属と見なす。タグ付きフレームはvlan20宛てのみ受け入れ、その他は破棄する |
port1.0.1 |
トランクポート |
送信 |
vlan10、vlan20宛てのフレームをタグ付きで出力する。VLANタグにはVLAN ID(10か20)を格納する |
受信 |
受信したタグ付きフレームは、タグに格納されたVLAN IDが10であるか20であるかによって、vlan10かvlan20の所属と見なす。それ以外のVLAN IDを持つタグ付きフレームは破棄する。タグなしフレームを受信した場合は、ネイティブVLANの所属と見なす |
■ タグVLANを使って複数のスイッチにまたがるVLANを作成する場合は、各筐体で同じVLAN IDを設定するようにしてください。
■ 上記の設定では、port1.0.1はデフォルトVLAN(vlan1)にも(タグなしポートとして)所属したままになっています(これをネイティブVLANと呼びます)。他にもデフォルトVLAN所属のポートがあってトラフィックが流れている場合、port1.0.1にもデフォルトVLANのブロードキャストパケットが送出されます。これが望ましくない場合は、switchport trunk native vlanコマンドを使って、port1.0.1のネイティブVLANをなし(none)に設定します。
awplus(config)# interface port1.0.1 ↓
awplus(config-if)# switchport trunk native vlan none ↓
ネイティブVLAN
ネイティブVLANとは、タグ付きポートで受信したタグなしパケットの所属先VLANのことです。初期状態ではvlan1に設定されているため、タグ付きポートで受信したタグなしパケットはvlan1の所属として扱われます。これを変更したい場合はswitchport trunk native vlanコマンドで別のVLAN IDを指定する必要があります。
VLAN間ルーティング
各VLANは独立したブロードキャストドメインになるため、互いに通信することはできません。しかし、各VLANにレイヤー3アドレス(IPアドレス)を割り当てれば、ネットワーク層レベルでパケットが転送され、VLAN間通信が可能になります。ここではIPを例に、VLAN間ルーティングの基本設定について説明します。
- VLANを作成します。
awplus(config)# vlan database ↓
awplus(config-vlan)# vlan 10,20,30 ↓
awplus(config-vlan)# exit ↓
- VLANにポートを割り当てます。
awplus(config)# interface port1.0.1 ↓
awplus(config-if)# switchport mode access ↓
awplus(config-if)# switchport access vlan 10 ↓
awplus(config-if)# exit ↓
awplus(config)# interface port1.0.2-port1.0.3 ↓
awplus(config-if)# switchport mode access ↓
awplus(config-if)# switchport access vlan 20 ↓
awplus(config-if)# exit ↓
awplus(config)# interface port1.0.4 ↓
awplus(config-if)# switchport mode access ↓
awplus(config-if)# switchport access vlan 30 ↓
awplus(config-if)# exit ↓
- 各VLAN(VLANインターフェース)にIPアドレスを割り当てます。IPアドレスの設定はip addressコマンドで行います。
awplus(config)# interface vlan10 ↓
awplus(config-if)# ip address 192.168.10.1/24 ↓
awplus(config-if)# exit ↓
awplus(config)# interface vlan20 ↓
awplus(config-if)# ip address 192.168.20.1/24 ↓
awplus(config-if)# exit ↓
awplus(config)# interface vlan30 ↓
awplus(config-if)# ip address 192.168.30.1/24 ↓
awplus(config-if)# exit ↓
設定は以上です。
これにより、VLAN間でIPパケットが転送されるようになります。VLAN間ルーティングは、同じプロトコルのレイヤー3アドレスを2つ設定した時点で自動的に有効になります。
次の図は、この状態を概念的に示したものです。VLAN分けにより分割された仮想的なスイッチ3台の上位に、仮想的なルーターを設置したものと考えることができます。実際にはこれらのスイッチやルーターの機能は、1台の筐体内で実現されています。

■ 各VLANに割り当てられたIPアドレスは、show ip interfaceコマンドで確認できます。
awplus# show ip interface ↓
■ いずれかのVLAN上に別のルーターが存在する場合は、経路制御の設定が必要です。経路情報を静的に設定するにはip routeコマンドを使います。
awplus(config)# ip route 0.0.0.0/0 192.168.10.254 ↓
より詳しくは以下の各解説編をご覧ください。
(C) 2019 - 2024 アライドテレシスホールディングス株式会社
PN: 613-002735 Rev.AD