环境:Windows XP 、Packet Tracert5.3 目的:了解GRE的使用,掌握如何配置GRE。 说明: GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(如IP和IPX)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输。GRE采用了Tunnel(隧道)技术,是VPN(Virtual Private Network)的第三层隧道协议。 Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel 的两端分别对数据报进行封装及解封装。 一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过封装与解封装两个过程. 步骤: 创建拓扑如下:
配置R1: Router>en Router#conf t Router(config)#host R1 R1(config)#int loopback 0 R1(config-if)#ip add 192.168.1.1 255.255.255.0 R1(config-if)#exit R1(config)#int s0/0/0 R1(config-if)#ip add 12.1.1.1 255.255.255.0 R1(config-if)#no sh R1(config-if)#exit R1(config)#int tunnel 0 //创建隧道Tunnel 0 R1(config-if)#ip add 1.1.1.1 255.255.255.0 //配置隧道IP地址 R1(config-if)#tunnel source s0/0/0 //指定Tunnel隧道的源端口 R1(config-if)#tunnel destination 23.1.1.1 //指定Tunnel隧道的目标地址 R1(config-if)#exit //退出 R1(config)#router rip //开启RIP路由进程 R1(config-router)#no auto-summary //关闭自动汇总 R1(config-router)#version 2 //启用版本2的RIP路由协议 R1(config-router)#net work 12.1.1.0 //把12.1.1.0网段加入到路由进程中,并通告出去 R1(config-router)#exit R1(config)#ip rou 192.168.2.0 255.255.255.0 1.1.1.2 //通过Tunnel隧道路由到R3的loopback 0口
配置R2: Router>en Router#conf t Router(config)#host R2 R2(config)#int s0/0/0 R2(config-if)#ip add 12.1.1.2 255.255.255.0 R2(config-if)#clock rate 64000 R2(config-if)#no sh R2(config-if)#exit R2(config)#int s0/0/1 R2(config-if)#ip add 23.1.1.2 255.255.255.0 R2(config-if)#clock rate 64000 R2(config-if)#no sh R2(config-if)#exit R2(config)#router rip R2(config-router)#version 2 R2(config-router)#no auto-summary R2(config-router)#network 12.1.1.0 R2(config-router)#network 23.1.1.0 R2(config-router)#exit 配置R3 Router>en Router#conf t Router(config)#host R3 R3(config)#int loopback 0 R3(config-if)#ip add 192.168.2.1 255.255.255.0 R3(config-if)#exit R3(config)#int s0/0/0 R3(config-if)#ip add 23.1.1.1 255.255.255.0 R3(config-if)#no sh R3(config-if)#exit R3(config)#int tunnel 0 R3(config-if)#ip add 1.1.1.2 255.255.255.0 R3(config-if)#tunnel source s0/0/0 R3(config-if)#tunnel destination 12.1.1.1 R3(config-if)#exit R3(config)#router rip R3(config-router)#version 2 R3(config-router)#no auto-summary R3(config-router)#network 23.1.1.0 R3(config-router)#exit R3(config)#ip rou 192.168.1.0 255.255.255.0 1.1.1.1//通过Tunnel隧道路由到R2的loopback0口 通过上面的配置后Tunnel隧道就成功建立了,R1、R3可以互相Ping对方的Tunnel 0和loopback 0接口,但R2却Ping不通它们的Tunnel 0和loopback 0接口。这样Tunnell隧道就达到透明工作的效果。
为了在Tunnel隧道上实现安全和加密我们可以配置GRE over IPsec如下: R1配置: R1(config)#access-list 100 permit gre 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 R1(config)#crypto isakmp enable R1(config)#crypto isakmp policy 1 R1(config-isakmp)#authentication pre-share R1(config-isakmp)#hash md5 R1(config-isakmp)#group 2 R1(config-isakmp)#exit R1(config)#crypto isakmp key kkfloat address 23.1.1.1 R1(config)#crypto ipsec transform-set kkfloatset esp-3des esp-md5-hmac R1(config)#crypto map vpn 10 ipsec-isakmp R1(config-crypto-map)#set peer 23.1.1.1 R1(config-crypto-map)#set transform-set kkfloatset R1(config-crypto-map)#match address 100 R1(config-crypto-map)#exit R1(config)#int s0/0/0 R1(config-if)#crypto map vpn R1(config-if)#exit 配置R3: R3(config)#access-list 100 permit gre 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 R3(config)#crypto isakmp enable R3(config)#crypto isakmp policy 1 R3(config-isakmp)#authentication pre-share R3(config-isakmp)#hash md5 R3(config-isakmp)#group 2 R3(config-isakmp)#exit R3(config)#crypto isakmp key kkfloat address 12.1.1.1 R3(config)#crypto ipsec transform-set kkfloatset esp-3des esp-md5-hmac R3(config)#crypto map vpn 10 ipsec-isakmp R3(config-crypto-map)#set peer 12.1.1.1 R3(config-crypto-map)#set transform-set kkfloatset R3(config-crypto-map)#match address 100 R3(config-crypto-map)#exit R3(config)#int s0/0/0 R3(config-if)#crypto map vpn R3(config-if)#exit 通过以上配置后,Tunnel隧道就实现了IPsec加密。
|