【背景】
某公司拥有两地办事机构,这里用AR1和AR3代表,分别拥有各自的子网。出口网关分别从ISP处获得一公网IP(此处分别以10.0.12.1/24和10.0.23.3/24网络代表)。架设一个网络,使得内部子网能够通信。
这是一个两地办公经常会遇到的网络问题。
【解决方案】
为了使得两地可以相互访问内网,冒无疑问的需要使用到VPN技术。为了保证传输的安全性,这里直接使用IPSec 。但是我们知道,IPSec 只能传输单播报文。那么当两地的网络较庞大之时,相互的一条一条互指静态路由,是一个庞大的成本。
若要使用路由,由于路由协议是组播报文,这里,使用GRE 插入到IPSec当中,构成GRE Over IPSec,使得组播报文在传输的同时,也能保证安全性。
【原理】
这里使用OSPF10进程来模拟公网的一系列路由,来使得AR1和AR3之间公网可达。在此情景下,配置Tunnel接口,协议定义为GRE,打通两端的GRE链路,GRE的源和目的分别是AR1和AR3的公网地址。该GRE链路用来承载AR1和AR3之间的OSPF路由。为了保证数据的安全,使用IPSec VPN,IPSec VPN需要指定感兴趣流的源和目的。依据GRE Over IPSec的原理特性,这个源就是GRE接口的隧道源,目的就是GRE接口的隧道目的。当开启了路由协议或者组播,例如OSPF,只要将该GRE的Tunnel口宣告进入OSPF进程,则触发了IPSec的感兴趣流,即可对数据进行保护。
这里使用了两个路由进程。其中OSPF 10是公网的路由进程,而OSPF 1是私网的路由进程,二者是无相互关系的,所以,在AR2上看不到AR1和AR3的私网,10.0.1.1/32、10.0.11.11/32等网络。该VPN就穿越了公网路由器AR2。
数据包的封装过程如下:
【配置】
【配置1——打通AR1和AR3之间公网的可达性】
AR1:
#
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.255
#
interface LoopBack1
ip address 10.0.11.11 255.255.255.255
#
ospf 10 router-id 1.1.1.1
area 0.0.0.0
network 10.0.12.0 0.0.0.255
AR2:
#
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.23.2 255.255.255.0
#
#
ospf 10 router-id 2.2.2.2
area 0.0.0.0
network 10.0.12.0 0.0.0.255
network 10.0.23.0 0.0.0.255
AR3:
#
interface GigabitEthernet0/0/1
ip address 10.0.23.3 255.255.255.0
#
interface LoopBack0
ip address 10.0.3.3 255.255.255.255
#
interface LoopBack1
ip address 10.0.33.33 255.255.255.255
#
ospf 10 router-id 3.3.3.3
area 0.0.0.0
network 10.0.23.0 0.0.0.255
【配置2——打通两端的GRE链路】
AR1:
interface Tunnel0/0/0
ip address 100.1.1.1 255.255.255.0
tunnel-protocol gre
source 10.0.12.1
destination 10.0.23.3
AR3:
#
interface Tunnel0/0/0
ip address 100.1.1.2 255.255.255.0
tunnel-protocol gre
source 10.0.23.3
destination 10.0.12.1
【配置3——使用IPSec 来加密GRE隧道】
AR1:
acl number 3001
rule 0 permit ip source 10.0.12.0 0.0.0.255 destination 10.0.23.0 0.0.0.255
#
ipsec proposal huawei
#
ike proposal 1
#
ike peer r3 v2
pre-shared-key simple huawei123
ike-proposal 1
remote-address 10.0.23.3
#
ipsec policy huawei 1 isakmp
security acl 3001
ike-peer r3
proposal huawei
#
AR3:
acl number 3001
rule 0 permit ip source 10.0.23.0 0.0.0.255 destination 10.0.12.0 0.0.0.255
#
ipsec proposal huawei
#
ike proposal 1
#
ike peer r1 v2
pre-shared-key simple huawei123
ike-proposal 1
remote-address 10.0.12.1
#
ipsec policy huawei 1 isakmp
security acl 3001
ike-peer r1
proposal huawei
#
【配置4——配置基于Tunnel隧道的OSPF进程来传输路由】
AR1:
#
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 10.0.1.0 0.0.0.255
network 10.0.11.0 0.0.0.255
network 100.1.1.0 0.0.0.255
#
AR3:
#
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 10.0.3.0 0.0.0.255
network 10.0.33.0 0.0.0.255
network 100.1.1.0 0.0.0.255