GRE协议Tunnel

合集下载

gre隧道报文格式

gre隧道报文格式

gre隧道报文格式
GRE隧道报文格式是指通用路由封装(GenericRoutingEncapsulation,GRE)协议中用于传输数据的报文格式。

GRE是一种隧道协议,可以将其他协议的数据包封装在GRE包中,然后在网络中传输。

以下是GRE隧道报文格式的具体解析:
1. GRE协议头部:GRE协议头部包含以下字段:
- 位标识符(Flags):用于标识GRE报文中是否有可选字段。

- 协议类型(Protocol Type):表示GRE报文中封装的上层协议类型,如IP、IPv6等。

- 标志(Key):用于标识GRE隧道的唯一性。

- 严格路由源选项(Strict Source Route Option):用于指定GRE报文的传输路径,即源地址到目的地址的路径必须按照该选项中指定的路径传输。

可选字段。

- 递归隧道选项(Recursive Tunnel Option):用于支持多层隧道,即在GRE封装的数据包中再次封装GRE协议头部,以便在多个网络之间传输。

可选字段。

- 其他可选字段。

2. GRE协议数据部分:GRE协议数据部分是指封装在GRE包中的上层协议数据包,如IP包、TCP包等。

总之,GRE隧道报文格式的设计使得它能够有效地传输各种类型的数据包,并提供了可选的字段以支持更多的功能。

- 1 -。

(合同范本)VPN之GRE隧道协议案例配置

(合同范本)VPN之GRE隧道协议案例配置

VPN 虚拟专用网,全称:Virtual Private Network 是一种基于公共数据网的服务,它主要依赖ISP,在公共网络中建立虚拟专用通信网络。

隧道技术:在VPN中广泛使用了隧道技术,隧道是一种封装技术,它是利用一种网络协议来传输另一种网络协议。

即利用一种网络协议,将其它的一些协议产生的数据报文封装在自己的报文中,而后在网络中传输,它的通信只是一个虚拟的连接。

隧道是通过隧道协议来实现,隧道协议包括:第二层隧道协议(PPTP、L2TP)和第三层隧道协议(GRE、IPsec),下面主要讲解第三层隧道协议:GREGRE隧道协议GRE 通用路由封装协议,英文名称:Generic Routing Encapsulation 它实际上是一种封装协议,提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输,异种报文传输的通道称为tunnel(隧道)GRE数据包的格式是乘客协议、封装协议与运输协议3部分组成1.乘客协议:用户要传输的数据,这是真正用户要传输的数据,可以是IP或IPX等2.封装协议:用于建立、保持、拆卸隧道的协议,比如GRE、IPSEC,它把乘客协议报文进行“包装”,加上一个GRE头部,然后再把封装好的原始报文和GRE头部,放在IP地方的“数据区”,由IP进行传输。

3.运输协议:主要是指乘客协议被封装协议封装之后要发送出去应用的协议,现在我们主要使用的是IP协议。

如果使用我们平时发信来比喻的话,乘客协议就是我们写的信的内容(不同的协议就等于是不同的语言),而封装协议就是指信封,它对信件进行封装,而运输协议就是我们用哪种方式(协议)把信送出去。

示例:gre在中小企业中的应用拓扑图现在我们的要求就是让北京总公司与上海分公司通过广域网之后,两边内网能够相互通信,由于是实验环境,我们使用一个三层交换机来模拟广域网,为了保证其安全性,使用两个H3C的防火墙来做GRE接入第二阶段:配置广域网通信1.配置广域网<Quidway>systemEnter system view, return to user view with Ctrl+Z.[Quidway]vlan 10 //创建vlan10[Quidway-vlan10]port eth0/1 //将1端口加入vlan[Quidway-vlan10]vlan 20 //创建vlan20[Quidway-vlan20]port eth0/2 //将端口2加入[Quidway-vlan20]int vlan 10[Quidway-Vlan-interface10]ip add 61.130.131.1 255.255.255.0 //配置vlan ip [Quidway-Vlan-interface10]int vlan 20[Quidway-Vlan-interface20]ip add 61.130.130.1 255.255.255.0 //配置vlan ip2.北京总公司防火墙配置<H3C>system[H3C]int eth0/0[H3C-Ethernet0/0]ip add 192.168.1.1 24 //配置内网网关[H3C-Ethernet0/0]int eth0/4[H3C-Ethernet0/4]ip add 61.130.131.2 24 //配置外网ip[H3C]firewall zone untrust[H3C-zone-untrust]add int eth0/4 //将eth0/4加入untrust区域[H3C-zone-untrust][H3C]ip route-static 0.0.0.0 0 61.130.131.1 //配置静态路由3.上海分公司防火墙配置<H3C>systemSystem View: return to User View with Ctrl+Z.[H3C]int eth0/0[H3C-Ethernet0/0]ip add 192.168.2.1 24 //内网网关[H3C-Ethernet0/0]int eth0/4[H3C-Ethernet0/4]ip add 61.130.130.2 24 //外网IP[H3C]firewall zone untrust[H3C-zone-untrust]add int eth0/4 //将eth0/4加入untrust区域[H3C]ip route-static 0.0.0.0 0 61.130.130.1 //配置静态路由4.测试使用北京防火墙ping上海防火墙端口ip[H3C]ping 61.130.130.2PING 61.130.130.2: 56 data bytes, press CTRL_C to breakReply from 61.130.130.2: bytes=56 Sequence=1 ttl=254 time=19 msReply from 61.130.130.2: bytes=56 Sequence=2 ttl=254 time=6 msReply from 61.130.130.2: bytes=56 Sequence=3 ttl=254 time=5 msReply from 61.130.130.2: bytes=56 Sequence=4 ttl=254 time=5 msReply from 61.130.130.2: bytes=56 Sequence=5 ttl=254 time=6 ms--- 61.130.130.2 ping statistics ---5 packet(s) transmitted5 packet(s) received0.00% packet lossround-trip min/avg/max = 5/8/19 ms第二阶段:隧道配置1. 北京总公司防火墙配置[H3C]int Tunnel 10 //创建隧道10[H3C-Tunnel10]tunnel-protocol gre //gre封装协议[H3C-Tunnel10]source 61.130.131.2 //源ip(外网合法ip)[H3C-Tunnel10]destination 61.130.130.2 //目的ip(对端合法ip)[H3C-Tunnel10]ip add 192.168.4.1 24 //隧道ip[H3C-Tunnel10]quit[H3C]ip route-static 192.168.2.0 255.255.255.0 Tunnel 10 //静态路由,指出到达192.168.2.0网段的路由进入tunnel 10进行传输[H3C]firewall zone untrust[H3C-zone-untrust]add int Tunnel 10 //把隧道加入非安全区域2. 上海总公司防火墙配置[H3C]int Tunnel 20[H3C-Tunnel20]tunnel-protocol gre[H3C-Tunnel20]source 61.130.130.2[H3C-Tunnel20]destination 61.130.131.2[H3C-Tunnel20]ip add 192.168.4.2 24[H3C-Tunnel20]quit[H3C]ip route-static 192.168.1.0 255.255.255.0 Tunnel 20[H3C]firewall zone untrust[H3C-zone-untrust]add interface Tunnel 203.测试使用北京总公司一个主机ping上海分公司的网关C:Documents and SettingsAdministrator>ping 192.168.2.1Pinging 192.168.2.1 with 32 bytes of data:Reply from 192.168.2.1: bytes=32 time=8ms TTL=254Reply from 192.168.2.1: bytes=32 time=5ms TTL=254Reply from 192.168.2.1: bytes=32 time=4ms TTL=254Reply from 192.168.2.1: bytes=32 time=4ms TTL=254Ping statistics for 192.168.2.1:Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:Minimum = 4ms, Maximum = 8ms, Average = 5ms[温馨提醒:合同协议是经验性极强的领域,无法思考和涵盖全面,最好找专业律师起草或审核后使用。

gre隧道协议

gre隧道协议

GRE隧道协议GRE(Generic Routing Encapsulation,通用路由封装)是一种常用的隧道协议,它可以在Internet Protocol(IP)网络上封装其他协议的数据包,以实现数据包的路由和传输。

本文将介绍GRE隧道协议的基本原理、使用场景以及配置方法。

1. GRE隧道协议的基本原理GRE隧道协议是一种将其他协议的数据包封装在IP数据包中进行传输的技术。

它可以在源主机和目的主机之间创建一条逻辑连接,通过该连接传输封装后的数据包。

GRE隧道协议的基本原理如下:•GRE隧道协议使用封装(encapsulation)和解封装(decapsulation)的方式实现数据包的传输。

在源主机上,GRE隧道协议将要传输的数据包封装在一个GRE数据包中,并添加相应的头部信息。

然后,该GRE数据包会被封装在一个IP数据包中进行传输。

在目的主机上,GRE数据包会被解封装,恢复成原始的数据包,并将其传递给目标协议栈进行处理。

•GRE隧道协议的封装过程是通过在原始数据包前添加GRE头部信息实现的。

GRE头部包含了一系列字段,用于指示封装数据包的协议类型、源地址、目的地址等信息。

这些字段可以帮助目的主机正确地解封装数据包,并将其交给相应的协议栈进行处理。

•GRE隧道协议可以在IP网络上建立逻辑连接,使得源主机和目的主机之间可以进行数据包的传输。

这条逻辑连接可以是点对点的,也可以是多对多的。

在点对点连接中,只有两个主机之间的数据包可以通过GRE隧道进行传输。

而在多对多连接中,多个主机之间的数据包可以通过GRE隧道进行传输。

2. GRE隧道协议的使用场景GRE隧道协议在计算机网络中有着广泛的应用场景。

下面介绍几个常见的使用场景:•远程访问:GRE隧道协议可以用于远程访问,通过在公共网络上建立隧道连接,使得远程用户可以安全地访问内部网络资源。

远程用户的数据包会经过GRE隧道进行封装和传输,然后在目的网络上解封装,达到远程访问的目的。

Ip通道(gretunnel)

Ip通道(gretunnel)

Gre tunnel是提供点对点通信的一种方法。

<;!-- [if !mso]>; <;style>; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} <;/style>; <;![endif]-->;<;!-- [if !ppt]-->;<;!-- [endif]-->;gre tunnel :Linux1 和 Linux2 都有一个网卡,但是该网卡上都分别配置了两个 ip :Linux1 的 192.168.1.10 充当一个网关, 192.168.2.10 是本身的 ip 地址Linux2 的 192.168.4.10 充当一个网关, 192.168.3.10 是本身的 ip 地址Linux1 和 Linux2 能够通过 ip192.168.2.10 和 192.168.3.10 互相网络通信。

在 192.168.1.10 上:去往 192.168.4.x 的使用 gre tunnel 设备,经由 grentun 封装为从 192.168.2.10/32 去往 192.168.3.10/32在 192.168.4.10 上:去往 192.168.1.x 的使用 gre tunnel 设备,经由 grentun 封装为从 192.168.3.10/32 去往 192.168.2.10/32在 192.168.2.10 和 192.168.3.10 上会分别进行解封,然后路由。

配置过程,以 192.168.1.10 为例:iptunnel add netb (虚拟设备名) mode gre remote 192.168.3.10 local 192.168.2.10 ttl 255ip link set netb up (开启该虚拟设备)ipaddr add 192.168.1.10/24 dev netb (添加 ip 地址或网段地址到设备)iproute add 192.168.4.10/24 dev netb (添加路由)即从 192.168.1.10/24 去往 192.168.4.10/24 的,要使用这个虚拟设备 netb 。

GRE协议简介

GRE协议简介

GRE协议简介1. 协议简介gre(generic routing encapsulation,通⽤路由封装)协议是对某些⽹络层协议(如ip 和ipx)的数据报进⾏封装,使这些被封装的数据报能够在另⼀个⽹络层协议(如ip)中传输。

gre 是vpn(virtual private network)的第三层隧道协议,在协议层之间采⽤了⼀种被称之为tunnel(隧道)的技术。

tunnel 是⼀个虚拟的点对点的连接,在实际中可以看成仅⽀持点对点连接的虚拟接⼝,这个接⼝提供了⼀条通路使封装的数据报能够在这个通路上传输,并且在⼀个 tunnel 的两端分别对数据报进⾏封装及解封装。

⼀个报⽂要想在tunnel中传输,必须要经过加封装与解封装两个过程,下⾯以图3-1的⽹络为例说明这两个过程:(1) 加封装过程连接novell group1 的接⼝收到ipx 数据报后⾸先交由ipx 协议处理,ipx 协议检查ipx 报头中的⽬的地址域来确定如何路由此包。

若报⽂的⽬的地址被发现要路由经过⽹号为1f 的⽹络(tunnel 的虚拟⽹号),则将此报⽂发给⽹号为1f 的tunnel端⼝。

tunnel ⼝收到此包后进⾏gre 封装,封装完成后交给ip 模块处理,在封装ip 报⽂头后,根据此包的⽬的地址及路由表交由相应的⽹络接⼝处理。

(2) 解封装的过程解封装过程和加封装的过程相反。

从tunnel 接⼝收到的ip 报⽂,通过检查⽬的地址,当发现⽬的地就是此路由器时,系统剥掉此报⽂的ip 报头,交给gre 协议模块处理(进⾏检验密钥、检查校验和及报⽂的序列号等);gre 协议模块完成相应的处理后,剥掉gre 报头,再交由ipx 协议模块处理,ipx 协议模块象对待⼀般数据报⼀样对此数据报进⾏处理。

系统收到⼀个需要封装和路由的数据报,称之为净荷(payload),这个净荷⾸先被加上gre 封装,成为gre 报⽂;再被封装在ip 报⽂中,这样就可完全由ip 层负责此报⽂的向前传输(forwarded)。

GRE协议Tunnel

GRE协议Tunnel

T0 100.1.1.1
T0 100.1.1.2
A
hostname A ! interface Loopback0 ip address 192.168.3.1 255.255.255.0 ! interface FastEthernet0/0 ip address 2.2.2.1 255.255.255.0 ! ip route 1.1.1.0 255.255.255.0 2.2.2.2 ! GRE-22
GRE Tunnel
GRE-1
课程学习要求
通过对本课程的学习希望学员能达到以下要求:
• 理解GRE 的原理和应用范围
• 掌握GRE 的功能和配置 • 了解GRE的报文格式
GRE-2
GRE原理
隧道
A协议
B协议
A协议
例如:IPX
例如:IP
例如:IPX
注:A、B协议可以是相同或不同的协议
•GRE(Generic Routing Encapsulation):通用路由封装协议。 •GRE是VPN的第三层隧道协议,采用了隧道(Tunnel)技术。 •Tunnel是虚拟的点对点连接,即点对点连接的虚拟接口。
45 00 00 54 02 83 00 00 FF 01 99 22 14 01 01 010A 01 01 01 00 00 65 D3 00 1D 00 00 49 DA 5B 26 04 05 06 07 08 09 0A 0B GRE-17
举例二 跨设备间的GRE
L0 192.168.2.1 F0/0 1.1.1.1 F0/0 2.2.2.1 L0 192.168.3.1
GRE-14
举例一(配置B)
L0 10.1.1.1 F0/0 1.1.1.1

配置GRE tunnel隧道

配置GRE tunnel隧道

实验拓扑:预备知识:通用路由封装(GenericRoutingEncapsulation,简称GRE)隧道按照通过IPv4网络传输数据的定义,GRE通过将需要传输的数据包封装在GRE数据包内,从而使一个网络协议能够通过另一个网络协议进行传输。

GRE 是通过隧道传输IPv6业务负载的一个理想机制。

实验说明:路由器ISP模拟运营商,分部R1要和总部R2通信,但是不想让Internet上的路由器学到其内网网络,所以在R1和R2之间做条隧道,总部和分部之间启用EIGRP路由协议。

实验过程:第一步:配置R1,ISP,R2的接口地址R1>enR1#conf tEnter configuration commands, one per line. End with CNTL/Z.R1(config)#no ip domai looR1(config)#line con 0R1(config-line)#no exec-tR1(config-line)#lo00:01:24: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1/1, changed state to downgg synR1(config-line)#exiR1(config)#int s 1/1R1(config-if)#ip add 131.1.1.1 255.255.255.252R1(config-if)#no shR1(config-if)#int loo 0R1(config-if)#ip add 192.168.0.1 255.255.255.0R1(config-if)#endR1#sh ip i00:01:57: %SYS-5-CONFIG_I: Configured from console by consoleR1#sh ip int bInterface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES unset administratively down downSerial1/0 unassigned YES unset administratively down downSerial1/1 131.1.1.1 YES manual up down Serial1/2 unassigned YES unset administratively down downSerial1/3 unassigned YES unset administratively down downSerial2/0 unassigned YES unset administratively down downSerial2/1 unassigned YES unset administratively down downSerial2/2 unassigned YES unset administratively down downSerial2/3 unassigned YES unset administratively down downLoopback0 192.168.0.1 YES manual up up R1#ISP>enISP#conf tEnter configuration commands, one per line. End with CNTL/Z.ISP(config)#no ip domain looISP(config)#line con 0ISP(config-line)#no exec-tISP(config-line)#logg synISP(config-line)#exiISP(config)#int s 1/0ISP(config-if)#ip add 131.1.1.2 255.255.255.252ISP(config-if)#no shISP(config-if)#int s 1/1ISP(config-if)#i00:02:55: %LINK-3-UPDOWN: Interface Serial1/0, changed state to up 00:02:56: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1/0, changed state to upISP(config-if)#ip add 131.1.1.5 255.255.255.252ISP(config-if)#no shISP(config-if)#endISP#sh ip in00:03:09: %SYS-5-CONFIG_I: Configured from console by consoleISP#sh ip int bInterface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES unset administratively down downSerial1/0 131.1.1.2 YES manual up up Serial1/1 131.1.1.5 YES manual up up Serial1/2 unassigned YES unset administratively down downSerial1/3 unassigned YES unset administratively down downSerial2/0 unassigned YES unset administratively down downSerial2/1 unassigned YES unset administratively down downSerial2/2 unassigned YES unset administratively down downSerial2/3 unassigned YES unset administratively down downISP#R2>enR2#conf tEnter configuration commands, one per line. End with CNTL/Z.R2(config)#no ip doma looR2(config)#line con 0R2(config-line)#no exec-tR2(config-line)#logg synR2(config-line)#exiR2(config)#int s 1/0R2(config-if)#ip add 131.1.1.6 255.255.255.252R2(config-if)#no shR2(config-if)#int loo 0R2(config-if)#ip add00:04:14: %LINK-3-UPDOWN: Interface Serial1/0, changed state to upR2(config-if)#ip add00:04:15: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1/0, changed state to upR2(config-if)#ip add 192.168.1.1 255.255.255.0R2(config-if)#endR2#sh ip int00:04:24: %SYS-5-CONFIG_I: Configured from console by consolebR2#sh ip int bInterface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES unset administratively down downSerial1/0 131.1.1.6 YES manual up up Serial1/1 unassigned YES unset administratively downdownSerial1/2 unassigned YES unset administratively down downSerial1/3 unassigned YES unset administratively down downSerial2/0 unassigned YES unset administratively down downSerial2/1 unassigned YES unset administratively down downSerial2/2 unassigned YES unset administratively down downSerial2/3 unassigned YES unset administratively down downLoopback0 192.168.1.1 YES manual up up R2#第二步:测试直连连通性ISP#sh cdp neiCapability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - RepeaterDevice ID Local Intrfce Holdtme Capability Platform Port ID R2 Ser 1/1 155 R 7206VXR Ser 1/0R1 Ser 1/0 153 R 7206VXR Ser 1/1ISP#//邻居建立直连连通性正常第三步:配置GRE隧道R1#conf tEnter configuration commands, one per line. End with CNTL/Z.R1(config)#ip route 0.0.0.0 0.0.0.0 s 1/1//默认路由出接口应该指向物理接口R1(config)#int tuR1(config)#int tunnel 0R1(config-if)#ip add00:07:42: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to downR1(config-if)#ip add 172.16.0.1 255.255.255.0R1(config-if)#tuR1(config-if)#tunnel sour s 1/1R1(config-if)#tunR1(config-if)#tunnel desR1(config-if)#tunnel destination 131.1.1.6R1(config-if)#no shR1(config-if)#00:08:04: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to upR1(config-if)#endR1#sh run int tunnel 0Building configuration...Current configuration : 117 bytes!interface Tunnel0ip address 172.16.0.1 255.255.255.0tunnel source Serial1/1tunnel destination 131.1.1.6end//分部R1上的tunnel配置完成R2#conf tEnter configuration commands, one per line. End with CNTL/Z.R2(config)#ip route 0.0.0.0 0.0.0.0 s 1/0R2(config)#int tuR2(config)#int tunnel 0R2(config-if)#ip add 172.16.00:12:07: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to downR2(config-if)#ip add 172.16.0.2 255.255.255.0R2(config-if)#tunR2(config-if)#tunnel sou s1/0R2(config-if)#tunR2(config-if)#tunnel des 131.1.1.1R2(config-if)#no shR2(config-if)#00:12:40: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to upR2(config-if)#endR2#sh run int tunnel 0Building configuration...Current configuration : 117 bytes!interface Tunnel0ip address 172.16.0.2 255.255.255.0tunnel source Serial1/0tunnel destination 131.1.1.1endR1#sh ip rouCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 0.0.0.0 to network 0.0.0.0172.16.0.0/24 is subnetted, 1 subnetsC 172.16.0.0 is directly connected, Tunnel0131.1.0.0/30 is subnetted, 1 subnetsC 131.1.1.0 is directly connected, Serial1/1C 192.168.0.0/24 is directly connected, Loopback0S* 0.0.0.0/0 is directly connected, Serial1/1R1#ping 172.16.0.2Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 172.16.0.2, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 20/31/40 ms R1#//隧道直连连通性正常第四步:在R1和R2上启用路由协议R1#conf tEnter configuration commands, one per line. End with CNTL/Z.R1(config)#router eig 90R1(config-router)#no auR1(config-router)#net 192.168.0.0R1(config-router)#net 172.16.0.0R1(config-router)#endR1#R2#conf tEnter configuration commands, one per line. End with CNTL/Z.R2(config)#router eig 90R2(config-router)#no auR2(config-router)#net 172.16.0.0R2(config-router)#net 192.168.1.00:19:58: %DUAL-5-NBRCHANGE: IP-EIGRP 90: Neighbor 172.16.0.1 (Tunnel0) is up: new adjacencyR2(config-router)#net 192.168.1.1R2(config-router)#endR2#R1#sh ip rouCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 0.0.0.0 to network 0.0.0.0172.16.0.0/24 is subnetted, 1 subnetsC 172.16.0.0 is directly connected, Tunnel0131.1.0.0/30 is subnetted, 1 subnetsC 131.1.1.0 is directly connected, Serial1/1C 192.168.0.0/24 is directly connected, Loopback0D 192.168.1.0/24 [90/297372416] via 172.16.0.2, 00:00:21, Tunnel0//eigrp 通过Tunnle口学到到总部的路由S* 0.0.0.0/0 is directly connected, Serial1/1R1#sh ip eig neiIP-EIGRP neighbors for process 90H Address Interface Hold Uptime SRTT RTO Q Seq Type(sec) (ms) Cnt Num0 172.16.0.2Tu012 00:01:39 44 5000 0 3//EIGRP邻居建立ISP#sh ip rouCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is not set131.1.0.0/30 is subnetted, 2 subnetsC 131.1.1.0 is directly connected, Serial1/0C 131.1.1.4 is directly connected, Serial1/1ISP#//Internet ISP路由器上只有公网路由,这样保证了安全。

GREtunnel与ipsec

GREtunnel与ipsec

GREtunnel与ipsec tunnelGRE: Generic Routing EncapsulationGRE tunnel是⽤于解决IPv6⽅案的⼀种,GRE通过通过重封装实现不同协议的通信。

但是GRE没有安全加密的特性,需要ipsec的帮助。

iipsec vpn的tunnel mode与gre over ipsec的区别psec tunnel mode是通过ipsec的加密技术对数据进⾏的隧道⽅式再封装,是在原有的ip数据包外⾯再加⼀层封装。

⽽后者是ipsec对已经经过gre封装的数据进⾏的传输模式的封装,通过修改现有ip数据包头部⽽⾮前者的再封装模式。

ipsec隧道不⽀持传输IPSEC Over GRE即IPSEC在⾥,GRE在外。

先把需要加密的数据包封装成IPSEC包,然后再扔到GRE隧道⾥。

作法是把IPSEC的加密图作⽤在Tunnel⼝上的,即在Tunnel⼝上监控(访问控制列表监控本地ip⽹段-源i和远端ip⽹段-⽬的地),是否有需要加密的数据流,有则先加密封装为IPSEC包,然后封装成GRE包进⼊隧道(这⾥显⽽易见的是,GRE隧道始终⽆论如何都是存在的,即GRE隧道的建⽴过程并没有被加密),同时,未在访问控制列表⾥的数据流将以不加密的状态直接⾛GRE隧道,即存在有些数据可能被不安全地传递的状况。

⽽GRE Over IPSEC是指,先把数据分装成GRE包,然后再分装成IPSEC包。

做法是在物理接⼝上监控,是否有需要加密的GRE流量(访问控制列表针对GRE两端的设备ip),所有的这两个端点的GRE数据流将被加密分装为IPSEC包再进⾏传递,这样保证的是所有的数据包都会被加密,包括隧道的建⽴和路由的建⽴和传递。

使⽤GRE的主要原因是VPN IPSec的局限性-不⽀持组播 (which is used by DHCP, DNS etc)-不⽀持除了IP以外的Routed ProtocolIPSec可以⽤三个词来形容-Powerful-Flexible-Limited-并⾮所有的VPN都像IPSec⼀样强⼤,早期的隧道技术主要是为了通过重封装实现让数据在不同的媒体上传递-任何不同的可路由协议⽣成的数据包都可以在GRE隧道上传递(IP/IPX/AppleTalk)-本质是插⼊⼀个包头,类似Dot1Q-对GRE⽽⾔,被他封装的是第四层的包,封装后有了新的IP包头,所以它本⾝是第三层的,但其实⾥⾯有两个IP包头-GRE包头只有4个字节,前两个是扩展包头,后两个字节表⽰payload类型是IP还是IPX等-默认情况下:No confidentiality, No authentication, No data integerity assurance, No compression-可以通过配置命令实现⼀个较为初级的⽤户认证-使⽤Keepalive来检测GRE隧道的状态-Optional Header包含:checksum,Key,Seq number,offset。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GRE-8
配置GRE—配置Tunnel接口
ip address ip_addr mask 定义Tunnel接口的IP地址 tunnel source source_ip 定义Tunnel通道的源地址
tunnel destination dest_ip
定义Tunnel通道的目的地址
GRE-9
配置GRE—配置Tunnel接口(可选)
1 packets transmitted, 1 packets received, 0% packet loss
45 00 00 6C IP Tunnel1:00 -> src=10.1.1.1, dst=20.1.1.1, len=84, gate=100.1.1.2 01 01 02 03 D4 TX 00 FF 2F B3 8A 01 01 01 0101 A#2002-1-1 04:58:07 00 0054 03 D2 0045FF 01 97 D35401 01 0114 01 01 00 FF5D D3 00 1DD300 49 DA 5B01 01 45 00 00 08 00 00 00 00 0A 03 D2 00 01 08 00 01 97 00 0A 01 26 --------从接口发出去的数据包经过GRE封装(协议号47) 04 05 06 07 08 09 0A 0B
GRE-15
举例一(配置B 续)
L0 10.1.1.1 F0/0 1.1.1.1
A
L0 20.1.1.1 F0/0 1.1.1.2 T0 100.1.1.2 B
T0 100.1.1.1
interface Tunnel1 ip address 100.1.1.2 255.255.255.0 tunnel source 1.1.1.2 tunnel destination 1.1.1.1 ! ip route 10.1.1.0 255.255.255.0 100.1.1.1 !
2750
F0/0 1.1.1.2
1750
E1/1 2.2.2.2
A
T0 100.1.1.2
T0 100.1.1.1

确保192.168.2.1和192.168.3.1可以通过以太口PING通


修改路由配置、添加Tunnel口
验证192.168.2.1和192.168.3.1可以通过Tunnel口PING通
GRE-14
举例一(配置B)
L0 10.1.1.1 F0/0 1.1.1.1
A
L0 20.1.1.1 F0/0 1.1.1.2 T0 100.1.1.2 B
T0 100.1.1.1
hostname B !
interface Loopback0 ip address 20.1.1.1 255.255.255.0 ! interface FastEthernet0/0 ip address 1.1.1.1 255.255.255.0 !
GRE-18
举例二(配置2750)
L0 192.168.2.1 F0/0 1.1.1.2 F0/0 1.1.1.1 2750 E1/1 2.2.2.2 F0/0 2.2.2.1 1750 L0 192.168.3.1
T0 100.1.1.1
T0 100.1.1.2
A
hostname 2750 ! interface Loopback0 ip address 192.168.2.1 255.255.255.0 ! interface FastEthernet0/0 ip address 1.1.1.1 255.255.255.0 ! ip route 2.2.2.0 255.255.255.0 1.1.1.2 ! GRE-19
GRE-13
举例一(配置A 续)
L0 10.1.1.1 F0/0 1.1.1.1
A
L0 20.1.1.1 F0/0 1.1.1.2 T0 100.1.1.2 B
T0 100.1.1.1
interface Tunnel1 ip address 100.1.1.1 255.255.255.0
tunnel source 1.1.1.1 tunnel destination 1.1.1.2 ! ip route 20.1.1.0 255.255.255.0 100.1.1.2 !
GRE-3Leabharlann 封装过程IP头 数据
网络层
GRE头
IP头
数据
网络层GRE模块 网络层
新IP头
GRE头
IP头
数据
•经GRE模块处理后,原IP头部已经被封装在新IP头部和GRE头部之后 •新IP数据包的IP头部的协议号为47。 •新IP数据包可视为如下的封装结构 IP头
GRE-4
数据
IP in IP的报文格式
举例二(配置2750 续)
interface Tunnel0 ip address 100.1.1.1 255.255.255.0 tunnel source 1.1.1.1 tunnel destination 2.2.2.1 tunnel key 123456 ! router rip network 192.168.2.0 255.255.255.0 network 100.1.1.0 255.255.255.0 version 2
!
GRE-20
举例二(配置1750)
L0 192.168.2.1 F0/0 1.1.1.2 F0/0 1.1.1.1 2750 E1/1 2.2.2.2 F0/0 2.2.2.1 1750 L0 192.168.3.1
T0 100.1.1.1
T0 100.1.1.2
A
hostname 1750 !
T0 100.1.1.1
T0 100.1.1.2
A
hostname A ! interface Loopback0 ip address 192.168.3.1 255.255.255.0 ! interface FastEthernet0/0 ip address 2.2.2.1 255.255.255.0 ! ip route 1.1.1.0 255.255.255.0 2.2.2.2 ! GRE-22
GRE-16
举例一(debug信息)
debug ip raw
2002-1-1(20.1.1.1): 56 dataIP FastEthernet0/0: TX -> src=1.1.1.1, PING 20.1.1.1 04:58:07 bytes dst=1.1.1.2, len=108, gate=1.1.1.2 !
GRE-12
举例一(配置A)
L0 10.1.1.1 F0/0 1.1.1.1
A
L0 20.1.1.1 F0/0 1.1.1.2 T0 100.1.1.2 B
T0 100.1.1.1
hostname A !
interface Loopback0 ip address 10.1.1.1 255.255.255.0 ! interface FastEthernet0/0 ip address 1.1.1.1 255.255.255.0 !
45 00 00 54 02 83 00 00 FF 01 99 22 14 01 01 010A 01 01 01 00 00 65 D3 00 1D 00 00 49 DA 5B 26 04 05 06 07 08 09 0A 0B GRE-17
举例二 跨设备间的GRE
L0 192.168.2.1 F0/0 1.1.1.1 F0/0 2.2.2.1 L0 192.168.3.1
GRE Tunnel
GRE-1
课程学习要求
通过对本课程的学习希望学员能达到以下要求:
• 理解GRE 的原理和应用范围
• 掌握GRE 的功能和配置 • 了解GRE的报文格式
GRE-2
GRE原理
隧道
A协议
B协议
A协议
例如:IPX
例如:IP
例如:IPX
注:A、B协议可以是相同或不同的协议
•GRE(Generic Routing Encapsulation):通用路由封装协议。 •GRE是VPN的第三层隧道协议,采用了隧道(Tunnel)技术。 •Tunnel是虚拟的点对点连接,即点对点连接的虚拟接口。
GRE-6
GRE协议应用范围
•1、多协议、多业务本地网通过单一骨干网传输 。
•2、扩大了包含步跳数限制协议(RIP)的应用范围 。 •3、组建VPN。
GRE-7
配置GRE—创建Tunnel端口
interface tunnel tunnel_number
创建虚拟Tunnel接口 no interface tunnel tunnel_number 删除一个Tunnel接口
2002-1-1 04:58:07 IP FastEthernet0/0: TX -> src=1.1.1.1, dst=1.1.1.2, len=108, gate=1.1.1.2
2002-1-1 D4 00 00 FF 2F B3 8A 01 01 01 0101 01 01 02 00 00RX <-00 00 54 03 D2 00 00 04:58:07 IP FastEthernet0/0: 08 00 45 src=1.1.1.2, 45 00 00 6C 03 dst=1.1.1.1, len=108 FF 01 97 D3 0A 01 01 01 -----从接口发出去的数据包经过GRE封装(协议号47)
tunnel mode gre 定义Tunnel接口报文的封装模式
tunnel key key_number 定义Tunnel接口的密钥
相关文档
最新文档