このドキュメントは、英語版(バージョン4)の日本語訳です。最新の内容は英語原文をご確認ください。
はじめに
トンネリングとは、あるプロトコルのパケットを別のプロトコル内で伝送するメカニズムです。伝送されるプロトコルはパッセンジャー プロトコルといい、パッセンジャー プロトコルの伝送に使用されるプロトコルはトランスポート プロトコルといいます。Generic Routing Encapsulation(GRE)は、トランスポート プロトコルとして IP を使用できるトンネリング メカニズムの 1 つであり、多様なパッセンジャー プロトコルの伝送に利用できます。トンネルは 2 つのエンドポイントを持つ仮想のポイントツーポイント リンクとして動作します。各エンドポイントでは、この 2 つのエンドポイントがトンネルの送信元アドレスとトンネルの宛先アドレスとして識別されます。
下の図は、GRE パケットがルータを通過してトンネル インターフェイスに入るときのカプセル化プロセスを示しています。
GRE トンネルの設定
GRE トンネルの設定では、論理インターフェイスであるトンネル インターフェイスを作成します。その後、トンネル インターフェイスのトンネル エンドポイントを設定する必要があります。
トンネルの送信元と宛先を設定するには、トンネルのインターフェイス設定モードで、tunnel source {ip-address | interface-type} コマンドと tunnel destination {host-name | ip-address} コマンドを実行します。
下記の例は、エンドポイント間に単純な GRE トンネルを作成する方法を示すとともに、2 つのネットワークの間に GRE トンネルを作成して検証する際に必要な手順も示しています。内部サブネット、R1 と R2(192.168.1.0/24 と 192.168.2.0/24)は インターネットを通じ、GRE トンネルを使用して相互に通信します。どちらのトンネル インターフェイスも 172.16.1.0/24 ネットワークの一部です。
まず、R1 と R2 にトンネル インターフェイスを作成します。
R1 | R2 |
R1(config)# interface Tunnel1 R1(config-if)# ip address 172.16.1.1 255.255.255.0 R1(config-if)# ip mtu 1400 R1(config-if)# ip tcp adjust-mss 1360 R1(config-if)# tunnel source 1.1.1.1 R1(config-if)# tunnel destination 2.2.2.2 | R2(config)# interface Tunnel1 R2(config-if)# ip address 172.16.1.2 255.255.255.0 R2(config-if)# ip mtu 1400 R2(config-if)# ip tcp adjust-mss 1360 R2(config-if)# tunnel source 2.2.2.2 R2(config-if)# tunnel destination 1.1.1.1 |
GRE はカプセル化プロトコルなので、最大伝送ユニット(MTU)を 1400 バイトに、最大セグメント サイズ(MSS)を 1360 バイトに調整します。ほとんどの場合、MTU は 1500 バイトですが、GRE のオーバーヘッドが追加されます。そのオーバーヘッド分を加味して MTU を小さくする必要があります。一般的に 1400 バイトに設定され、これによって不必要なパケット フラグメンテーションを最小限に抑えることができます。
トンネル設定後、2 つのトンネル エンドポイントは相互に認識できるようになります。これは、一方から icmp エコーを送信して確認します。
R1# ping 172.16.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
どちらのネットワークのワークステーションも、それぞれのルータにルーティングが設定されるまで、相手側のワークステーションに到達できません。両側のルータにスタティック ルートを設定します。
R1(config)# ip route 192.168.2.0 255.255.255.0 172.16.1.2
R2(config)# ip route 192.168.1.0 255.255.255.0 172.16.1.1
これで両方のネットワーク(192.168.1.0/24 と 192.168.2.0/24)は GRE トンネルを通じて問題なく相互通信できるようになります。
参考資料
総称ルーティング カプセル化(GRE)