GRE トンネルの設定
トンネリングでは、1 つのプロトコルのパケットを別のプロトコル内に転送するメカニズムを提供します。Generic Routing Encapsulation(GRE)は、カプセル化によってあるプロトコルのパケットを別のプロトコルを介して転送する、簡易な一般的アプローチを提供するトンネリング プロトコルです。GRE は、ペイロード(外側の IP パケット内部の、宛先ネットワークに渡す必要がある内側のパケット)をカプセル化します。GRE トンネルは、トンネル送信元アドレスとトンネル宛先アドレスによって識別される 2 つのエンドポイントを持つ仮想ポイントツーポイント リンクとして動作します。トンネルのエンドポイントは、介在する IP ネットワークを通じてカプセル化パケットをルーティングすることによって、GRE トンネルを介してペイロードを送信します。途中の IP ルータは、ペイロード(内側のパケット)を解析しません。これらのルータは、GRE トンネル エンドポイントにパケットを転送する際に、外側の IP パケットだけを解析します。トンネル エンドポイントに到達すると、GRE カプセル化が削除され、ペイロードはパケットの最終的な宛先に転送されます。
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