CCNA实验三十六 GRE(通用路由封装)
环境: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加密。
CCNA实验三十六 GRE(通用路由封装)