[index] SwitchBlade x8100シリーズ コマンドリファレンス 5.4.2

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


  - VLANの種類
  - ポートの種類
  - ポートとVLAN
  - デフォルトVLAN
  - ポートVLAN
  - タグVLAN
  - ネイティブVLAN
  - VLANクラシファイア
   - IPサブネットVLAN
   - プロトコルVLAN
  - マルチプルVLAN(プライベートVLAN)
   - 基本ルール
   - 設定例
   - エンハンストプライベートVLAN
    - 設定例
  - ダブルタグVLAN(VLANスタッキング)
   - 設定例
  - VLAN間ルーティング
  - ボイスVLAN

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

VLANの種類

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

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


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

ポートの種類

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


ポートとVLAN

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


■ ポートが複数のVLANに所属している場合、受信パケットの所属先は次の基準にしたがって決定されます。スイッチポートがどのVLANに所属しているかは、show interface switchportコマンドで確認できます。


以下の各節では、上記をふまえ、最初にもっとも基本的な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.4
    awplus(config-if)# switchport mode access
    awplus(config-if)# switchport access vlan 10
    awplus(config-if)# exit
    awplus(config)# interface port1.1.5-1.1.8
    awplus(config-if)# switchport mode access
    awplus(config-if)# switchport access vlan 20
    awplus(config-if)# exit
    awplus(config)# interface port1.1.9-1.1.12
    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
20      VLAN0020         STATIC  ACTIVE  port1.1.5(u) port1.1.6(u)
                                         port1.1.7(u) port1.1.8(u)
30      VLAN0030         STATIC  ACTIVE  port1.1.9(u) port1.1.10(u)
                                         port1.1.11(u) port1.1.12(u)


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

awplus(config)# interface port1.1.11-1.1.12
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.6
    awplus(config-if)# switchport mode access
    awplus(config-if)# switchport access vlan 10
    awplus(config-if)# exit
    awplus(config)# interface port1.1.7-1.1.12
    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.6 アクセスポート 送信 vlan10宛てのフレームをタグなしで出力する
受信 受信したタグなしフレームはvlan10所属と見なす。タグ付きフレームは破棄
port1.1.7〜1.1.12 アクセスポート 送信 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所属と見なされます。

  5. IPサブネットVLANを使用する場合はさらに、ARPパケットをCPUに転送するためのQoSポリシーマップを作成してスイッチポートに適用します。これはユニキャストのARPパケット(ARP Reply)をIPサブネットVLAN所属として扱うために必要な設定です。

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

IPサブネットVLAN

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

Note - ユニキャストの宛先MACアドレスを持つARPパケット(ARP Reply)をIPサブネットVLAN所属として扱うためには、QoSポリシーマップの設定が必要です。

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
    


  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
    


  5. 最後に、ユニキャストのARPパケット(ARP Reply)をIPサブネットVLAN所属として扱うために必要なQoS設定を行います。
    この設定を行わない場合、IPサブネットVLANの所属ポートで受信したARPパケットのうち、ユニキャストの宛先MACアドレスを持つもの(ARP Reply)がIPサブネットVLAN所属として扱われず、ポート本来のタグなしVLAN所属として扱われてしまいますのでご注意ください。

    Note - すでにQoSの設定を行っている場合は、既存のポリシーマップに下記の設定(ARPパケットをCPUに転送するための設定)を追加してください。


設定は以上です。

これにより、ポート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とは、次のものを指します。


ここでは、ポート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)、nonsnapllc(IEEE 802.2 LLC)、snapllc(IEEE 802.2 LLC + SNAP)から選択します。

    たとえば次の例では、NetBEUIプロトコル(フレームフォーマットはLLC)のパケットをvlan100の所属とするVLANクラシファイアルール「1」を作成しています。

    awplus(config)# vlan classifier rule 1 proto netbeui encap nonsnapllc 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とは、次のものを指します。


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

マルチプルVLAN(プライベートVLAN)

マルチプルVLAN(プライベートVLAN。以下、プライベートVLANで表記)は、プロミスキャスポート(アップリンクポート)とホストポート(プライベートポート)という2種類のポートで構成される特殊なVLANです。

ホストポートとプロミスキャスポートは相互に通信可能ですが、ホストポート間では原則としていっさい通信ができません。この性質を利用すれば、各部屋にインターネットアクセスを提供しつつ、部屋同士の通信は遮断するような構成を組むことができます。

なお、本製品のプライベートVLANでは、ホストポートを「コミュニティーVLAN」でグループ分けすることにより、同一コミュニティーVLAN所属のホストポート間で通信を可能にすることもできます。

基本ルール

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


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

設定例

次にプライベートVLANの設定例を示します。

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



  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.1-port1.1.6
    awplus(config-if)# switchport mode private-vlan host
    awplus(config-if)# switchport private-vlan host-association 2 add 21
    awplus(config-if)# exit
    


    Note - ホストポートでは、スパニングツリープロトコルのエッジポート設定(spanning-tree portfastコマンド)とBPDUガード機能(spanning-tree portfast bpdu-guardコマンド)が自動的に有効化されます。これらの機能を手動で無効化することは可能ですが、再起動時に自動的に有効化されるためご注意ください。

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

    awplus(config)# interface port1.1.7-port1.1.12
    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.2.1
    awplus(config-if)# switchport mode private-vlan promiscuous
    awplus(config-if)# switchport private-vlan mapping 2 add 21-22
    


設定は以上です。

これにより、アイソレートVLAN所属のポート1.1.1〜1.1.6に接続されたホストは、プロミスキャスポート(ポート1.2.1)に接続されたルーターとしかレイヤー2の通信ができなくなります。また、コミュニティーVLAN所属のポート1.1.7〜1.1.12に接続されたホストは互いに通信でき、プロミスキャスポート(ポート1.2.1)に接続されたルーターとも通信できますが、アイソレートVLAN所属のポート1.1.1〜1.1.6に接続されたホストとは通信できなくなります。

■ プロミスキャスポートを複数設定することもできます。
たとえば、上記設定例に対して、ポート1.2.2をプロミスキャスポートとして追加することを考えます。

プライベートVLANには、「1つのプライマリーVLANにおいて、プロミスキャスポートは複数設定できるが、アイソレートVLANは1つのプロミスキャスポートとしか関連付けられない」というルールがあります。

上記設定例では、すでにアイソレートVLAN(vlan21)はプロミスキャスポート(ポート1.2.1)と関連付けられているので、これ以上プロミスキャスポートを関連付けることはできません。

一方、コミュニティーVLAN(vlan22)には、関連付けられるプロミスキャスポートの数に制限がないため、プロミスキャスポート(ポート1.2.2)を追加で関連付けることができます。以下、追加設定を示します。

awplus(config)# interface port1.2.2
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.2.1)と関連付けられているためです。

アイソレートVLAN所属のポート1.1.1〜1.1.6に接続されたホストは、これまでどおりプロミスキャスポート(ポート1.2.1)に接されたルーターとしかレイヤー2の通信ができません。一方、コミュニティーVLAN所属のポート1.1.7〜1.1.12に接続されたホストは互いに通信でき、プロミスキャスポート(ポート1.2.1と1.2.2)に接続されたルーターとも通信できますが、アイソレートVLAN所属のポート1.1.1〜1.1.6に接続されたホストとは通信できません。



エンハンストプライベート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のみ設定します。

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


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

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

ダブルタグVLAN(VLANスタッキング)

ダブルタグVLAN(VLANスタッキング)は、その名のとおり、VLANタグを2重に付加する特殊なVLANです。オリジナルパケットのVLANタグ(内側タグ)をもう1つのタグ(外側タグ)でカプセル化する一種のトンネリング技術と言えます(IEEE 802.1Qトンネリングなどとも呼ばれます)。

ダブルタグVLANは、プロバイダーポートとカスタマーエッジポートという2種類のポートで構成されます。

通常、プロバイダーポートはサービスプロバイダーの広域網などに接続され、外側タグ(CID:カスタマーID)の付いたパケットを送受信します。プロバイダーポートでは、送信時に外側タグを挿入し、受信時には外側タグを削除します。

一方、カスタマーエッジポートは顧客のネットワークなどに接続され、内側タグだけの通常のタグ付きパケットおよびタグなしパケットを送受信します。カスタマーエッジポートでは、送受信時にパケットの変更は行いません。

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

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

設定例

次にダブルタグVLANの設定例を示します。

ここでは、A社とB社をそれぞれ収容するダブルタグVLAN「vlan10」と「vlan20」を作成します。A社のカスタマーID(CID)は10、B社は20となります。スイッチA、スイッチBの設定は共通です。


  1. 最初にジャンボフレームの転送機能を有効にします。
    これは、外側タグの付加により、プロバイダーポートではフレームサイズが1522バイトを超える可能性があるためです。
    platform jumboframeコマンドを実行し、設定をスタートアップコンフィグに保存した上で、システムを再起動してください。

    Note - ジャンボフレーム有効・無効の設定は、システム起動時にスタートアップコンフィグから読み込まれたときだけ有効となります。そのため、platform jumboframeコマンドの実行後は、設定をスタートアップコンフィグに保存して、再起動する必要があります。

    再起動が完了したら、再度ログインし、グローバルコンフィグモードに移動してください。

    awplus(config)# platform jumboframe
    The device needs to be restarted for this change to take effect.
    awplus(config)# end
    awplus# copy running-config startup-config
    Building configuration...
    [OK]
    awplus# reload
    reboot system? (y/n): y 
    ...
    
    awplus login: manager 
    Password: XXXXXX  ↓(実際には表示されません)
    
    AlliedWare Plus (TM) 5.4.2 08/08/12 10:45:25
    
    awplus> enable
    awplus# configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    awplus(config)# 
    


  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.2.1をvlan10、vlan20共通のプロバイダーポートとして設定します。プロバイダーポートはタグ付きポート(トランクポート)でなくてはなりません。ここでは、CIDが10か20のパケットだけを通すよう設定しています。

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

    awplus(config)# interface port1.2.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.1をvlan10の、port1.1.2をvlan20のカスタマーエッジポートとして設定します。カスタマーエッジポートはタグなしポート(アクセスポート)でなくてはなりません。

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

    awplus(config)# interface port1.1.1
    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.2
    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」を省略できます。

    設定は以上です。

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

  1. スイッチAは、CID=10のカスタマーエッジポートport1.1.1でVID=100の(内側)タグ付きパケットを受信します。

  2. スイッチAは、受信パケットの宛先MACアドレスと受信ポートのVLAN ID(CID)10をキーにフォワーディングデータベースを検索し、出力ポートを決定します。ここではport1.1.1が出力ポートになったとします。

  3. スイッチAは、CID=10とCID=20共通のプロバイダーポートであるport1.2.1において、パケットに外側タグを付加し、CID=10を格納した上で送信します。

  4. スイッチBは、CID=10とCID=20のプロバイダーポートであるport1.2.1において、CID=10の(外側)タグ付きパケットを受信します。受信後は外側タグを削除します。

  5. スイッチBは、受信パケットの宛先MACアドレスと外側タグに格納されていたVLAN ID(CID)10をキーにフォワーディングデータベースを検索し、出力ポートを決定します。ここではport1.1.1が出力ポートになったとします。

  6. スイッチBは、CID=10のカスタマーエッジポートであるport1.1.1からパケットを送信します。すでに外側タグは削除されているので、送信されるパケットにはオリジナルの内側タグ(VID=100)だけが付いています。

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

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


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.4
    awplus(config-if)# switchport mode access
    awplus(config-if)# switchport access vlan 10
    awplus(config-if)# exit
    awplus(config)# interface port1.1.1-port1.1.8
    awplus(config-if)# switchport mode access
    awplus(config-if)# switchport access vlan 20
    awplus(config-if)# exit
    awplus(config)# interface port1.1.9-port1.1.12
    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


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


ボイスVLAN

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


(C) 2012 アライドテレシスホールディングス株式会社

PN: 613-001735 Rev.A