GRE(Generic Routing Encapsulation)とはトンネリングプロトコルです。トンネリングとは、「パケットを別のプロトコルに入れる」というカプセル化技術を使います。
以下のような構成を考えます。
端末A、端末Bはそれぞれプライベートネットワークで、R2〜R5間はインターネット上のグローバルネットワーク(169.254.xx/24)とします。 特にR5はプライベートネットワークへのルーティング情報はありません。 この場合、R2とR3間でトンネリングによりオーバーレイネットワークを作成します。GREはポイントトゥポイントで実行できるトンネルリング技術です。
GREにおけるオーバーレイとアンダーレイの整理
オーバレイ、アンダーレイネットワークが何かを整理します。
R2とR3でGREトンネリングによりオーバレイネットワークを作成します。R5はオーバーレイネットワークからは見えません。 オーバーレイネットワークでは、R2とR3があたかも192.168.235.0/24のスイッチに接続しているように見えます。
GREの設定
R2、R3の設定を確認します。
まず、GREの基本設定は以下の通りです。 オーバレイネットワーク構築に使用するトンネルインタフェースを作成して、アンダーレイネットワークの送信元と宛先のIPアドレスを設定します。 今回、トンネルインタフェースは192.168.235.0/24としています。
R2(config)# interface Tunnel0 R2(config-if)# ip address 192.168.235.2 255.255.255.0 R2(config-if)# tunnel source 169.254.25.2 R2(config-if)# tunnel destination 169.254.35.3 R2(config-if)#! R2(config)# ip route 169.254.35.0 255.255.255.0 169.254.25.5
R3(config)# interface Tunnel0 R3(config-if)# ip address 192.168.235.3 255.255.255.0 R3(config-if)# tunnel source 169.254.35.3 R3(config-if)# tunnel destination 169.254.25.2 R3(config-if)#! R3(config)# ip route 169.254.25.0 255.255.255.0 169.254.35.5
R2とR3でトンネリングできるには、アンダーレイネットワークでルータ間が接続できる必要があります。 今回はスタティックルートにて、R2、R3がお互いに接続できるようにしています。
トンネルが機能しているか確認します。トンネルインタフェースがUPしていることが確認できます。
R2# show interfaces tunnel 0 Tunnel0 is up, line protocol is up Hardware is Tunnel Internet address is 192.168.235.2/24 MTU 17916 bytes, BW 100 Kbit/sec, DLY 50000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation TUNNEL, loopback not set Keepalive not set Tunnel source 169.254.25.2, destination 169.254.35.3 Tunnel protocol/transport GRE/IP
R3# show interfaces tunnel 0 Tunnel0 is up, line protocol is up Hardware is Tunnel Internet address is 192.168.235.3/24 MTU 17916 bytes, BW 100 Kbit/sec, DLY 50000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation TUNNEL, loopback not set Keepalive not set Tunnel source 169.254.35.3, destination 169.254.25.2 Tunnel protocol/transport GRE/IP
オーバレイネットワークが構築できているか確認します。
R2# ping 192.168.235.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.235.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/34/64 ms
オーバーレイネットワーク上でのルーティング設定
オーバーレイネットワークの構成は以下の通りです。
端末Aと端末B間が接続できるよう、R2とR3でOSPFを設定します。
R2(config)# router ospf 1 R2(config-router)# network 192.168.12.0 0.0.0.255 area 0 R2(config-router)# network 192.168.235.0 0.0.0.255 area 0
R3(config)# router ospf 1 R3(config-router)# network 192.168.34.0 0.0.0.255 area 0 R3(config-router)# network 192.168.235.0 0.0.0.255 area 0
R2のルーティングテーブルを確認します。192.168.34.0/24の出力先インタフェースはTunnel0であり、オーバレイネットワークを経由することがわかります。
R2#show ip route ospf
O 192.168.34.0/24 [110/1001] via 192.168.235.3, 01:05:23, Tunnel0
R3#show ip route ospf
O 192.168.12.0/24 [110/1001] via 192.168.235.2, 01:06:51, Tunnel0
端末A(Ciscoデバイス)から端末Bに疎通します。
PC1#ping 192.168.34.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.34.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 48/59/76 ms
トレースルートを実行すると、オーバーレイネットワークを経由していることがわかります。(アンダーレイネットワークのアドレスは見えません)
PC1#traceroute 192.168.34.4 Type escape sequence to abort. Tracing the route to 192.168.34.4 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.12.2 12 msec 16 msec 4 msec 2 192.168.235.3 12 msec 28 msec 28 msec 3 192.168.34.4 60 msec 12 msec 72 msec
R5で端末Aから端末Bの通信をパケットキャプチャすると、アンダーレイネットワークのアドレスでカプセル化されていることがわかります。
コメント