GRE Tunnel Cisco基本設定

ネットワーク

GRE Tunnel

GRE

GRE(Generic Routing Encapsulation)はL3で動作するトンネルプロトコル。
IPヘッダの外側にGREオーバーロード(GREヘッダとIPヘッダ)を付ける。
ユニキャストのみでなくマルチキャスト通信も可能
データ自体に暗号化は行われないため、暗号化したい場合はIPsecを併用する。

今回の構成

NAPTを併用する。
R2とR4の間でGREトンネルを実装し、A-net,B-netそれぞれから、PC-CにアクセスできればOK
当然、R2,R4は共にR3をデフォルトルートとするが、R3にはデフォルトルートを設定せず、
192.168.10.0のネットワークを認知していないため、通常は通信できない。

構築

まずはIPアドレスを正しく設定する。
各ルータの基本設定は省略

NAPT, StaticNAT

R1

(config)#int g0/0
(config-if)#ip add 192.168.3.1 255.255.255.252
(config-if)#no shut
(config-if)#int g0/3
(config-if)#ip add 192.168.2.254 255.255.255.0
(config-if)#no shut
(config-if)#exit
(config)#ip route 0.0.0.0 0.0.0.0 192.168.3.2

R2

(config)#int g0/0
(config-if)#ip add 192.168.3.2 255.255.255.252
(config-if)#ip nat inside
(config-if)#no shut
(config-if)#int g0/1
(config-if)#ip add 10.1.1.1 255.255.255.248
(config-if)#ip nat outside
(config-if)#no shut
(config-if)#int g0/3
(config-if)#ip add 192.168.1.254 255.255.255.0
(config-if)#ip nat inside
(config-if)#no shut
(config-if)#exit
(config-if)#ip route 0.0.0.0 0.0.0.0 10.1.1.6  //デフォルトルートはR3
(config-if)#ip route 192.168.2.0 255.255.255.0 192.168.3.1  //B-netの経路を登録
(config-if)#exit
(config)#access-list 1 permit 192.168.1.0 0.0.0.255 //A-net用のACL
(config)#access-list 2 permit 192.168.2.0 0.0.0.255 //B-net用のACL
(config)#ip nat pool A-net 10.1.1.3 10.1.1.3 netmask 255.255.255.248
(config)#ip nat pool B-net 10.1.1.4 10.1.1.4 netmask 255.255.255.248
(config)#ip nat inside source list 1 pool A-net overload
(config)#ip nat inside source list 2 pool B-net overload
(config)#ip nat inside source static 192.168.1.1 10.1.1.2

R3
IPアドレス設定のみなので省略

R4

(config)#int g0/0
(config-if)#ip add 10.1.2.2 255.255.255.252
(config-if)#no shut
(config-if)#int g0/3
(config-if)#ip add 192.168.10.254 255.255.255.0
(config-if)#exit
(config)#ip route 0.0.0.0 0.0.0.0 10.1.2.1 //R3

これでR4とA-net,B-netは疏通ができるようになる。
次にGREトンネルを設定する。

GRE

R2
まずはトンネルインターフェースを作成

(config)#int tunnel 0
(config-if)#ip add 10.1.3.1 255.255.255.252
(config-if)#tunnel source g0/1  //送信元IPもしくは送信元IF
(config-if)#tunnel destination 10.1.2.2  //ピアを張る相手ルータ

R4も同様

(config)#int tunnel 0
(config-if)#ip add 10.1.3.2 255.255.255.252
(config-if)#tunnel source g0/0  //送信元IPもしくは送信元IF
(config-if)#tunnel destination 10.1.1.1  //ピアを張る相手ルータ

トンネルインターフェースがUPされる。
トンネルインターフェースが動作している。

次に、ルーティング設定。
GREが張られてもルーティングは別。
動的ルーティングでもいいが、今回はスタティック

R2

(config)#ip route 192.168.10.0 255.255.255.0 10.1.3.2

R4

(config)#ip route 192.168.1.0 255.255.255.0 10.1.3.1
(config)#ip route 192.168.2.0 255.255.255.0 10.1.3.1

これらの設定を入れることでPC-AからPC-Cにpingができることが確認できる。

キャプチャ内容を見てみる。
192.168.1.1から192.168.10.1にpingを行っている通信のキャプチャ。
IPv4の外側にGRE,IPv4とカプセル化されている。
このカプセル化によりR3でも問題なく転送される。

シンプル。
次はNetflowを試す予定。Elastic Stackで可視化までやりたい。

タイトルとURLをコピーしました