# L2スイッチング / VXLAN

## 概要

VXLANは、レイヤー2フレームをカプセル化することにより、L3ネットワーク上に論理的なL2ネットワークを構築するトンネリングプロトコルです。
Note

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

この論理的なL2ネットワークを「オーバーレイネットワーク」と呼びます。
物理的なL3ネットワークを「アンダーレイネットワーク」と呼びます。
オーバーレイネットワークにまたがる各VLANは、24ビットの仮想ネットワーク識別子（VNI）番号にマッピングされます。
VXLANのオーバーレイネットワークのことをVXLANトンネルと呼びます。
VXLANトンネルは2つのVTEP（VXLAN Tunnel End Point）と呼ばれるエンドポイントデバイス経由で通信を行います。
送信側のVTEPでイーサネットフレームにVNIのタグ付加し、フレームをカプセル化し、もうひとつのVTEPへと転送します。
転送先のVTEPのことを「リモートVTEP」と呼びます。

### 仕様など

次に、VXLANの基本的な動作について説明します。

拠点Aから拠点Bへ通信を行う場合、VTEP-Aではイーサネットフレームを受信すると、まずFDBテーブルを調査します。
宛先のMACアドレスが自装置のポートではなくVXLANトンネルの先にあることを確認すると、フレームにVNIタグを付加し、パケットをカプセル化します。
フレームのVLANタグにマッピングされたVNIでFDBを再調査し、パケットを転送するVTEP（リモートVTEP）を決定します。
パケットを受け取ったVTEPではVNIタグを解除し、イーサネットフレームを取得すると、宛先ホストに転送します。
Note

ブロードキャスト/マルチキャスト/未学習のユニキャストパケットの場合、初期設定ではすべてのVTEPに転送します。
ブロードキャスト/マルチキャスト/未学習のユニキャストパケットを特定のVTEPにのみ転送したい場合は、flood-listコマンドとmap-access vlan vniコマンドで設定してください。

Note

リモートVTEPの数とVNIにマッピングされたVLANの数は、掛け合わせて8,192以下になるようにしてください。

Note

リモートVTEP宛の経路が等コストで複数存在する場合、レイヤー2ブロードキャスト、未学習のユニキャスト、マルチキャストトラフィックはVXLANトンネルへ転送される際にECMPでロードバランスされません。

### VXLANと他機能の併用について

VXLANと他の機能の併用については、以下の通りです。

- VXLANとVCSの併用は2台スタック構成でのみ可能です。3台以上のスタック構成ではVXLANを使用できません。
- VXLANとVCSの併用時、VXLANを経由するIPv6マルチキャストトラフィックは未サポートです。
- VXLANとマルチキャストルーティングの併用はサポート対象外です。
- VXLANとリモートミラーリングの併用はサポート対象外です。
- VXLANとDHCPリレーの併用はサポート対象外です。
- VXLANとDHCP Snooping、ARPセキュリティーの併用はサポート対象外です。
- VTEPでは、VNIにマッピングされたVLANでのIGMP SnoopingとMLD Snoopingはサポート対象外です。
  IGMP SnoopingとMLD Snoopingはデフォルトで有効なので、該当VLANではip igmp snoopingコマンド、ipv6 mld snoopingコマンドをno形式で実行してください。
  なお、VTEP以外の装置では、該当VLANでIGMP SnoopingとMLD Snoopingを動作させても問題ありません。
- プライベートVLANをVNIにマッピングすることはサポート対象外です。
- GVRPで学習したVLANをVNIにマッピングすることはサポート対象外です。
- EPSRデータVLANをVNIにマッピングすることはサポート対象外です。
- VXLANトンネルの先にいるホストをMACエントリー/ARPエントリー/IPv6 neighborエントリーとしてスタティック登録することはできません。
- VTEP上のオーバーレイネットワークにおける、トラフィックのポリシーベースルーティングはサポート対象外です。
- 受信したVXLANパケットそのものに対してACLをマッチさせることはできません。
  受信したVXLANパケットから取り出したEthernetパケットに対してはACLを適用できます。

## 基本設定

VXLANの基本設定について説明します。
ここでは次のような構成を例に各スイッチの設定方法を説明します。

### 前提事項

- VTEP-A・BはIPv4ネットワークに接続している。
- VTEP-A・B間の通信に使用するIPアドレス1.1.1.1・2.2.2.2はループバックインターフェース（lo）に設定されている。
  Note

  VXLANパケットの送信元アドレスとして使用できるのはループバックインターフェース（lo）アドレスのみです。

  Note

  ループバックインターフェースへのIPアドレスの設定方法についてはループバックインターフェースをご覧ください。

- VTEP-A・Bはお互いのループバックインターフェース（lo）アドレスへの経路が必要になるため、適切にダイナミック/スタティックルーティングが設定されている。
- VXLAN用VLANとして「vlan100」を作成している。また、VTEP-A（スイッチA）では「vlan100」のIPアドレスに「192.168.10.1/24」が、VTEP-B（スイッチB）では「vlan100」のIPアドレスに「192.168.10.2/24」が設定されている。

### VTEP-A（スイッチA）の設定

1. VXLANではVNIタグが付加されてフレームサイズが1522バイトを超える可能性があるため、ジャンボフレームの転送機能を有効にします。
ジャンボフレームの設定はmruコマンドで行います。

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

2. VXLAN機能を使用するため、トンネルへのルーティングとトンネルからのルーティングを有効にします。
これにはplatform l3-vxlan enableコマンドを使用します。

    awplus(config)# platform l3-vxlan enable

3. VXLANモードに移行して、VXLANパケットの送信元としてループバックインターフェース（lo）を指定します。
VXLANモードに移行にはnvo vxlanコマンド、VXLANパケットの送信元アドレスの設定はsource-interfaceコマンドを使用します。
Note

VXLANパケットの送信元アドレスとして使用できるのはループバックインターフェース（lo）アドレスのみです。

    awplus(config)# nvo vxlan
    awplus(config-vxlan)# source-interface lo

4. リモートVTEP「VTEP-B」を構成し、リモートVTEPのIPv4アドレス「2.2.2.2」を指定します。
リモートVTEPの設定はremote-vtepコマンドを使用します。

    awplus(config-vxlan)# remote-vtep VTEP-B 2.2.2.2

5. VXLAN用VLANにVNIを紐づけます。
ここでは「vlan100」とVNI「vni1000」のマッピングを作成します。
VLANとVNIのマッピングはmap-access vlan vniコマンドを使用します。

    awplus(config-vxlan)# map-access vlan 100 vni 1000
    awplus(config-vxlan)# exit

6. VXLAN用VLAN「vlan100」でIGMP SnoopingとMLD Snoopingを無効にします。
IGMP Snoopingを無効にするには、ip igmp snoopingコマンドをno形式で実行します。
また、MLD Snoopingを無効にするには、ipv6 mld snoopingコマンドをno形式で実行します。

    awplus(config)# interface vlan100
    awplus(config-if)# no ip igmp snooping
    awplus(config-if)# no ipv6 mld snooping
    awplus(config-if)# exit

7. VXLANパケットの送受信を行うインターフェースのMTUを1550以上に設定します。
MTUの設定はmtuコマンドを使用します。
Note

VTEP-A・VTEP-B間（1.1.1.1・2.2.2.2間）の通信を中継する可能性がある機器の中継ポートすべてに対しても、VTEPに設定したのと同じかそれ以上のMTUを設定してください。
中継機器がAW+製品の場合は、mtuコマンドでMTUを設定するとともに、platform jumboframeコマンドかmruコマンドでジャンボフレームの転送機能を有効にしてください（mruコマンドでサイズを指定するタイプの製品では、MTUと同じかそれ以上の値を指定してください）。

    awplus(config)# interface vlan100
    awplus(config-if)# mtu 1550

設定は以上です。

### VTEP-B（スイッチB）の設定

1. VXLANではVNIタグが付加されてフレームサイズが1522バイトを超える可能性があるため、ジャンボフレームの転送機能を有効にします。
ジャンボフレームの設定はmruコマンドで行います。

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

2. VXLAN機能を使用するため、トンネルへのルーティングとトンネルからのルーティングを有効にします。
これにはplatform l3-vxlan enableコマンドを使用します。

    awplus(config)# platform l3-vxlan enable

3. VXLANモードに移行して、VXLANパケットの送信元としてループバックインターフェース（lo）を指定します。
VXLANモードに移行にはnvo vxlanコマンド、VXLANパケットの送信元アドレスの設定はsource-interfaceコマンドを使用します。
Note

VXLANパケットの送信元アドレスとして使用できるのはループバックインターフェース（lo）アドレスのみです。

    awplus(config)# nvo vxlan
    awplus(config-vxlan)# source-interface lo

4. リモートVTEP「VTEP-A」を構成し、リモートVTEPのIPv4アドレス「1.1.1.1」を指定します。
リモートVTEPの設定はremote-vtepコマンドを使用します。

    awplus(config-vxlan)# remote-vtep VTEP-A 1.1.1.1

5. VXLAN用VLANにVNIを紐づけます。
ここでは「vlan100」とVNI「vni1000」のマッピングを作成します。
VLANとVNIのマッピングはmap-access vlan vniコマンドを使用します。

    awplus(config-vxlan)# map-access vlan 100 vni 1000
    awplus(config-vxlan)# exit

6. VXLAN用VLAN「vlan100」でIGMP SnoopingとMLD Snoopingを無効にします。
IGMP Snoopingを無効にするには、ip igmp snoopingコマンドをno形式で実行します。
また、MLD Snoopingを無効にするには、ipv6 mld snoopingコマンドをno形式で実行します。

    awplus(config)# interface vlan100
    awplus(config-if)# no ip igmp snooping
    awplus(config-if)# no ipv6 mld snooping
    awplus(config-if)# exit

7. VXLANパケットの送受信を行うインターフェースのMTUを1550以上に設定します。
MTUの設定はmtuコマンドを使用します。
Note

VTEP-A・VTEP-B間（1.1.1.1・2.2.2.2間）の通信を中継する可能性がある機器の中継ポートすべてに対しても、VTEPに設定したのと同じかそれ以上のMTUを設定してください。
中継機器がAW+製品の場合は、mtuコマンドでMTUを設定するとともに、platform jumboframeコマンドかmruコマンドでジャンボフレームの転送機能を有効にしてください（mruコマンドでサイズを指定するタイプの製品では、MTUと同じかそれ以上の値を指定してください）。

    awplus(config)# interface vlan100
    awplus(config-if)# mtu 1550

設定は以上です。