H3C-GRE VPN通过静态路由实现两个远程私网互联实验

一、实验组网介绍

        如图所示,两个私网用户PCA和PCB需要利用GRE VPN技术跨越各自网关RTA和RTB之间的静态IGP路由公网网络,实现安全互访需求。同时,利用GRE VPN识别关键字验证功能和keep alive检测功能进一步确保数据通信的安全性和可靠性。

二、配置思路

        根据组网需求可知该实验的配置思路如下:

  1. 配置各设备接口IP地址和主机IP地址以及网关;
  2. RTA、SWA和RTB使用静态路由实现公网互通;
  3. 在RTA和RTB上创建GRE隧道,并配置tunnel隧道接口参数(tunnel接口IP地址、源地址和目的地址等);
  4. 在RTA和RTB上配置去往各自私网的路由,下一跳地址指向tunnel接口,将私网路由通过tunnel接口封装GRE,最终实现,使两个私网通过GRE隧道实现安全互访。
  5. 在GRE VPN隧道两端设备RTA和RTB设备开启识别关键字验证功能;
  6. 在RTA和RTB设备GRE隧道开启keepalive检测功能,并在SWA设备接口模拟公网网络故障,检测keepalive功能是否配置成功。

三、配置过程

1、配置IP地址

        IP地址配如图所示,此处不再赘余。

2、配置静态路由实现公网IP互通

        在GRE VPN实现中,公网路由可达是前提。公网IP路由可达,除了使用静态路由实现公网IP互通外,还可以使用动态路由协议。此处公网使用静态路由实现IP路由可达。具体配置如下:

 (1)RTA 设备配置

       [RTA]ip route-static 2.2.2.0 24 1.1.1.2

(2) RTB 设备配置

        [RTB]ip route-static 1.1.1.0 24 2.2.2.2

(3)检查公网连通性

        在RTB设备上ping RTA设备,测试公网连通性,可以看到此时RTB能够与RTA通信,证明公网互通成功实现。

3、在RTA和RTB上创建GRE隧道,并配置tunnel隧道接口参数(tunnel接口IP地址、源地址和目的地址等)

         需要注意:Tunnel的源端地址与目的端地址唯一标识了一个隧道。在Tunnel两端必须都配置源IP地址,并指定对方的目端IP地址。另外,一个GRE隧道两端的Tunnel接口IP地址并不一定必须属于同一网段,若采用不同网段也可以。原因是:配置GRE的tunnel接口的IP地址时,因为Tunnel接口运行的链路层协议为PPP,而在串行链路中,两端的IP地址是可以在不同IP网段的,所以虚拟点对点连接的GRE隧道两端的Tunnel接口的IP地址可以不在同一IP网段,也可实现路由畅通的。但通常是把它们的IP地址配置在同一IP网段。此外,tunnel接口IP地址不能与同设备的其他接口的IP地址在同一个IP网段,通常用私网IP地址。

       在一些有关tunnel口是否可采用不同网段情况中,一般在使用静态路由将流量引导到GRE隧道的场景中,隧道两端的Tunnel接口IP地址可以不在同一个网段,而在动态路由场景中并不推荐将tunnel口两端IP地址配置在非同一网段,但是经过在模拟器实际测试在动态路由场景中tunnel接口的IP地址配置不一致,也可实现GRE 的封装,完成通信

         此实验将GRE隧道两端tunnel口IP地址均处于同一网段下。       

         在RTA和RTB上分别创建GRE封装类型的Tunnel接口tunnel 0,其tunnel口参数分别为:IP地址(192.168.3.1/24和192.168.3.2/24)、源端地址(1.1.1.1 2.2.2.2)和目的端地址(2.2.2.2 1.1.1.1)(此时的源目地址指的是发出和接收GRE报文的实际物理接口地址)。具体配置如下:     

#RTA设备配置

[RTA]int Tunnel 0 mode gre

[RTA-Tunnel0]ip add 192.168.3.1 24

[RTA-Tunnel0]source 1.1.1.1

[RTA-Tunnel0]destination 2.2.2.1

#RTB设备配置

[RTB]int Tunnel 0 mode gre

[RTB-Tunnel0]ip add 192.168.3.2 24

[RTB-Tunnel0]source 2.2.2.1

[RTB-Tunnel0]destination 1.1.1.1

4、在RTA和RTB设备上配置去往各自私网的路由,下一跳地址指向tunnel 0隧道。

       创建了GRE隧道之后,在源端设备和目的端设备上都必须存在经过Tunnel转发数据包的路由(下一跳指向tunnel隧道),这样GRE封装后的报文才能正确转发。可以配置静态路由,也可以配置动态路由。此实验使用静态路由。

        在远端RTA设备和RTB设备上配置到达对方私网的静态路由,下一跳指向各自设备配置的 GRE tunnel 0隧道接口,将私网数据包交由GRE隧道转发处理。

#RTA设备配置

[RTA]ip route-static 192.168.2.0 24 Tunnel 0

#RTB设备配置

[RTB]ip route-static 192.168.1.0 24 Tunnel 0

5、测试GRE隧道运行状况

        当在两端配置了隧道接口并创建了到达目的私网的路由(下一跳指向隧道),GRE VPN隧道便配置成功,就可以实现PCA和PCB通过GRE VPN隧道实现两个地域的私网用户路由互通。检验过程如下:

       检验一:使用ping命令验证PCA与PCB之间的连通性,如下所示,可以看到此时PCA和PCB可以实现通信。

        检验二:紧接着查看RTA与RTB的路由表,可以看到公网、私网路由均存在于路由表中,其中去往对方私网的路由下一跳为tunnel0隧道接口。如下所示:

        #RTA设备路由表

        #RTB设备路由表

        检验三:查看RTA和RTB的隧道接口状态,可见其使用GRE封装,状态均为UP。如下所示:

        #RTA设备GRE隧道状态检查截图

        #RTB设备GRE隧道状态检查截图

        检验四:在SWC的G1/0/2接口抓包,可以看到PCA与PCB之间的数据包经过了GRE隧道封装,并且封装后的数据包在通过公网时源地址为1.1.1.1,目的地址为2.2.2.1。如下所示:

        至此GRE VPN实验完成,接下来进一步配置GRE VPN的验证和keep alive功能。

6、GRE VPN识别关键字验证功能配置

        GRE不支持数据加密功能,但支持验证功能,为了安全性可以通过在隧道两端使用识别关键字方式进行验证,只有Tunnel两端设置的识别关键字完全一致时才能通过验证,否则将丢弃报文。关键字的取值范围为“0~4294967295”之间的整数

        需要注意:GRE识别关键字验证功能在GRE隧道两端都必须配置,并且两端关键字必须相同,否则数据包会被丢弃,导致无法通信。

        GRE VPN识别关键字验证功能配置过程如下。

(1)RTA设备配置

[RTA]int Tunnel 0

[RTA-Tunnel0]gre key 1234

(2)RTB设备配置

[RTB]int Tunnel 0

[RTB-Tunnel0]gre key 1234

        当在GRE隧道两端配置了正确且相同的识别关键字功能后,当数据包经过GRE隧道处理转发时,便会进行触发关键字验证。

7、GRE keep alive功能配置

        由于GRE协议并不具备检测链路状态的功能,GRE也是一种无状态的隧道,即隧道的任何一端都不会维护它与对端的连接状态。默认情况下,系统根据隧道源物理接口状态设置Tunnel接口状态。此时如果远端端口不可达,隧道并不能及时关闭该Tunnel连接,这样会造成源端会不断的向对端转发数据,而对端却因Tunnel不通而丢弃所有报文,由此就会形成数据发送的空洞。

        这时就可以借助GRE的Keepalive检测功能来解决。Keepalive检测功能通过周期性向对端发送 Keepalive 报文(一种类似于动态路由协议中很小的 hello 报文)检测隧道的连通状态(检测隧道链路是否处于Keepalive状态,即检测隧道对端是否可达)。如果对端不可达,隧道连接就会立即关闭,避免因对端不可达造成的数据丢失,进而形成数据空洞,保证数据传输的可靠性。

        需要注意:

        keepalive功能在隧道两端设备配置静态路由时,作用较大,而若是两端使用了动态路由协议,则作用较小。因为动态路由协议自身可以动态发现并适应网络的变化,Keepalive功能不再是必需的。

        GRE VPN keepalive功能验证过程如下:

        步骤一:在SWA设备的VLANIF2接口执行shutdown命令模拟公网发生故障。

[SWA]int vlan 2

[SWA-Vlan-interface2]shutdown

        步骤二:在RTA设备上检查隧道接口的状态。可以看到此时虽然公网SWA设备发生故障,导致公网IP路由不可达,但是RTA自身的GRE隧道接口仍旧处于up状态。这是因为在RTA上,隧道源地址所属接口正常,Tunnel0接口的状态也会保持up。并且由于使用的是静态路由,则RTA上的路由表也不会发生任何变化,隧道目的地址所需的路由仍然存在。如下所示:

        步骤三:在SWA设备VLANIF2接口执行“undo shutdown”恢复接口故障状态(配置省略),然后在RTA和RTB设备上隧道接口使能“keepalive”功能,如下所示。

        #RTA设备使能keepalive功能

[RTA]int Tunnel 0

[RTA-Tunnel0]keepalive

        #RTB设备使能keepalive功能

[RTB]int Tunnel 0

[RTB-Tunnel0]keepalive

        步骤四:在隧道两端使能了keepalive功能之后,再在SWA的VLANIF2接口执行shutdown命令,模拟网络故障(配置省略)。等待片刻,再次在RTA设备查看隧道接口状态。如下所示,此时RTA设备Tunnel0 接口状态变为DOWN,原因是RTA未能从对端收到 keepalive 消息。        

        启动了Keepalive功能后,路由器会从Tunnel接口周期性发送Keepalive报文。默认情况下,一旦路由器连续3次收不到对方响应的Keepalive报文,即认为隧道不可用,随即将Tunnel接口的状态置为Down

        步骤五:在SWA设备在SWA设备VLANIF2接口执行“undo shutdown”恢复接口故障状态(配置省略),稍等片刻,RTA设备Tunnel0 接口状态变为up,并且PCA和PCB可以正常通信。如下所示:

        自此,GRE VPN实验结束。

  • 30
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值