# L2スイッチング / バーチャルLAN

バーチャルLAN（VLAN）は、スイッチの設定によって論理的にブロードキャストドメインを分割する機能です。レイヤー2スイッチは、宛先MACアドレスとフォワーディングデータベースを用いて不要なトラフィックをフィルタリングする機能を持ちますが、未学習の宛先MACアドレスを持つユニキャストパケットと、マルチキャスト/ブロードキャストパケットは全ポートに出力します。VLANを作成して、頻繁に通信を行うホスト同士をグループ化することにより、不要なトラフィックの影響を受ける範囲を限定し、帯域をより有効に活用できるようになります。

## VLANの種類

本製品がサポートしているVLANの種類は次のとおりです。

- ポートVLAN（タグVLANを含む）
- IPサブネットVLAN
- プロトコルVLAN

さらに、レイヤー2スイッチとしての動作を前提とした特殊なVLANとして次の種類があります。

- マルチプルVLAN（プライベートVLAN）
- UFO VLAN
- ダブルタグVLAN（VLANスタッキング）

この章では、最初に基本的なVLANについて解説し、その後で特殊なVLANについて解説します。

## ポートの種類

VLANを利用するには、VLANを作成（定義）した後、各スイッチポートに対してどのVLANに所属させるかを指定する必要があります。特定のVLANに所属しているスイッチポートの集合を、該当VLANのメンバーポートと呼びます。メンバーポートには、次の種類があります。

- タグなしポート（アクセスポート）
- タグ付きポート（トランクポート）
- UFO VLANのアップストリームポート
- UFO VLANのダウンストリームポート
- ダブルタグVLANのタグなしポート（カスタマーエッジポート）
- ダブルタグVLANのタグ付きポート（プロバイダーポート）

## ポートとVLAN

スイッチポートは少なくとも1つのポートVLANに所属していなくてはなりません（ミラーポートを除く）。また、ポートは複数のVLANに所属できますが、所属先VLANの種類によって、いくつのVLANに所属できるかが異なります。基本ルールは次のとおりです。

- ポートVLAN（タグなし）：1つのVLANにだけ所属できます
- ポートVLAN（タグ付き）：複数のVLANに所属できます
- IPサブネットVLAN（タグなし）：複数の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が決定される。
    1. 該当ポートのネイティブVLAN（switchport trunk native vlanコマンドで設定）がなし（none）に設定されている場合、タグなしパケットを受け入れずに破棄する。
    2. 該当ポートにVLANクラシファイアグループが適用されている場合、グループ内のルールを順にチェックし、最初にマッチしたルールで指定されたVLANの所属と判断する。
    3. 該当ポートにVLANクラシファイアグループが適用されていない場合、あるいは、グループ内のルールにマッチするものがなかった場合は、該当ポートのネイティブVLANの所属と判断する。
- 該当ポートがタグなしポート（アクセスポート）の場合
  1. 該当ポートにVLANクラシファイアグループが適用されている場合、グループ内のルールを順にチェックし、最初にマッチしたルールで指定されたVLANの所属と判断する。
  2. 該当ポートにVLANクラシファイアグループが適用されていない場合、あるいは、グループ内のルールにマッチするものがなかった場合は、switchport access vlanコマンドで設定されたポートVLANの所属と判断する。

以下の各節では、上記をふまえ、最初にもっとも基本的なVLANであるポートVLANとタグVLANについて説明したのち、その他のVLANについて簡単に説明します。

## デフォルトVLAN

初期状態では、すべてのポートがタグなしポート（アクセスポート）としてvlan1（デフォルトVLAN）に所属しており、すべてのポートが相互に通信可能になっています。単なるレイヤー2スイッチとして本製品を使用する場合は、特別な設定を行うことなく、設置・配線を行うだけで使用できます。

デフォルトVLANは特殊なVLANであり、削除することはできません。

## ポートVLAN

次に単純なポートVLANの設定方法を示します。
デフォルトでは、すべてのスイッチポートがvlan1（デフォルトVLAN）に所属しています。

1. vlan databaseコマンドでVLANモードに移行し、vlanコマンドで3つのVLAN（vlan10, vlan20, vlan30）を作成します。

       awplus(config)# vlan database
       awplus(config-vlan)# vlan 10,20,30
       awplus(config-vlan)# exit

2. 次にスイッチポートをVLANに割り当てます。ポートごとにinterfaceコマンドを実行してインターフェースモードに移行し、switchport modeコマンドで該当ポートをアクセスポート（タグなしポート）に設定し、最後にswitchport access vlanコマンドで所属VLANを指定します。

       awplus(config)# interface port1.1.1-1.1.8
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 10
       awplus(config-if)# exit
       awplus(config)# interface port1.1.9-1.1.16
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 20
       awplus(config-if)# exit
       awplus(config)# interface port1.1.17-1.1.24
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 30
       awplus(config-if)# exit

   Note

   初期状態では、すべてのポートがアクセスポート（タグなしポート）に設定されているため、特に設定を変更していない場合は「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.1.1(u) port1.1.2(u) port1.1.3(u)
                                             port1.1.4(u) port1.1.5(u) port1.1.6(u)
                                             port1.1.7(u) port1.1.8(u)
    20      VLAN0020         STATIC  ACTIVE  port1.1.9(u) port1.1.10(u)
                                             port1.1.11(u) port1.1.12(u)
                                             port1.1.13(u) port1.1.14(u)
                                             port1.1.15(u) port1.1.16(u)
    30      VLAN0030         STATIC  ACTIVE  port1.1.17(u) port1.1.18(u)
                                             port1.1.19(u) port1.1.20(u)
                                             port1.1.21(u) port1.1.22(u)
                                             port1.1.23(u) port1.1.24(u)

ポートをデフォルトVLANに戻すには、インターフェースモードに移行してから、switchport access vlanコマンドをno形式で実行してください。たとえば、port1.1.17～1.1.24をデフォルトVLANの所属に戻すには、次のようにします。

    awplus(config)# interface port1.1.17-1.1.24
    awplus(config-if)# no switchport access vlan

VLANを削除するには、vlanコマンドをno形式で実行します。たとえば、vlan30を削除するには次のようにします。これにより、vlan30所属のタグなしポート（アクセスポート）はデフォルトVLANの所属に戻ります。

    awplus(config)# vlan database
    awplus(config-vlan)# no vlan 30

Note

vlan1（デフォルトVLAN）は削除できません。

## タグVLAN

タグVLANを使用すると、1つのポートを複数のVLANに所属させることができます。これは、イーサネットフレームにVLAN IDの情報を挿入し、各フレームが所属するVLANを識別できるようにすることによって実現されます（IEEE 802.1Q VLANタギング）。
タグVLANは、複数のVLANを複数の筐体にまたがって作成したい場合や、IEEE 802.1Q対応サーバーを複数VLANから共用したい場合などに利用します。
Note

タグVLANを使用する場合、接続先機器もタグVLAN（IEEE 802.1Q）に対応している必要があります。

以下では、VLANタグを利用して2台のスイッチにまたがるVLANを作成する方法を説明します。ここでは次のようなネットワーク構成を例に説明します。

この例では、port1.1.1をタグ付きポート（トランクポート）に設定し、vlan10、vlan20両方のトラフィックがスイッチ間で流れるようにします。スイッチA、Bとも設定は同じです。

1. vlan databaseコマンドでVLANモードに移行し、2つのVLAN（vlan10, vlan20）を作成します。

       awplus(config)# vlan database
       awplus(config-vlan)# vlan 10,20
       awplus(config-vlan)# exit

2. 次にタグなしポート（アクセスポート）をVLANに割り当てます。ポートごとにinterfaceコマンドを実行してインターフェースモードに移行し、switchport modeコマンドで該当ポートをアクセスポート（タグなしポート）に設定し、最後にswitchport access vlanコマンドで所属VLANを指定します。

       awplus(config)# interface port1.1.2-1.1.12
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 10
       awplus(config-if)# exit
       awplus(config)# interface port1.1.13-1.1.24
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 20
       awplus(config-if)# exit

   Note

   初期状態では、すべてのポートがアクセスポート（タグなしポート）に設定されているため、特に設定を変更していない場合は「switchport mode access」を省略できます。

3. 最後にport1.1.1をタグ付きポート（トランクポート）に設定し、vlan10とvlan20のトラフィックだけを通すよう設定します。switchport modeコマンドで該当ポートをトランクポートに設定し、switchport trunk allowed vlanコマンドで所属VLANを指定します。アクセスポートと異なり、トランクポートは複数のVLANに所属させることができます。

       awplus(config)# interface port1.1.1
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 10,20
       awplus(config-if)# exit

設定は以上です。
これにより、各ポートから送受信されるフレームは次のようになります。

表 1
port1.1.2～1.1.12 | アクセスポート | 送信 | vlan10宛てのフレームをタグなしで出力する
受信 | 受信したタグなしフレームはvlan10所属と見なす。タグ付きフレームはvlan10宛てのみ受け入れ、その他は破棄する
port1.1.13～1.1.24 | アクセスポート | 送信 | vlan20宛てのフレームをタグなしで出力する
受信 | 受信したタグなしフレームはvlan20所属と見なす。タグ付きフレームはvlan20宛てのみ受け入れ、その他は破棄する
port1.1.1 | トランクポート | 送信 | vlan10、vlan20宛てのフレームをタグ付きで出力する。VLANタグにはVLAN ID（10か20）を格納する
受信 | 受信したタグ付きフレームは、タグに格納されたVLAN IDが10であるか20であるかによって、vlan10かvlan20の所属と見なす。それ以外のVLAN IDを持つタグ付きフレームは破棄する。タグなしフレームを受信した場合は、ネイティブVLANの所属と見なす

タグVLANを使って複数のスイッチにまたがるVLANを作成する場合は、各筐体で同じVLAN IDを設定するようにしてください。
上記の設定では、port1.1.1はデフォルトVLAN（vlan1）にも（タグなしポートとして）所属したままになっています（これをネイティブVLANと呼びます）。他にもデフォルトVLAN所属のポートがあってトラフィックが流れている場合、port1.1.1にもデフォルトVLANのブロードキャストパケットが送出されます。これが望ましくない場合は、switchport trunk native vlanコマンドを使って、port1.1.1のネイティブVLANをなし（none）に設定します。

    awplus(config)# interface port1.1.1
    awplus(config-if)# switchport trunk native vlan none

## ネイティブVLAN

ネイティブVLANとは、タグ付きポートで受信したタグなしパケットの所属先VLANのことです。初期状態ではvlan1に設定されているため、タグ付きポートで受信したタグなしパケットはvlan1の所属として扱われます。これを変更したい場合はswitchport trunk native vlanコマンドで別のVLAN IDを指定する必要があります。

## VLANクラシファイア

VLANクラシファイアは、受信したタグなしパケットの所属先VLANをIPアドレスやプロトコルタイプに基づいて決めるための仕組みです。本製品のIPサブネットVLANとプロトコルVLANは、VLANクラシファイアを使って定義します。
Note

ダブルタグVLAN（VLANスタッキング）のメンバーポートでは、VLANクラシファイアを使用できません。すなわち、ダブルタグVLANとIPサブネットVLAN、ダブルタグVLANとプロトコルVLANを同一ポート上で併用することはできません。

VLANクラシファイアの基本的な設定手順は次のとおりです。

1. 必要なVLANを定義します。これにはVLANモードのvlanコマンドを使います。
2. VLANクラシファイアルールを作成し、IPサブネットVLAN、プロトコルVLANの分類条件を定義します。これには、vlan classifier ruleコマンドを使います。1ルール1条件で必要な数だけルールを定義します。
3. VLANクラシファイアグループを作成し、VLANクラシファイアルールをリストにまとめあげます。これには、vlan classifier groupコマンドを使います。
4. スイッチポートにVLANクラシファイアグループを関連付けます。これにより、同ポートで受信したタグなしパケットは、グループ内の各ルールと照合され、最初にマッチしたルールで指定されたVLANの所属として扱われるようになります。どのルールにもマッチしなかったパケットは、該当ポート本来のVLAN所属と見なされます。

以下、具体的な設定例を示します。

### IPサブネットVLAN

IPサブネットVLANでは、受信したタグなしパケットの始点IPアドレスが特定のサブネットに属する場合、これをVLANメンバーと見なします。また、ARPパケットも、送信者IPアドレスが対象サブネットに属する場合、同じVLANのメンバーとして扱われます。
Note

ダブルタグVLAN（VLANスタッキング）のメンバーポートでは、VLANクラシファイアを使用できません。したがって、ダブルタグVLANとIPサブネットVLANを同一ポート上で併用することはできません。

本製品のIPサブネットVLANは、「VLANクラシファイア」を利用して定義します。
次に例を示します。

1. IPサブネットVLANとして使用するVLAN（vlan10とvlan20）のIDをvlanコマンドで定義します。
   なお、ここでは各ポート本来の所属先はvlan1のままとしておきます。

       awplus(config)# vlan database
       awplus(config-vlan)# vlan 10,20
       awplus(config-vlan)# exit

2. IPサブネットVLANを作成する場合は、vlan classifier ruleコマンドのipv4パラメーターでサブネットの範囲を、vlanパラメーターで所属先のVLAN IDを指定します。
   たとえば次の例では、始点IPアドレスが「192.168.10.0/24」の範囲内ならvlan10、「192.168.20.0/24」の範囲内ならvlan20の所属とするVLANクラシファイアルール「1」と「2」を作成しています。

       awplus(config)# vlan classifier rule 1 ipv4 192.168.10.0/24 vlan 10
       awplus(config)# vlan classifier rule 2 ipv4 192.168.20.0/24 vlan 20

   Note

   同一VLANクラシファイアグループにまとめるルールの間では所属先VLANが重複しないように設定してください。

3. VLANクラシファイアルールで分類条件を定義したら、vlan classifier groupコマンドを使ってルールをリスト（VLANクラシファイアグループ）にまとめあげます。受信パケットのチェックは、リストに追加した順序で行われるため、追加順序には注意してください。
   ここでは、手順1で作成したルール「1」、「2」を、ルール番号と同じ順序でVLANクラシファイアグループ「1」にまとめています。

       awplus(config)# vlan classifier group 1 add rule 1
       awplus(config)# vlan classifier group 1 add rule 2

4. VLANクラシファイアグループの設定が完了したら、インターフェースモードのvlan classifier activateコマンドを使って、VLANクラシファイアグループをスイッチポートに適用します。
   ここでは、スイッチポート1.1.1～1.1.12に対して、VLANクラシファイアグループ「1」を適用しています。

       awplus(config)# interface port1.1.1-1.1.12
       awplus(config-if)# vlan classifier activate 1
       awplus(config-if)# exit

設定は以上です。
これにより、ポート1.1.1～1.1.12で受信したIPパケットのうち、始点アドレスが192.168.10.0/24の範囲におさまるものはvlan10、192.168.20.0/24の範囲におさまるものはvlan20の所属として扱われるようになります。また、ARPパケットも同様に、送信者IPアドレス（Sender Protocol Address）が192.168.10.0/24の範囲におさまるものはvlan10、192.168.20.0/24の範囲におさまるものはvlan20所属として扱われます。
それ以外の受信パケットは、各ポート本来のタグなしVLAN所属と見なされます。
ポート本来のタグなしVLANとは、次のものを指します。

- タグなしポート（アクセスポート）の場合は、switchport access vlanコマンドで指定したVLANのことです。同コマンドを実行していない場合は、初期値のvlan1になります。
- タグ付きポート（トランクポート）の場合は、switchport trunk native vlanコマンドで指定したVLAN（ネイティブVLAN）のことです。同コマンドを実行していない場合は、初期値のvlan1となります。なお、同コマンドでネイティブVLANをなし（none）に設定している場合は、タグなしパケット自体を受信せずに破棄するため、VLANクラシファイアの処理も行われませんので注意してください。

ここでは、ポート1.1.1～1.1.12で受信したパケットのうち、IPサブネットVLANのvlan10、vlan20に割り振られなかったパケット（IPXパケットなど）はvlan1の所属として扱われます。
なお、前の例では、IPサブネット192.168.10.0/24と192.168.20.0/24は同一ポート上に混在していますが、それぞれのパケットが別のVLANに所属するため、互いに通信することはできません。サブネット間で通信を可能にするには、両方のVLANにIPアドレスを割り当て、VLAN間ルーティングを有効にする必要があります。

    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

詳細は本解説編の「VLAN間ルーティング」をご覧ください。

### プロトコルVLAN

プロトコルVLANでは、受信したタグなしパケットのL3プロトコルタイプフィールドに特定の値が格納されているパケットをVLANメンバーと見なします。
Note

ダブルタグVLAN（VLANスタッキング）のメンバーポートでは、VLANクラシファイアを使用できません。したがって、ダブルタグVLANとプロトコルVLANを同一ポート上で併用することはできません。

本製品のプロトコルVLANは、「VLANクラシファイア」を利用して定義します。
次に例を示します。

1. vlanコマンドで必要なVLANを定義し、基本的なポートVLANの設定を行います。
   ここでは、vlan10とvlan20は通常のポートVLAN、vlan100がプロトコルVLAN用のIDです。

       awplus(config)# vlan database
       awplus(config-vlan)# vlan 10,20,100
       awplus(config-vlan)# exit
       awplus(config)# interface port1.1.1-1.1.4
       awplus(config-if)# switchport access vlan 10
       awplus(config-if)# exit
       awplus(config)# interface port1.1.5-1.1.8
       awplus(config-if)# switchport access vlan 20
       awplus(config-if)# exit

2. プロトコルVLANを作成する場合は、vlan classifier ruleコマンドのprotoパラメーターでプロトコルを、encapパラメーターでEthernetのフレームフォーマット（エンキャプセレーション）を指定します。プロトコルは、定義済みのプロトコル名（vlan classifier ruleコマンドの表を参照）か10進表記のプロトコル番号で指定します。フレームフォーマットは、ethv2（Ethernetバージョン2）、nosnapllc（IEEE 802.2 LLC）、snapllc（IEEE 802.2 LLC + SNAP）から選択します。
   たとえば次の例では、NetBEUIプロトコル（フレームフォーマットはLLC）のパケットをvlan100の所属とするVLANクラシファイアルール「1」を作成しています。

       awplus(config)# vlan classifier rule 1 proto netbeui encap nosnapllc vlan 100

3. VLANクラシファイアルールで分類条件を定義したら、vlan classifier groupコマンドを使ってルールをリスト（VLANクラシファイアグループ）にまとめあげます。受信パケットのチェックは、リストに追加した順序で行われるため、追加順序には注意してください。
   ここでは、手順1で作成したルール「1」だけを、ルール番号と同じ順序でVLANクラシファイアグループ「1」にまとめています。

       awplus(config)# vlan classifier group 1 add rule 1

4. VLANクラシファイアグループの設定が完了したら、インターフェースモードのvlan classifier activateコマンドを使って、VLANクラシファイアグループをスイッチポートに適用します。
   ここでは、スイッチポート1.1.1～1.1.8に対して、VLANクラシファイアグループ「1」を適用しています。

       awplus(config)# interface port1.1.1-1.1.8
       awplus(config-if)# vlan classifier activate 1

設定は以上です。
これにより、ポート1.1.1～1.1.8で受信したIPパケットのうち、フレームフォーマットがLLCで、上位プロトコルがNetBEUIのものはvlan100の所属として扱われるようになります。
それ以外の受信パケットは、各ポート本来のタグなしVLAN所属と見なされます。
ポート本来のタグなしVLANとは、次のものを指します。

- タグなしポート（アクセスポート）の場合は、switchport access vlanコマンドで指定したVLANのことです。同コマンドを実行していない場合は、初期値のvlan1になります。
- タグ付きポート（トランクポート）の場合は、switchport trunk native vlanコマンドで指定したVLAN（ネイティブVLAN）のことです。同コマンドを実行していない場合は、初期値のvlan1となります。なお、同コマンドでネイティブVLANをなし（none）に設定している場合は、タグなしパケット自体を受信せずに破棄するため、VLANクラシファイアの処理も行われませんので注意してください。

ここでは、ポート1.1.1～1.1.4で受信したNetBEUI以外のパケットはvlan10、ポート1.1.5～1.1.8で受信したNetBEUI以外のパケットはvlan20の所属として扱われます。

### VLANクラシファイアの適用中にポートのVLANタグ設定を変更する

VLANクラシファイアを適用しているポートのVLANタグ設定（アクセスポート/トランクポート）を変更する場合は、次の手順で設定を変更してください。

#### タグなし（アクセスポート）からタグ付き（トランクポート）への設定変更

ここでは次のように設定されたポート1.1.2を例に説明します。
（VLANタグ設定とVLANクラシファイアの適用設定だけを示しています）

    interface port1.1.2
     switchport mode access
     vlan classifier activate 1

スイッチポートのVLANタグ設定をタグなし（アクセスポート）からタグ付き（トランクポート）に変更する場合は、VLANクラシファイアの適用を解除してから、トランクポートに設定を変更してください。

    awplus(config)# interface port1.1.2
    awplus(config-if)# no vlan classifier activate 1
    awplus(config-if)# switchport mode trunk
    awplus(config-if)# switchport trunk allowed vlan add 10,20

トランクポートへの設定変更後にもVLANクラシファイアを使用する場合は、トランクポートへの変更後に再度 VLANクラシファイアを適用してください。これにより該当トランクポートで受信したタグなしパケットに対して、VLANクラシファイアの処理が行われるようになります。

    awplus(config-if)# vlan classifier activate 1

Note

次のように誤ってVLANクラシファイアを解除しないまま、トランクポートに設定を変更してしまった場合は、いったんアクセスポートに設定を戻してから、前記の手順を再実行してください。

    ! VLANクラシファイアを解除しないままトランクポートに変更してしまった
    awplus(config)# interface port1.1.2
    awplus(config-if)# switchport mode trunk
    awplus(config-if)# switchport trunk allowed vlan add 10,20

    ! いったんアクセスポートに戻して再設定
    awplus(config-if)# switchport mode access
    awplus(config-if)# no vlan classifier activate 1
    awplus(config-if)# switchport mode trunk
    awplus(config-if)# switchport trunk allowed vlan add 10,20

#### タグ付き（トランクポート）からタグなし（アクセスポート）への設定変更

ここでは次のように設定されたポート1.1.2を例に説明します。
（VLANタグ設定とVLANクラシファイアの適用設定だけを示しています）

    interface port1.1.2
     switchport mode trunk
     switchport trunk allowed vlan add 10,20
     vlan classifier activate 1

スイッチポートのVLANタグ設定をタグ付き（トランクポート）からタグなし（アクセスポート）に変更する場合は、アクセスポートに設定を変更してから、VLANクラシファイアの適用を解除してください。

    awplus(config)# interface port1.1.2
    awplus(config-if)# switchport mode access
    awplus(config-if)# no vlan classifier activate 1

アクセスポートへの設定変更後にもVLANクラシファイアを使用する場合は、VLANクラシファイアの適用を解除した後で、再度 VLANクラシファイアを適用してください。これにより該当アクセスポートで受信したタグなしパケットに対して、VLANクラシファイアの処理が行われるようになります。

    awplus(config-if)# vlan classifier activate 1

## マルチプルVLAN（プライベートVLAN）

マルチプルVLAN（プライベートVLAN。以下、プライベートVLANで表記）は、プロミスキャスポート（アップリンクポート）とホストポート（プライベートポート）という2種類のポートで構成される特殊なVLANです。
ホストポートとプロミスキャスポートは相互に通信可能ですが、ホストポート間では原則としていっさい通信ができません。この性質を利用すれば、各部屋にインターネットアクセスを提供しつつ、部屋同士の通信は遮断するような構成を組むことができます。
なお、本製品のプライベートVLANでは、ホストポートを「コミュニティーVLAN」でグループ分けすることにより、同一コミュニティーVLAN所属のホストポート間で通信を可能にすることもできます。
Note

DHCP SnoopingとマルチプルVLAN（プライベートVLAN）を併用する場合は、以下に注意してください。

- ARPセキュリティーとの併用はできません。
- DHCP SnoopingのTrustedポートは必ずプロミスキャスポート（アップリンクポート）に設定する必要があります。
- すべてのマルチプルVLAN（プライベートVLAN）でDHCP Snoopingを有効にする必要があります。

### 基本ルール

次にプライベートVLANの基本ルールをまとめます。

- プライベートVLANは、プライマリーVLAN（アップリンク用VLAN）1つとセカンダリーVLAN（端末接続用VLAN）1つ以上で構成される。
- プライマリーVLANはプロミスキャスポート（共用のアップリンクポート）を収容するVLAN。プライマリーVLANには複数のプロミスキャスポートを所属させられる。
  プロミスキャスポートとして使用できるのは単一スイッチポートかスタティックチャンネルグループ（手動設定のトランクグループ）のみ。LACPチャンネルグループ（自動設定のトランクグループ）はプロミスキャスポートとして使用できない。
- セカンダリーVLANはホストポート（端末接続用のプライベートポート）を収容するVLAN。セカンダリーVLANには次の2種類があり、それぞれ複数のホストポートを所属させられる。
  - アイソレートVLAN（Isolated VLAN）：アイソレートVLAN内のホストポートはプライマリーVLANのプロミスキャスポートとだけ通信できる。アイソレートVLAN内のホストポート同士は通信できず、また、コミュニティーVLAN内のホストポートとも通信できない。なお、アイソレートVLANは1つのプロミスキャスポートとしか関連付けられない（アイソレートVLAN内のポートは1つのプロミスキャスポートとしか通信できない）。
  - コミュニティーVLAN（Community VLAN）：コミュニティーVLAN内のホストポートはプライマリーVLANのプロミスキャスポートだけでなく、同一コミュニティーVLAN内のホストポートとも通信できる。他のコミュニティーVLANに所属するホストポートや、アイソレートVLAN内のホストポートとは通信できない。コミュニティーVLANは複数のプロミスキャスポートと関連付けられる（コミュニティーVLAN内のポートは複数のプロミスキャスポートと通信できる）。
- 1つのプライマリーVLANに対しては、複数のセカンダリーVLANを関連付けることができる。ただし、その性質上、1つのプライマリーVLANに関連付けられるアイソレートVLANは1つだけとなる。一方、コミュニティーVLANは1つのプライマリーVLANに対して複数関連付けが可能。
  Note

  1つのプライマリーVLANに対して、2つ以上のセカンダリーVLAN（アイソレートVLANとコミュニティーVLAN、または2つ以上のコミュニティーVLAN）を設定した場合は、設定を保存してから再起動する必要があります。

- 1つのプライマリーVLANにおいて、プロミスキャスポートは複数設定できるが、アイソレートVLANは1つのプロミスキャスポートとしか関連付けられない。これは、アイソレートVLAN内のポートが1つのプロミスキャスポートとしか通信できないことを意味する。一方、コミュニティーVLANは複数のプロミスキャスポートと関連付けられる。
- セカンダリーVLANは1つのプライマリーVLANとだけ関連付けられる。セカンダリーVLANを複数のプライマリーVLANと関連付けることはできない。
- プライベートVLANの所属ポート（プロミスキャスポートとホストポート）はタグなし（アクセスポート）に設定しておく必要がある。プライベートVLANの所属ポートをタグ付き（トランクポート）に設定することはできない。

Note

プライベートVLANの所属ポートをタグ付き（トランクポート）にする場合は、後述のエンハンストプライベートVLANを使用してください。

Note

Ping、Telnet、SNMPなどによる本体の機器監視を行う場合は、次のいずれかの方法を使用してください。

- プライマリーVLANにIPアドレスを設定する。
  これによりプロミスキャスポート側の端末から本体宛ての通信が可能となります。
- 監視用のポートVLANを別途作成してIPアドレスを設定する。
  別途作成したVLAN経由で本体宛ての通信が可能です。

### 設定例

次にプライベートVLANの設定例を示します。
ここでは、ポート1.1.1をプロミスキャスポートとし、ポート1.1.2～1.1.24をホストポートとするプライベートVLANを作成します。これは、インターネットマンションなどでの一般的な使用例です。この構成では、本製品をレイヤー2スイッチとして使用することになります。

- プライマリーVLAN：vlan2
  - プロミスキャスポート：port1.1.1
- セカンダリーVLAN
  - アイソレートVLAN：vlan21
    - ホストポート：port1.1.2～port1.1.16
  - コミュニティーVLAN：vlan22
    - ホストポート：port1.1.17～port1.1.24

1. 最初にプライベートVLANで使用するVLANを定義します。ここでは、プライマリーVLANとしてvlan2を、セカンダリーVLANとしてvlan21（アイソレートVLAN）とvlan22（コミュニティーVLAN）を使います。

       awplus(config)# vlan database
       awplus(config-vlan)# vlan 2,21-22

2. 定義したVLANのプライベートVLANにおける役割を設定します。

       awplus(config-vlan)# private-vlan 2 primary
       awplus(config-vlan)# private-vlan 21 isolated
       awplus(config-vlan)# private-vlan 22 community

3. プライマリーVLAN（vlan2）にセカンダリーVLAN（vlan21、vlan22）を関連付けます。

       awplus(config-vlan)# private-vlan 2 association add 21-22
       awplus(config-vlan)# exit

4. アイソレートVLAN（vlan21）にホストポートを割り当てます。
   switchport mode private-vlanコマンドで対象ポートをホストポートに設定し、switchport private-vlan host-associationコマンドでプライマリーVLAN（vlan2）と所属先のセカンダリーVLAN（vlan21）を指定します。

       awplus(config)# interface port1.1.2-port1.1.16
       awplus(config-if)# switchport mode private-vlan host
       awplus(config-if)# switchport private-vlan host-association 2 add 21
       awplus(config-if)# exit

5. 同様にして、コミュニティーVLAN（vlan22）にホストポートを割り当てます。

       awplus(config)# interface port1.1.17-port1.1.24
       awplus(config-if)# switchport mode private-vlan host
       awplus(config-if)# switchport private-vlan host-association 2 add 22
       awplus(config-if)# exit

6. 最後にプロミスキャスポートの設定をします。
   switchport mode private-vlanコマンドで対象ポートをプロミスキャスポートに設定し、switchport private-vlan mappingコマンドで所属先プライマリーVLAN（vlan2）を指定するとともに、このプロミスキャスポートを利用できるセカンダリーVLAN（ここではvlan21とvlan22）を指定します。

       awplus(config)# interface port1.1.1
       awplus(config-if)# switchport mode private-vlan promiscuous
       awplus(config-if)# switchport private-vlan mapping 2 add 21-22

   Note

   手動設定のトランクグループ（スタティックチャンネルグループ）をプロミスキャスポートに設定した場合、再起動トリガー（type reboot）を設定し、再起動後にプロミスキャスポートの設定が再入力されるようにしてください。

設定は以上です。
これにより、アイソレートVLAN所属のポート1.1.2～1.1.16に接続されたホストは、プロミスキャスポート（ポート1.1.1）に接続されたルーターとしかレイヤー2の通信ができなくなります。また、コミュニティーVLAN所属のポート1.1.17～1.1.24に接続されたホストは互いに通信でき、プロミスキャスポート（ポート1.1.1）に接続されたルーターとも通信できますが、アイソレートVLAN所属のポート1.1.2～1.1.16に接続されたホストとは通信できなくなります。
プロミスキャスポートを複数設定することもできます。
たとえば、上記設定例に対して、ポート1.1.25をプロミスキャスポートとして追加することを考えます。
プライベートVLANには、「1つのプライマリーVLANにおいて、プロミスキャスポートは複数設定できるが、アイソレートVLANは1つのプロミスキャスポートとしか関連付けられない」というルールがあります。
上記設定例では、すでにアイソレートVLAN（vlan21）はプロミスキャスポート（ポート1.1.1）と関連付けられているので、これ以上プロミスキャスポートを関連付けることはできません。
一方、コミュニティーVLAN（vlan22）には、関連付けられるプロミスキャスポートの数に制限がないため、プロミスキャスポート（ポート1.1.25）を追加で関連付けることができます。以下、追加設定を示します。

    awplus(config)# interface port1.1.25
    awplus(config-if)# switchport mode private-vlan promiscuous
    awplus(config-if)# switchport private-vlan mapping 2 add 22

Note

ここで「switchport private-vlan mapping 2 add 21-22」のようにすると、「Only one promiscuous port may be associated with an isolated vlan」というエラーになります。これはアイソレートVLANであるvlan21がすでにプロミスキャスポート（ポート1.1.1）と関連付けられているためです。

アイソレートVLAN所属のポート1.1.2～1.1.16に接続されたホストは、これまでどおりプロミスキャスポート（ポート1.1.1）に接続されたルーターとしかレイヤー2の通信ができません。一方、コミュニティーVLAN所属のポート1.1.17～1.1.24に接続されたホストは互いに通信でき、プロミスキャスポート（ポート1.1.1と1.1.25）に接続されたルーターとも通信できますが、アイソレートVLAN所属のポート1.1.2～1.1.16に接続されたホストとは通信できません。

### エンハンストプライベートVLAN

エンハンストプライベートVLANは、プライベートVLANの所属ポートをタグ付き（トランクポート）として使用できる、特殊なプライベートVLANです。
エンハンストプライベートVLANは、プロミスキャスポート（アップリンク用ポート）1つとセカンダリーポート（端末接続用ポート）1つ以上が所属するプライベートVLANグループとして構成されます。
エンハンストプライベートVLANのセカンダリーポートは、アイソレートVLAN（Isolated VLAN）としてのみ使用可能です。

#### 設定例

トランクポートをプライベートVLANに設定する手順を示します。

1. VLAN10、VLAN20、VLAN30を作成します。

       awplus# configure terminal
       awplus(config)# vlan database
       awplus(config-vlan)# vlan 10,20,30

2. VLAN10、VLAN20、VLAN30をプライベートVLANに指定します。

       awplus(config-vlan)# private-vlan 10 isolated
       awplus(config-vlan)# private-vlan 20 isolated
       awplus(config-vlan)# private-vlan 30 isolated

3. ポート1.1.1をVLAN10、VLAN20、VLAN30のトランクポートに設定します。

       awplus(config-vlan)# interface port1.1.1
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 10,20,30

4. ポート1.1.2をVLAN10、VLAN20のトランクポートに設定します。

       awplus(config-if)# exit
       awplus(config)# interface port1.1.2
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 10,20

5. ポート1.1.3をVLAN10、VLAN20、VLAN30のトランクポートに設定します。

       awplus(config-if)# exit
       awplus(config)# interface port1.1.3
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 10,20,30

6. ポート1.1.1をプロミスキャスポートとしてプライベートVLANグループ1に所属させます。

       awplus(config-if)# exit
       awplus(config)# interface port1.1.1
       awplus(config-if)# switchport mode private-vlan trunk promiscuous group 1

7. ポート1.1.2をセカンダリーポートとしてプライベートVLANグループ1に所属させます。

       awplus(config-if)# exit
       awplus(config)# interface port1.1.2
       awplus(config-if)# switchport mode private-vlan trunk secondary group 1

8. ポート1.1.3をセカンダリーポートとしてプライベートVLANグループ1に所属させます。

       awplus(config-if)# exit
       awplus(config)# interface port1.1.3
       awplus(config-if)# switchport mode private-vlan trunk secondary group 1

   設定は以上です。

タグなしポート（アクセスポート）と同様に動作させて使いたい場合、ネイティブVLANのみ設定します。その後、セカンダリーポートとしてプライベートVLANグループ1に所属させます。

    awplus(config)# interface port1.1.4
    awplus(config-if)# switchport mode trunk
    awplus(config-if)# switchport trunk native vlan 10
    awplus(config-if)# switchport mode private-vlan trunk secondary group 1

Note

エンハンストプライベートVLAN を使用した場合、プロミスキャスポート（アップリンク用ポート）1つとセカンダリーポート（端末接続用ポート）ともタグ付き（トランクポート）のみ使用可能です。

Note

セカンダリーポート（端末接続用ポート）をタグなしポート（アクセスポート）として使用したい場合は、トランクポートの設定を行い、タグ付けを行わずネイティブVLAN の設定を行うことでタグなしポート（アクセスポート）と同様に動作させることが可能です。

## UFO VLAN

UFO（Upstream Forwarding Only） VLANは、アップストリームポートとダウンストリームポートという2種類のポートで構成される特殊なVLANです。
アップストリームポートとダウンストリームポートは相互に通信可能ですが、ダウンストリームポート間では通信ができません。

- UFO VLANに所属するポートは、デフォルトではすべてのポートがダウンストリームになります。UFO VLANの設定はprivate-vlanコマンドにて行います。
- アップストリームポートには、プライマリーアップストリームポートとセカンダリーアップストリームポートの2種類を設定することができます。プライマリーアップストリームポートが何らかの障害によりリンクダウンした場合には、セカンダリーアップストリームポートへの切り替えが可能です。アップストリームポートの設定はswitchport mode private-vlan ufoコマンドにて行います。
- セカンダリーアップストリームポートは、プライマリーアップストリームポートが正常に動作している間は、ダウンストリームとして動作します。
- アップストリームポートは、スパニングツリープロトコルまたはEPSRによる自動設定が可能です。スパニングツリープロトコルによる自動設定では、該当ポートがルートポートのときはアップストリーム、それ以外のときはダウンストリームになります。また、EPSRプロトコルによる自動設定では、指定したUFO VLANがEPSRのデータVLANであり、かつ、該当ポートがトランジットノードのリング接続用ポートである場合、該当ポートからマスターノードに到達可能ならアップストリームになり、それ以外のときはダウンストリームになります。

### 設定例

次にUFO VLANの設定例を示します。
ここでは、ポート1.1.1をアップストリームポートとし、ポート1.1.2、1.1.3をダウンストリームポートとするUFO VLAN（vlan10）を作成します。

1. 最初にUFO VLANで使用するVLANを定義します。ここではUFO VLANとしてvlan10を使います。

    awplus(config)# vlan database ↓
    awplus(config-vlan)# vlan 10
    awplus(config-vlan)# private-vlan 10 ufo

2. ポートをUFO VLANに所属させます。ここでは、ポート1.1.1～1.1.3をvlan10に所属させます。

    awplus(config)# interface port.1.1.1-1.1.3
    awplus(config-if)# switchport access vlan 10

3. アップストリームポートを設定します。ここでは、ポート1.1.1をアップストリームポートとして設定します。

    awplus(config)# interface port.1.1.1
    awplus(config-if)# switchport mode private-vlan ufo 10 primary-upstream

設定は以上です。
これにより、UFO VLANに所属のポート1.1.2と1.1.3では通信ができなくなります。
ポート1.1.1と1.1.2、ポート1.1.1と1.1.3ではそれぞれ通信可能です。

UFO VLANの情報を表示するには、show vlan private-vlan ufoコマンドを実行します。

### 応用設定

次にUFO VLANの応用設定例を示します。
ここでは、インターネット接続用のVLAN10（UFO VLAN）、IP電話接続用のVLAN20（通常VLAN）、動画配信などのIPTVサービス接続用のVLAN30（UFO VLAN）を設定します。

1. VLANを定義します。
ここでは、UFO VLANとしてvlan10,30、通常VLANとしてvlan20を使います。

    awplus(config)# vlan database
    awplus(config-vlan)# vlan 10,20,30
    awplus(config-vlan)# private-vlan 10 ufo
    awplus(config-vlan)# private-vlan 30 ufo

2. ポートをVLANに所属させます。ここでは、ポート1.1.1～1.1.4をvlan10,20,30に所属させます。

    awplus(config)# interface port1.1.1-port1.1.4
    awplus(config-if)# switchport mode trunk
    awplus(config-if)# switchport trunk allowed vlan add 10,20,30

3. アップストリームポートを設定します。
ポート1.1.1をプライマリーアップストリームポート、ポート1.1.2をセカンダリーアップストリームポートとして設定します。

    awplus(config)# interface port1.1.1
    awplus(config-if)# switchport mode private-vlan ufo 10,30 primary-upstream

    awplus(config)# interface port1.1.2
    awplus(config-if)# switchport mode private-vlan ufo 10,30 secondary-upstream

設定は以上です。
これにより、UFO VLAN（vlan10,30）において、ポート1.1.3と1.1.4では通信ができなくなります。
通常VLAN（vlan20）では、ポート1.1.3と1.1.4の通信は可能です。
ポート1.1.1と1.1.3、ポート1.1.1と1.1.4では、vlan10,20,30のどのVLANでも、それぞれ通信可能です。
また、ポート1.1.1が何らかの障害によりリンクダウンした場合、ポート1.1.2がアップリンクポートに切り替わります。

## ダブルタグVLAN（VLANスタッキング）

ダブルタグVLAN（VLANスタッキング）は、その名のとおり、VLANタグを2重に付加する特殊なVLANです。オリジナルパケットのVLANタグ（内側タグ）をもう1つのタグ（外側タグ）でカプセル化する一種のトンネリング技術と言えます（IEEE 802.1Qトンネリングなどとも呼ばれます）。
ダブルタグVLANは、プロバイダーポートとカスタマーエッジポートという2種類のポートで構成されます。
通常、プロバイダーポートはサービスプロバイダーの広域網などに接続され、外側タグ（CID：カスタマーID）の付いたパケットを送受信します。プロバイダーポートでは、送信時に外側タグを挿入し、受信時には外側タグを削除します。
一方、カスタマーエッジポートは顧客のネットワークなどに接続され、内側タグだけの通常のタグ付きパケットおよびタグなしパケットを送受信します。カスタマーエッジポートでは、送受信時にパケットの変更は行いません。
Note

ダブルタグVLAN（VLANスタッキング）使用時、外側タグが付加されてフレームサイズが1522バイトを超える可能性があるため、プロバイダーポート、カスタマーエッジポートの両ポートでジャンボフレームの転送機能を有効にしてください。これにはmruコマンドを使います。

Note

ダブルタグVLAN（VLANスタッキング）のメンバーポートでは、VLANクラシファイアを使用できません。すなわち、ダブルタグVLANとIPサブネットVLAN、ダブルタグVLANとプロトコルVLANを同一ポート上で併用することはできません。

Note

ダブルタグVLANを使用するにはフィーチャーライセンスが必要です。
ライセンスのインストール方法については「運用・管理」/「システム」の「ライセンスキーのインストール」をご参照ください。

Note

ダブルタグVLANのプロバイダーポートをミラーリングした場合、platform vlan-stacking-tpidコマンドの設定にかかわらず、ミラーポートから出力されるダブルタグパケットのTPIDは常に8100となります。

Note

ダブルタグVLAN（VLANスタッキング）とVLANトランスレーションの併用はできません。ダブルタグ環境でVLANトランスレーションを行いたい場合は、ダブルタグ環境におけるVLANトランスレーションを参照してください。

### 設定例

次にダブルタグVLANの設定例を示します。
ここでは、A社とB社をそれぞれ収容するダブルタグVLAN「vlan10」と「vlan20」を作成します。A社のカスタマーID（CID）は10、B社は20となります。

#### スイッチA、Bの設定（共通）

スイッチAとスイッチBは、A社、B社の拠点と直接接続するカスタマーエッジスイッチです。各拠点から受信したパケットに外側タグ（CID）を付け、プロバイダーのコアスイッチ（スイッチC）を経由して別拠点に転送します。また、コアスイッチから送られてきたパケットの外側タグを削除し、各拠点に適切に転送します。

1. 最初にジャンボフレームの転送機能を有効にします。
   これは、外側タグの付加により、フレームサイズが1522バイトを超える可能性があるためです。
   プロバイダーポート、カスタマーエッジポートの両ポートで、mruコマンドを実行してください。

       awplus(config)# interface port1.1.1-1.1.3
       awplus(config-if)# mru 9394
       awplus(config-if)# exit

2. ダブルタグVLANとして使用するvlan10（A社用）とvlan20（B社用）を作成します。ダブルタグVLANの作成方法は通常のVLANと同じです。vlanコマンドで指定するVLAN IDが、外側タグに格納するカスタマーID（CID）であることにだけ注意してください。

       awplus(config)# vlan database
       awplus(config-vlan)# vlan 10 name Acompany
       awplus(config-vlan)# vlan 20 name Bcompany
       awplus(config-vlan)# exit

   Note

   ここでは参考のため、vlanコマンドのnameパラメーターを使って各VLANに名前を付けています。なお、VLANの名前はshow vlanコマンドなどで確認できますが、コマンド中におけるVLANの指定には使用されません。ここでは、単なる説明文字列とお考えください。

3. port1.1.1をvlan10、vlan20共通のプロバイダーポートとして設定します。プロバイダーポートはタグ付きポート（トランクポート）でなくてはなりません。ここでは、CIDが10か20のパケットだけを通すよう設定しています。
   Note

   ここでの「タグ付き」とは外側タグが付くという意味です。以下のコマンド例においては、switchport trunk allowed vlanコマンドで指定するVLAN IDは外側タグのVID、すなわち、CIDになります。

       awplus(config)# interface port1.1.1
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 10,20
       awplus(config-if)# switchport trunk native vlan none
       awplus(config-if)# switchport vlan-stacking provider-port
       awplus(config-if)# exit

   Note

   プロバイダーポートは複数のダブルタグVLANに所属できます。

4. port1.1.2をvlan10の、port1.1.3をvlan20のカスタマーエッジポートとして設定します。カスタマーエッジポートはタグなしポート（アクセスポート）でなくてはなりません。
   Note

   ここでの「タグなし」とは外側タグが付かないという意味です。以下のコマンド例においては、switchport access vlanコマンドで指定するVLAN IDはCIDになります。

       awplus(config)# interface port1.1.2
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 10
       awplus(config-if)# switchport vlan-stacking customer-edge-port
       awplus(config-if)# exit
       awplus(config)# interface port1.1.3
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 20
       awplus(config-if)# switchport vlan-stacking customer-edge-port
       awplus(config-if)# exit

   Note

   初期状態では、すべてのポートがアクセスポート（タグなしポート）に設定されているため、特に設定を変更していない場合は「switchport mode access」を省略できます。

   設定は以上です。

#### スイッチCの設定

スイッチCは、プロバイダーのネットワーク内部に位置し、外側タグ（CID）付きパケットを拠点間で転送するコアスイッチです。

1. 最初にジャンボフレームの転送機能を有効にします。
   これは、外側タグの付加により、プロバイダーポートではフレームサイズが1522バイトを超える可能性があるためです。
   プロバイダーポートとして使用するポートでmruコマンドを実行してください。

       awplus(config)# interface port1.1.1,port1.1.2
       awplus(config-if)# mru 9394
       awplus(config-if)# exit

2. ダブルタグVLANとして使用するvlan10（A社用）とvlan20（B社用）を作成します。ダブルタグVLANの作成方法は通常のVLANと同じです。vlanコマンドで指定するVLAN IDが、外側タグに格納するカスタマーID（CID）であることにだけ注意してください。

       awplus(config)# vlan database
       awplus(config-vlan)# vlan 10 name Acompany
       awplus(config-vlan)# vlan 20 name Bcompany
       awplus(config-vlan)# exit

   Note

   ここでは参考のため、vlanコマンドのnameパラメーターを使って各VLANに名前を付けています。なお、VLANの名前はshow vlanコマンドなどで確認できますが、コマンド中におけるVLANの指定には使用されません。ここでは、単なる説明文字列とお考えください。

3. port1.1.1とport1.1.2をvlan10、vlan20共通のプロバイダーポートとして設定します。プロバイダーポートはタグ付きポート（トランクポート）でなくてはなりません。ここでは、CIDが10か20のパケットだけを通すよう設定しています。
   Note

   ここでの「タグ付き」とは外側タグが付くという意味です。以下のコマンド例においては、switchport trunk allowed vlanコマンドで指定するVLAN IDは外側タグのVID、すなわち、CIDになります。

       awplus(config)# interface port1.1.1,port1.1.2
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 10,20
       awplus(config-if)# switchport trunk native vlan none
       awplus(config-if)# switchport vlan-stacking provider-port
       awplus(config-if)# exit

   Note

   プロバイダーポートは複数のダブルタグVLANに所属できます。

   設定は以上です。

前の例を元に、ダブルタグVLANの動作を簡単に説明します。ここでは、A社(拠点1)からA社(拠点2)に送られる、vlan100のパケットを例に取り上げます。

1. スイッチAは、CID=10のカスタマーエッジポートport1.1.2でVID=100の（内側）タグ付きパケットを受信します。
2. スイッチAは、受信パケットの宛先MACアドレスと受信ポートのVLAN ID（CID）10をキーにフォワーディングデータベースを検索し、出力ポートを決定します。ここではport1.1.1が出力ポートになったとします。
3. スイッチAは、CID=10とCID=20共通のプロバイダーポートであるport1.1.1において、パケットに外側タグを付加し、CID=10を格納した上で送信します。
4. スイッチCは、CID=10とCID=20のプロバイダーポートであるport1.1.1において、CID=10の（外側）タグ付きパケットを受信します。
5. スイッチCは、受信パケットの宛先MACアドレスとVLAN ID（CID）10をキーにフォワーディングデータベースを検索し、出力ポートを決定します。ここではport1.1.2が出力ポートになったとします。
6. スイッチCは、CID=10とCID=20共通のプロバイダーポートであるport1.1.2から、CID=10の外側タグが付いたままのパケットを送信します。
7. スイッチBは、CID=10とCID=20のプロバイダーポートであるport1.1.1において、CID=10の（外側）タグ付きパケットを受信します。受信後は外側タグを削除します。
8. スイッチBは、受信パケットの宛先MACアドレスと外側タグに格納されていたVLAN ID（CID）10をキーにフォワーディングデータベースを検索し、出力ポートを決定します。ここではport1.1.2が出力ポートになったとします。
9. スイッチBは、CID=10のカスタマーエッジポートであるport1.1.2からパケットを送信します。すでに外側タグは削除されているので、送信されるパケットにはオリジナルの内側タグ（VID=100）だけが付いています。

外側タグのプロトコルタイプ（TPID）を変更するには、platform vlan-stacking-tpidコマンドを使います。デフォルトは0x8100（IEEE 802.1Qタグと同じ）です。

    awplus(config)# platform vlan-stacking-tpid 88ff

## VLANトランスレーション

VLANトランスレーションとは、タグ付きポート（トランクポート）単位でVLANタグ内のVLAN IDを書き換える機能です。
VLAN IDを重複して使用することができるため、既存のVLAN構成を変更したくない場合などに使用できます。
Note

VLANトランスレーションを使用するにはフィーチャーライセンスが必要です。
ライセンスのインストール方法については「運用・管理」/「システム」の「ライセンスキーのインストール」をご参照ください。

以下の説明では、VLAN IDを書き換えるルールのことをVLANトランスレーションエントリーといい、switchport vlan translation vlanコマンドにて設定します。
また、タグ付きパケットがポートに入ってから使用するVLAN IDを内部VID、タグ付きパケットがポートから出て行くときに使用するVLAN IDを外部VIDといいます。
内部VIDには、VLANトランスレーションに使用するタグ付きポートがあらかじめ所属しているVLANのIDを指定します。
たとえば、ポート2では外部VID200を内部VID100に、ポート3では外部VID300を内部VID100に書き換えるように設定し、ポート1にはVLANトランスレーションは未設定だとします。
すると、以下のようになります。

- ポート2から入ってきたVID200のタグ付きパケットは、VID100に書き換えられ、FDBの参照結果にもとづき、ポート1、ポート3の一方または両方に転送されます。
  転送されたVID100のタグ付きパケットは、ポート3から出て行くときにはVID300に書き換えられます。ポート1から出て行くときはVID100のままです。

- ポート3から入ってきたVID300のタグ付きパケットは、VID100に書き換えられ、FDBの参照結果にもとづき、ポート1、ポート2の一方または両方に転送されます。
  転送されたVID100のタグ付きパケットは、ポート2から出て行くときにはVID200に書き換えられます。ポート1から出て行くときはVID100のままです。

- ポート1から入ってきたVID100のタグ付きパケットは、VID100のまま、FDBの参照結果にもとづき、ポート2、ポート3の一方または両方に転送されます。
  転送されたVID100のタグ付きパケットは、ポート2から出て行くときにはVID200、ポート3から出て行くときはVID300に書き換えられます。

### 基本ルール

- VLANトランスレーションの対象ポートはタグ付きポート（トランクポート）であり、あらかじめVLANに所属している必要があります。
- VLANトランスレーションエントリーは同一ポートに複数設定することができます。
- 以下のような設定で、複数対1あるいは複数対複数のVID変換を行うことはサポート対象外です。
  - 同じVIDを、同一ポート上の複数のVLANトランスレーションエントリーの外部VIDとして指定すること
  - 同じVIDを、同一ポート上の複数のVLANトランスレーションエントリーの内部VIDとして指定すること
  - ポートが所属しているVLANのVIDを、そのポート上のVLANトランスレーションエントリーの外部VIDとして指定すること
- 同一ポート上でVLANトランスレーション機能にてVIDを変換するVLANと変換しないVLANが混在する設定も可能です。なお、受信時にVLANトランスレーションエントリーの外部VIDと一致しないVLAN IDのタグ付きパケットを受信した場合、デフォルトでは受信してVLANタグどおりの所属として扱うが、設定によりVLANトランスレーションエントリーにマッチしないパケットを破棄することも可能です。設定は、switchport vlan translation defaultコマンドにて行います。
- VLANトランスレーションの対象ポートをタグなし設定に変更したり、内部VIDを該当ポートから削除すると、対応するVLANトランスレーションエントリーは自動的に削除されます。
- MSTPとの併用はサポート対象外です。
- VLANトランスレーションを設定したポートをミラーリングする場合、ミラーポートにおいて、受信パケットは外部VID、送信パケットは内部VIDを使用します。

### 設定例

次にVLANトランスレーションの設定例を示します。
ここでは下記の図のように設定します。

- ポート1.1.1ではVLANトランスレーション未設定
- ポート1.1.2では、外部VID200　内部VID100　のVLANトランスレーションエントリーを作成
- ポート1.1.3では、外部VID300　内部VID100　のVLANトランスレーションエントリーを作成

1. ポート1.1.2のVLANトランスレーションエントリーを作成します。

       awplus(config)# interface port1.1.2
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 100
       awplus(config-if)# switchport vlan translation vlan 200 vlan 100

2. ポート1.1.3のVLANトランスレーションエントリーを作成します。

       awplus(config)# interface port1.1.3
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 100
       awplus(config-if)# switchport vlan translation vlan 300 vlan 100

   設定は以上です。

これにより、以下のように動作します。

- ポート1.1.2から入ってきたVID200のタグ付きパケットは、VID100に書き換えられ、FDBの参照結果にもとづき、ポート1.1.1、ポート1.1.3の一方または両方に転送されます。
  転送されたVID100のタグ付きパケットは、ポート1.1.3から出て行くときにはVID300に書き換えられます。ポート1.1.1から出て行くときはVID100のままです。
- ポート1.1.3から入ってきたVID300のタグ付きパケットは、VID100に書き換えられ、FDBの参照結果にもとづき、ポート1.1.1、ポート1.1.2の一方または両方に転送されます。
  転送されたVID100のタグ付きパケットは、ポート1.1.2から出て行くときにはVID200に書き換えられます。ポート1.1.1から出て行くときはVID100のままです。
- ポート1.1.1から入ってきたVID100のタグ付きパケットは、VID100のまま、FDBの参照結果にもとづき、ポート1.1.2、ポート1.1.3の一方または両方に転送されます。
  転送されたVID100のタグ付きパケットは、ポート1.1.2から出て行くときにはVID200、ポート1.1.3から出て行くときはVID300に書き換えられます。

VLANトランスレーションの設定情報は、show interface switchportコマンドのTranslated Vlans欄とTranslated Default欄に表示されます。
また、同コマンドを vlan translationオプション付きで実行した場合は、VLANトランスレーションの設定情報だけが表示されます。

### ダブルタグ環境におけるVLANトランスレーション

本製品において、ダブルタグVLAN（VLANスタッキング）とVLANトランスレーションとの併用はできません。
しかし、switchport vlan translation outer-vlanコマンドを使用することにより、ダブルタグ環境におけるVLANトランスレーションを実現することができます。
以下の説明では、VLANトランスレーションでも説明しているように、タグ付きパケットがポートに入ってから使用するVLAN IDを内部VID、タグ付きパケットがポートから出て行くときに使用するVLAN IDを外部VIDと呼びます。
また、switchport vlan translation outer-vlanコマンドのouter-vlanで指定する、あとから付加されるタグを外側タグと呼び、外側タグのVLAN IDを外側タグVIDと呼びます。
たとえば、以下のように設定するとします。

- ポート1ではVLANトランスレーションエントリーを作成し外部VID100を内部VID30に変換するように設定
  さらに、outer-vlanパラメーターにて外側タグVID20を設定
- ポート2はVLANトランスレーション、外側タグともに未設定

すると、以下のようになります。
ポート1から入ってきたVID100のタグ付きパケットは、VID30に書き換えられ、外側タグVID20が付加されます。
そして、FDBの参照結果にもとづき、ポート2に転送されます。
ポート2に転送されたパケットはVID30のまま、外側タグVID20が付加された状態で出ていきます。

外側タグVID20が付加されたVID30のタグ付きパケットは、ポート2に入るとFDBの参照結果にもとづき、ポート1に転送されます。
ポート1に転送されたパケットは、外側タグVID20が削除され、内部VID30から外部VID100に書き換えられて、ポート1から出ていきます。

Note

外側タグが付加されてフレームサイズが1522バイトを超える可能性があるため、ダブルタグパケットを扱うすべてのポートでジャンボフレームの転送機能を有効にしてください。これにはmruコマンドを使います。

Note

DHCP Snoopingとダブルタグ環境におけるVLANトランスレーションを同一ポート上で併用する場合は、DHCP Snoopingを有効化するservice dhcp-snoopingコマンドの実行時にper-vlanオプションを指定してください。

#### 設定例

ダブルタグ環境におけるVLANトランスレーションを実現するには、switchport vlan translation outer-vlanコマンドを使用します。
ここでは、switchport vlan translation outer-vlanコマンドを使用した設定例を示します。
上記コマンドでは以下の2通りの設定が可能です。

- 外側タグを付加、かつVLANトランスレーションでVIDを変換
- 外側タグを付加のみ

##### 外側タグを付加、かつVLANトランスレーションでVIDを変換　の設定例

ここでは下記の図のように設定します。

- ポート1.1.1では、外部VID100　内部VID30、外側タグVID20　のVLANトランスレーションエントリーを作成
- ポート1.1.2では、VLANトランスレーション、外側タグ未設定

1. 最初にジャンボフレームの転送機能を有効にします。
   これは、外側タグの付加により、フレームサイズが1522バイトを超える可能性があるためです。
   プロバイダーポート、カスタマーエッジポートの両ポートで、mruコマンドを実行してください。

       awplus(config)# interface port1.1.1-1.1.2
       awplus(config-if)# mru 9394
       awplus(config-if)# exit

2. ポート1.1.1のVLANトランスレーションエントリーを作成します。

       awplus(config)# interface port1.1.1
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 20,30
       awplus(config-if)# switchport vlan translation vlan 100 vlan 30 outer-vlan 20

3. ポート1.1.2ではVLAN 20（ここでは外側タグVIDを意味します）のタグ付きパケットだけを通すように設定します。

       awplus(config)# interface port1.1.2
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 20
       awplus(config-if)# switchport trunk native vlan none

   設定は以上です。

これにより、ポート1.1.1から入ってきたVID100のタグ付きパケットは、VID30に書き換えられ、外側タグVID20が付加されます。
そして、FDBの参照結果にもとづき、ポート1.1.2に転送されます。
ポート1.1.2に転送されたパケットはVID30のまま、外側タグVID20が付加された状態で出ていきます。

##### 外側タグを付加のみ　の設定例

ここでは下記の図のように設定します。

- ポート1.1.1では、外部VID120、外側タグVID50　のVLANトランスレーションエントリーを作成
- ポート1.1.2では、VLANトランスレーション、外側タグ未設定

1. 最初にジャンボフレームの転送機能を有効にします。
   これは、外側タグの付加により、フレームサイズが1522バイトを超える可能性があるためです。
   プロバイダーポート、カスタマーエッジポートの両ポートで、mruコマンドを実行してください。

       awplus(config)# interface port1.1.1-1.1.2
       awplus(config-if)# mru 9394
       awplus(config-if)# exit

2. ポート1.1.1のVLANトランスレーションエントリーを作成します。

       awplus(config)# interface port1.1.1
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 50
       awplus(config-if)# switchport vlan translation vlan 120 outer-vlan 50

3. ポート1.1.2ではVLAN 50（ここでは外側タグVIDを意味します）のタグ付きパケットだけを通すように設定します。

       awplus(config)# interface port1.1.2
       awplus(config-if)# switchport mode trunk
       awplus(config-if)# switchport trunk allowed vlan add 50
       awplus(config-if)# switchport trunk native vlan none

   設定は以上です。

これにより、VID120のタグ付きパケットはポート1.1.1に入ると、外側タグVID50が付加され、FDBの参照結果にもとづき、ポート1.1.2に転送されます。
ポート1.1.2に転送されたパケットは外側タグVID50が付加された状態で出ていきます。

## VLAN間ルーティング

各VLANは独立したブロードキャストドメインになるため、互いに通信することはできません。しかし、各VLANにレイヤー3アドレス（IPアドレス）を割り当てれば、ネットワーク層レベルでパケットが転送され、VLAN間通信が可能になります。ここではIPを例に、VLAN間ルーティングの基本設定について説明します。

1. VLANを作成します。

       awplus(config)# vlan database
       awplus(config-vlan)# vlan 10,20,30
       awplus(config-vlan)# exit

2. VLANにポートを割り当てます。

       awplus(config)# interface port1.1.1-port1.1.8
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 10
       awplus(config-if)# exit
       awplus(config)# interface port1.1.9-port1.1.16
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 20
       awplus(config-if)# exit
       awplus(config)# interface port1.1.17-port1.1.24
       awplus(config-if)# switchport mode access
       awplus(config-if)# switchport access vlan 30
       awplus(config-if)# exit

3. 各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

より詳しくは以下の各解説編をご覧ください。

- IPアドレスの設定については、「IP」の「IPインターフェース」をご覧ください。
- 静的経路制御については、「IP」の「経路制御」をご覧ください。
- 動的経路制御（RIP）については、「IP」の「経路制御（RIP）」をご覧ください。
- 動的経路制御（OSPF）については、「IP」の「経路制御（OSPF）」をご覧ください。
- 動的経路制御（BGP）については、「IP」の「経路制御（BGP）」をご覧ください。

## ボイスVLAN

ボイスVLANは、IP電話などを接続する音声データ用のVLANを簡単に設定するための機能です。この機能はLLDP-MED（LLDPの拡張機能）との併用を想定しているため、詳細は「運用・管理」の「LLDP」をご覧ください。