什么是“GRE”协议?
GRE
GRE(通用路由协议封装)是由Cisco和Net-smiths等公司于1994年提交给IETF的gre隧道,标号为RFC1701和RFC1702。目前有多数厂商的网络设备均支持GRE隧道协议。
GRE规定gre隧道了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义gre隧道,允许用户使用IP包封装IP、IPX、AppleTalk包gre隧道,并支持全部的路由协议(如RIP2、OSPF等)。通过GREgre隧道,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。
GRE协议的主要用途有两个:企业内部协议封装和私有地址封装。在国内,由于企业网几乎全部采用的是TCP/IP协议,因此在中国建立隧道时没有对企业内部协议封装的市场需求。企业使用GRE的唯一理由应该是对内部地址的封装。当运营商向多个用户提供这种方式的VPN业务时会存在地址冲突的可能性。
如何配置l2tp over gre隧道
L2TP支持MP(MultilinkProtocol),把多个物理通道捆绑为单一逻辑信道pptp使用M$的拨号网络作为客户端,使用gre做tunnel封装,mppe进行加密。l2tp也使用M$的拨号网络做为客户端,在lac进行一次证,在lns进行二次认证,tunnel是处于lac与lns之间。加密方式可以选择mppe和ipsec。ipsec使用ESP/AH做为tunnel封装,一般需要专用的客户端。如cisco的vpnclient或其它厂商的client.PPTP和L2TP都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网络上的传输。尽管两个协议非常相似,但是仍存在以下几方面的不同:1.PPTP要求互联网络为IP网络。L2TP只要求隧道媒介提供面向数据包的点对点的连接。L2TP可以在IP(使用UDP),桢中继永久虚拟电路(PVCs),X.25虚拟电路(VCs)或ATMVCs网络上使用。2.PPTP只能在两端点间建立单一隧道。L2TP支持在两端点间使用多隧道。使用L2TP,用户可以针对不同的服务质量创建不同的隧道。3.L2TP可以提供包头压缩。当压缩包头时,系统开销(overhead)占用4个字节,而PPTP协议下要占用6个字节。4.L2TP可以提供隧道验证,而PPTP则不支持隧道验证。但是当L2TP或PPTP与IPSEC共同使用时,可以由IPSEC提供隧道验证,不需要在第2层协议上验证隧道。
IPSEC隧道和GRE隧道的区别
最重要的区别!!!
IPSEC只支持TCP/IP协议的网络,GRE则支持多协议,不同的网络类型。(如IPX,APPLETALK)
这就是为什么IPSEC和GRE常常联用的原因。
把IPSEC封装成GRE来穿越不同的网络类型,从而使IPSEC对等体的建立在不同网络环境中。。。
如何配置Cisco路由器GRE隧道
配置Cisco路由器GRE隧道的方法
在Cisco路由器上配置GRE隧道是一个简单的工作,只需要输入几行命令即可实现。以下是一个简单的例子。
路由器A
interface Ethernet0/1
ip address 10.2.2.1 255.255.255.0
interface Serial0/0
ip address 192.168.4.1 255.255.255.0
interface 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.0
interface Serial0/0
ip address 192.168.4.2 255.255.255.0
interface Tunnel0
ip address 1.1.1.1 255.255.255.0
tunnel source Serial0/0
tunnel destination 192.168.4.1
gre隧道:配置隧道接口ip地址有什么作用
由于GRE是将一个数据包封装到另一个数据包中gre隧道,因此你可能会遇到GREgre隧道的数据
报大于网络接口所设定的数据包最大尺寸的情况。接近这种问题的方法是在隧道接口上配置ip tcp adjust-mss 1436。
另外,虽然GRE并不支持加密,但是你可以通过tunnel key命令在隧道的两头各设置一个密钥。这个密钥其实就是一个明文的密码。
由于GRE隧道没有状态控制,可能隧道的一端已经关闭,而另一端仍然开启。这一问题的解决方案就是在隧道两端开启keepalive数据包。它可以让隧道一端定时向另一端发送keepalive数据,确认端口保持开启状态。如果隧道的某一端没有按时收到keepalive数据,那么这一侧的隧道端口也会关闭。
联系我们请扫一扫上面二维码