思科配置实例系列---路由器配置GRE隧道
路由封装(GRE)最早是由Cisco提出的,而目前它已经成为了一种标准,被定义在RFC 1701, RFC 1702, 以及RFC 2784中。简单来说,GRE就是一种隧道协议,用来从一个网络向另一个网络传输数据包。如果你觉得它和虚拟专用网(VPN)有些类似,那只是因为:从技术上讲,GRE隧道是某一类型的VPN,但是并不是一个安全隧道方式。不过你也可以使用某种加密协议对GRE隧道进行加密,比如VPN网络中常用的IPSec协议。实际上,点到点隧道协议(PPTP)就是使用了GRE来创建VPN隧道。比如,如果你要创建Microsoft VPN隧道,默认情况下会使用PPTP,这时就会用到GRE。为什么要用GRE?为什么要使用GRE进行隧道传输呢?原因如下:有时你需要加密的多播传输。GRE隧道可以像真实的网络接口那样传递多播数据包,而单独使用IPSec,则无法对多播传输进行加密。多播传输的例子包括OSPF, EIGRP, 以及RIPV2。另外,大量的视频、VoIP以及音乐流程序使用多播。你所采用的某种协议无法进行路由,比如NetBIOS或在IP网络上进行非IP传输。比如,你可以在IP网络中使用GRE支持IPX或AppleTalk协议。
你需要用一个IP地址不同的网络将另外两个类似的网络连接起来。
如何配置GRE隧道?在Cisco路由器上配置GRE隧道是一个简单的工作,只需要输入几行命令即可实现。以下是一个简单的例子。路由器A:interface Ethernet0/1
ip address 10.2.2.1 255.255.255.0interface Serial0/0
ip address 192.168.4.1 255.255.255.0interface Tunnel0
ip address 1.1.1.2 255.255.255.0
tunnel source Serial0/0
tunnel destination 192.168.4.2路由器B:interface FastEthernet0/1
ip address 10.1.1.1 255.255.255.0interface Serial0/0
ip address 192.168.4.2 255.255.255.0interface Tunnel0
ip address 1.1.1.1 255.255.255.0
tunnel source Serial0/0
tunnel destination 192.168.4.1在这个例子中,两个路由器均拥有虚拟接口,即隧道接口。这一接口属于各自的网络,就好像一个点到点的T1环路。跨越隧道网络的数据采用串行网络方式传输。对于每个路由器都有两种途径将数据传递到另一端,即通过串行接口以及通过隧道接口(通过隧道传递数据)。该隧道可以传输非路由协议的数据,如NetBIOS或AppleTalk。如果数据需要通过互联网,你可以使用IPSec对其进行加密。从下面的信息反馈可以看出,路由器B上的隧道接口和其他网络接口没有什么不同:RouterB# sh ip int brieInterface IP-Address OK?MethodStatus Protocol
Ethernet0 10.1.1.1 YESmanualup down
Serial0 192.168.4.2YESmanualup up
Serial1 unassigned YESunset administratively downdown
Tunnel0 1.1.1.1 YESmanualup up
RouterB#解决GRE隧道的问题由于GRE是将一个数据包封装到另一个数据包中,因此你可能会遇到GRE的数据报大于网络接口所设定的数据包最大尺寸的情况。接近这种问题的方法是在隧道接口上配置ip tcp adjust-mss 1436。另外,虽然GRE并不支持加密,但是你可以通过tunnel key命令在隧道的两头各设置一个密钥。这个密钥其实就是一个明文的密码。由于GRE隧道没有状态控制,可能隧道的一端已经关闭,而另一端仍然开启。这一问题的解决方案就是在隧道两端开启keepalive数据包。它可以让隧道一端定时向另一端发送keepalive数据,确认端口保持开启状态。如果隧道的某一端没有按时收到keepalive数据,那么这一侧的隧道端口也会关闭。
http://bbs.hh010.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 fulltimes的微博 {:6_291:}{:6_291:} {:6_267:} {:6_267:} {:6_267:}{:6_267:} 呵呵你真厉害,佩服哦 {:6_267:} {:6_267:}
页:
[1]