一、GRE 隧道的实现(仅隧道,不支持加密)
1.1 实验拓扑
1.2 实验配置
1.2.1 连通性配置:
配置好相关设备IP,确保已经正常的互连性,该实验主要测试gre隧道,建议直接使用静态路由实现连通
连通性测试:
PC1可ping通PC2
1.2.2 在总部和分部出口网关上创建隧道
AR1:
interface Tunnel0/0/0
description zongbu-gre #隧道的名称,非必须配置
ip address 100.64.1.1 255.255.255.0 #隧道ip,实际环境公私网IP都可以
tunnel-protocol gre #封装的协议
source 101.222.1.1 #设置gre本端,可以是本端公网出口IP,也可是出接口
destination 202.116.2.1 #设置gre对端,必须是对端公网地址
AR3:
interface Tunnel0/0/0
description fenbu-gre #隧道的名称,非必须配置
ip address 100.64.1.2 255.255.255.0 #隧道ip,实际环境公私网IP都可以
tunnel-protocol gre #封装的协议
source 202.116.2.1 #设置gre本端,可以是本端公网出口IP,也可是出接口
destination 101.222.1.1 #设置gre对端,必须是对端公网地址
检查gre隧道是否正常建立连接(是否协议up,状态up)
检查隧道 IP的连通性
AR1:
ping 100.64.1.2
1.2.3 引流(可使用静态或ospf,rip等),该实验使用静态路由的方式引流到gre隧道中(两端都要配置)
AR1:
ip route-static 172.16.1.0 24 Tunnel 0/0/0 description vpn-gre #可以是隧道口,也可以是隧道对端的IP
AR3:
ip route-static 10.1.1.0 24 Tunnel 0/0/0 description vpn-gre #可以是隧道口,也可以是隧道对端的IP
1.3 实验效果
实现前效果:
实现后效果:
1.4 gre优化
1.4.1 gre安全机制
GRE隧道的安全性,可以对GRE隧道两端进行端到端校验或者设置GRE隧道的识别关键字,通过这种安全机制防止错误识别、接收其它地方来的报文。
使能GRE隧道的校验和功能
[AR1-Tunnel0/0/0]gre checksum
配置GRE隧道的识别关键字
如果在隧道两端的Tunnel接口配置识别关键字,则必须指定相同的识别关键字;或隧道两端都不配置此命令。如果使用plain选项,识别关键字将以明文形式保存在配置文件中,存在安全隐患。建议使用cipher选项,将识别关键字加密保存。
[AR1-Tunnel0/0/0]gre key 5201314
1.4.2 GRE的Keepalive检测功能
使用Keepalive功能可以周期地发送Keepalive探测报文给对端,及时检测隧道连通性。若对端可达,则本端会收到对端的回应报文;否则,收不到对端的回应报文,关闭隧道连接。
Keepalive功能是单向的,只要在隧道一端配置Keepalive,该端就具备Keepalive功能,而不要求隧道对端也具备该功能。为了使隧道两端都能检测对端是否可达,建议在隧道两端都使Keepalive功能。
[AR3-Tunnel0/0/0]keepalive period 5 retry-times 3 #配置5s发送一次,重试次数3次,通过在接口下disp keepalive packets count命令可查看发送了多少个keepalive报文
模拟故障,看看GRE的Keepalive检测效果
关闭或者启用AR2的G0/0/0端口,AR3隧道会自动关闭或者启用
二、gre over ipsec的实现(安全加密),并跨公网运行ospf协议,联通两个内网
见下一篇,谢谢!