# VPN / トンネルインターフェース

トンネルインターフェースは、パブリックネットワーク上にプライベートネットワークのトラフィックを通す、いわゆるVPN（Virtual Private Network）を構成するときに使う仮想的なインターフェースです。
トンネルインターフェースでは、IPv4/IPv6パケット（デリバリーパケット）のデータ部分に別プロトコルのパケット（ペイロードパケット）を格納して送信し、受信時にはデリバリーパケットのデータ部分からペイロードパケットを取り出して処理（転送など）を行います。この動作をトンネリングと呼びます。
トンネリングに使う仮想インターフェースをトンネルインターフェースと呼び、インターフェース名として「tunnelX」を使います（X = 0～999）。
本製品がサポートしているトンネリング方式は次のとおりです。

方式 | デリバリー （外側） プロトコル | ペイロード （内側） プロトコル | おもな用途 | 暗号化 | 備考
IPsec | IPv4/IPv6 | IPv4/IPv6 | 拠点間接続 （ルーティング型） | IPsec (ESP) |
L2TPv3 | IPv4/IPv6 | Ethernet | 拠点間接続 （ブリッジ型） | IPsec (ESP) | IPv4、IPv6アドレスを設定すればルーティング構成も可能
OpenVPN Tap(L2) | IPv4/IPv6 | Ethernet | リモートアクセス （ブリッジ型） | OpenVPN (TLS) | IPv4、IPv6アドレスを設定すればルーティング構成も可能
OpenVPN Tun(L3) | IPv4/IPv6 | IPv4/IPv6 | リモートアクセス （ルーティング型） | OpenVPN (TLS) |
GRE | IPv4/IPv6 | IPv4/IPv6 | 拠点間接続 （ルーティング型） （IPv6 over IPv4構成) （IPv4 over IPv6構成） | IPsec (ESP) |

Note

本製品はIPv6ネットワーク経由でIPv4インターネットに接続するための仕組みとして、DS-Lite、LW6o4、MAP-E、固定設定のIPv6トンネルをサポートしていますが、これらについては設定例集、「IPv6」/「DS-Lite」、「IPv6」/「LW4o6」、「IPv6」/「MAP-E」、「IPv6」/「IPv6トンネル」をご覧ください。

## トンネルインターフェースの作成

グローバルコンフィグモードのinterfaceコマンドでインターフェース名「tunnelX」を指定したとき、該当インターフェースが存在していなければトンネルインターフェースが新規に作成され、該当トンネルインターフェースの設定を行うためのインターフェースモードに移動します。

    awplus(config)# interface tunnel0
    awplus(config-if)#

なお、同コマンドでトンネルインターフェースを作成したら、下記のコマンドでトンネルの種類（動作モード）を指定し、その後トンネル種類に応じた必須および任意の設定を行います。

トンネルインターフェースの種類 | 動作モード設定コマンド
IPsecトンネルインターフェース | tunnel mode ipsec
L2TPv3トンネルインターフェース | tunnel mode l2tp v3
OpenVPN Tap（L2）トンネルインターフェース | tunnel mode openvpn tap
OpenVPN Tun（L3）トンネルインターフェース | tunnel mode openvpn tun
GREトンネルインターフェース | tunnel mode gre

作成したトンネルインターフェースを利用して、対向装置との間にトンネルを張る（IPsec、L2TPv3、GREの場合）、あるいはクライアントからのトンネル接続を待ち受ける（マルチポイントIPsec、OpenVPNの場合）ための設定や、トンネルインターフェースへのアドレス設定や経路設定など、ネットワーク構成に依存する部分については、トンネル種別ごとに設けられた下記の解説編や設定例集をご覧ください。

- IPsecトンネルインターフェースの具体的な使用方法については、「VPN」/「IPsec」をご覧ください。
- L2TPv3トンネルインターフェースの具体的な使用方法については、「VPN」/「L2TPv3」をご覧ください。
- OpenVPNトンネルインターフェースの具体的な使用方法については、「VPN」/「OpenVPN」をご覧ください。
- GREトンネルインターフェースの具体的な使用方法については、「VPN」/「GRE」をご覧ください。
- インターフェース全般については「インターフェース」の「一般設定」をご覧ください。

## トンネルインターフェースがUPになる条件

トンネルインターフェースの状態はshow ip interfaceコマンドで確認できます。
トンネルインターフェースに必要な設定が行われていれば、対向装置と通信が確立できているかどうかに関係なく状態はUP（running）となります。
Note

例外として、IPsecトンネルインターフェースに tunnel oper-status-control ipsec が設定されている場合は、IPsec SAが確立していれば UP、していなければ DOWN となります。また、このように設定されたIPsecトンネルインターフェースは、通信の有無に関係なく常時 IPsec SA を確立して維持しようとする動作になります。

以下、UPとなるために必要な設定です。

- 有効なtunnel source
  IPアドレスまたはインターフェース。インターフェースには有効なIPアドレスが設定されていること。
  PPPoEインターフェースで動的IPアドレスを取得できていない場合はDOWNとなる。
- 有効なtunnel destination
  IPアドレスまたはホスト名。
  - tunnel destinationでIPアドレスを指定した場合：つねに有効。
  - tunnel destinationでホスト名を指定した場合：名前解決によりホスト名をIPアドレスに変換できれば有効。
  - tunnel destinationでdynamicを指定した場合：tunnel remote nameの設定が必要。このケースでUPとなるのは実際に接続が行われ対向装置のIPアドレスを学習した時。
- 正しいtunnel mode
  指定した動作モード（トンネリング方式）に必要な設定がされていること。
  必須設定は各方式の解説ページを参照。
  - tunnel mode ipsec → 「VPN」/「IPsec」
  - tunnel mode l2tp v3 → 「VPN」/「L2TPv3」
  - tunnel mode gre → 「VPN」/「GRE」
  Note

  OpenVPNトンネルはtunnel mode openvpn tapまたはtunnel mode openvpn tunコマンドとradius-server hostコマンドが設定されていればUPとなります。