GREトンネルインタフェースの概要

GRE(Generic Routing Encapsulation)トンネルインタフェースとは、通信可能な2台のルータ間を仮想的にポイントツーポイントで接続するためのインタフェースです。単にトンネルインタフェースとも呼びます。

図 GREトンネルの概要
図 GREトンネルの概要

GREトンネルのインタフェースは、インターネットVPNなどの用途で利用します。また、IPv4ネットワーク経由でIPv6の通信を行うためにも利用できます。

マルチポイントのGREトンネルインタフェースも利用できます。デフォルトのGREトンネルインタフェースはポイントツーポイントです。

GREトンネルインタフェースの設定

GREトンネルインタフェースの設定の手順は次のとおりです。

  1. トンネルインタフェースの作成
  2. tunnel destination/tunnel sourceの設定
  3. IPアドレスの設定

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

トンネルインタフェースの作成は、グローバルコンフィグレーションモードで次のコマンドを使います。

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

(config)#interface Tunnel <num>
(config-if)#

<num> : トンネルインタフェースの番号

tunnel destination/tunnel sourceの設定

次に転送用IPv4ヘッダのIPアドレスを指定します。tunnel destinationコマンドで転送用IPv4ヘッダの宛先IPアドレスを指定し、tunnel sourceコマンドで転送用IPv4ヘッダの送信元IPアドレスを指定します。

tunnel destination/tunnel sourceの設定

(config)#interface Tunnel <num>
(config-if)#tunnel destination <dst-ip-address>
(config-if)#tunnel source <source-ip-address|source-interface>

<num> : トンネルインタフェースの番号
<dst-ip-address> : カプセル化するIPヘッダの宛先IPアドレス
<source-ip-address> : カプセル化するIPヘッダの送信元IPアドレス
<source-interface> : カプセル化するIPヘッダの送信元IPアドレスとして利用するインタフェース

tunnel destinationで指定したIPアドレスへ到達可能であれば、トンネルインタフェースはup/upの状態になります。ただし、トンネルを設定する両方のルータで相手のtunnel destinationが自分のtunnel sourceに、相手のtunnel sourceが自分のtunnel destinationに設定されている必要があります。トンネルのtunnel destination/tunnel sourceの設定が正しくできれば、トンネルを設定した両方のルータは、あたかもポイントツーポイントで直接接続されているかのように見えます。

図 tunnel destination/tunnel sourceの設定
図 tunnel destination/tunnel sourceの設定

IPアドレスの設定

トンネルインタフェースでIPの通信を行うためには、IPアドレスが必要です。通常のインタフェースと同様にトンネルインタフェースにもIPアドレスの設定を行います。繰り返し述べていますが、「IPアドレスを設定してはじめてネットワークに接続して通信可能になる」ことを忘れないでください。

IPアドレスの設定

(config)#interface Tunnel <num>
(config-if)#ip address <address> <subnetmask>

<num> : トンネルインタフェースの番号
<address> : IPアドレス
<subnetmask> : サブネットマスク

なお、tunnelインタフェースのIPアドレスの設定は、ip unnumberedで他のインタフェースのIPアドレスを使い回すように設定することも多いです。

tunnelインタフェースでIPv6パケットを送受信するためには、IPv6アドレスを設定します。

ip unnumberedについて、以下の記事で解説しています。


GREトンネルインタフェースからのIPパケットの転送

トンネルインタフェースから送信するIPパケットは、GREヘッダと転送用IPv4ヘッダでカプセル化されます。転送用IPv4ヘッダの宛先/送信元IPアドレスは、tunnel destination/tunnel sourceで設定しているIPアドレスです。そして、関連する物理インタフェースから出力されます。関連する物理インタフェースは、ルーティングテーブルとtunnel destinationから決まります。さらに、物理インタフェースから出力するときに、イーサネットなど物理インタフェースに応じたレイヤ2プロトコルでカプセル化します。最終的に、電気信号などの物理信号として伝送媒体に送り出されます。

図 トンネルインタフェースからパケットを送信
図 トンネルインタフェースからパケットを送信

GREトンネルがdownするとき

トンネルインタフェースのtunnel destinationへの接続性がないと、トンネルインタフェースは以下のコマンド出力のようにup/down状態になってしまいます。

R1#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            192.168.1.1     YES NVRAM  up                    up
FastEthernet0/1            192.168.0.1     YES NVRAM  up                    up
Loopback0                  10.1.1.1        YES NVRAM  up                    up
Tunnel13                   172.16.1.1      YES manual up                    down

tunnel destinationへの接続性をきちんと確保できるようにしてください。なお、デフォルトではtunnel destinationへの接続性は、ルーティングテーブルに基づいて確認しています。


GREトンネルインタフェースの設定例は以下の記事をご覧ください。

IPルーティング応用