GRE トンネルの設定
トンネリングでは、1 つのプロトコルのパケットを別のプロトコル内に転送するメカニズムを提供します。Generic Routing Encapsulation(GRE)は、カプセル化によってあるプロトコルのパケットを別のプロトコルを介して転送する、簡易な一般的アプローチを提供するトンネリング プロトコルです。GRE は、ペイロード(外側の IP パケット内部の、宛先ネットワークに渡す必要がある内側のパケット)をカプセル化します。GRE トンネルは、トンネル送信元アドレスとトンネル宛先アドレスによって識別される 2 つのエンドポイントを持つ仮想ポイントツーポイント リンクとして動作します。トンネルのエンドポイントは、介在する IP ネットワークを通じてカプセル化パケットをルーティングすることによって、GRE トンネルを介してペイロードを送信します。途中の IP ルータは、ペイロード(内側のパケット)を解析しません。これらのルータは、GRE トンネル エンドポイントにパケットを転送する際に、外側の IP パケットだけを解析します。トンネル エンドポイントに到達すると、GRE カプセル化が削除され、ペイロードはパケットの最終的な宛先に転送されます。
外部パケットによるカプセル化はトンネルの送信元で行われますが、外部パケットのカプセル化解除はトンネルの宛先で行われます。カプセル化およびカプセル化解除データは定期的に、またはオンデマンドで収集されます。カプセル化統計情報により、トンネルの送信元でカプセル化されたパケットの数が示されます。カプセル化解除統計情報により、トンネルの宛先でカプセル化解除されたパケットの数が示されます。このデータは、ルート プロセッサの統計情報タイプに基づく論理テーブルに統計情報として保存されます。L2 インターフェイス TX 統計情報、L3 インターフェイス TX 統計情報、トラップ統計情報など、さまざまな統計情報タイプがあります。カプセル化の統計情報は、トラフィックの送信元を推測するのに役立ち、カプセル化解除の統計情報にはトラフィックの宛先が示されます。また、カプセル化解除の統計情報はトラフィックのタイプを検出するのにも役立ちます。
GRE トンネル設定の制約事項
-
NCS540 シリーズ ルータは最大 500 の GRE トンネルをサポートしています。
-
トンネル送信元でサポートされている一意の送信元 IP アドレスは最大 16 個のみです。
設定例
GRE トンネルを設定するには、トンネル インターフェイスを作成し、トンネルの送信元と宛先を定義します。次に、ルータ 1 とルータ 2 の間に GRE トンネルを設定する例を示します。両方のルータ上でトンネル インターフェイスを設定する必要があります。ルータ 1 のトンネル送信元 IP アドレスは、ルータ 2 のトンネル宛先 IP アドレスとして設定されます。ルータ 1 のトンネル宛先 IP アドレスは、ルータ 2 のトンネル送信元 IP アドレスとして設定されます。次の例では、2 つのルータ間のルーティング プロトコルとして OSPF が使用されています。また、BGP または IS-IS もルーティング プロトコルとして使用できます。
RP/0/RP0/CPU0:Router1# configure
RP/0/RP0/CPU0:Router1(config)# interface tunnel-ip 30
RP/0/RP0/CPU0:Router1(config-if)# tunnel mode gre ipv4
RP/0/RP0/CPU0:Router(config-if)# ipv4 address 10.1.1.1 255.255.255.0
RP/0/RP0/CPU0:Router1(config-if)# tunnel source 192.168.1.1
RP/0/RP0/CPU0:Router1(config-if)# tunnel destination 192.168.2.1
RP/0/RP0/CPU0:Router1(config-if)# exit
RP/0/RP0/CPU0:Router1(config)# interface Loopback 0
RP/0/RP0/CPU0:Router1(config-if)# ipv4 address 1.1.1.1
RP/0/RP0/CPU0:Router1(config-if)# exit
RP/0/RP0/CPU0:Router1(config)# router ospf 1
RP/0/RP0/CPU0:Router1(config-ospf)# router-id 192.168.4.1
RP/0/RP0/CPU0:Router1(config-ospf)# area 0
RP/0/RP0/CPU0:Router1(config-ospf-ar)# interface tunnel-ip 30
RP/0/RP0/CPU0:Router1(config-ospf-ar)# interface Loopback 0
RP/0/RP0/CPU0:Router1(config-ospf-ar)# commit
RP/0/RP0/CPU0:Router2# configure
RP/0/RP0/CPU0:Router2(config)# interface tunnel-ip 30
RP/0/RP0/CPU0:Router2(config-if)# tunnel mode gre ipv4
RP/0/RP0/CPU0:Router2(config-if)# ipv4 address 10.1.1.2 255.255.255.0
RP/0/RP0/CPU0:Router2(config-if)# tunnel source 192.168.2.1
RP/0/RP0/CPU0:Router2(config-if)# tunnel destination 192.168.1.1
RP/0/RP0/CPU0:Router2(config-if)# exit
RP/0/RP0/CPU0:Router2(config)# interface Loopback 0
RP/0/RP0/CPU0:Router2(config-if)# ipv4 address 2.2.2.2
RP/0/RP0/CPU0:Router2(config)# router ospf 1
RP/0/RP0/CPU0:Router2(config-ospf)# router-id 192.168.3.1
RP/0/RP0/CPU0:Router2(config-ospf)# area 0
RP/0/RP0/CPU0:Router2(config-ospf-ar)# interface tunnel-ip 30
RP/0/RP0/CPU0:Router2(config-ospf-ar)# interface Loopback 0
RP/0/RP0/CPU0:Router2(config-if)# commit