设为首页收藏本站language 语言切换
查看: 17261|回复: 19
收起左侧

[求助] GRE隧道:配置隧道接口IP地址有什么作用?

[复制链接]
发表于 2015-7-27 12:29:28 | 显示全部楼层 |阅读模式
3鸿鹄币
本帖最后由 kakaflytosky 于 2015-7-27 12:33 编辑

GRE配置:
路由器A:
interface Ethernet0/1
ip address 10.2.2.1 255.255.255.0
interfaceSerial0/0
ip address 192.168.4.1 255.255.255.0
interfaceTunnel0
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
interfaceSerial0/0
ip address 192.168.4.2 255.255.255.0
interfaceTunnel0
ip address 1.1.1.1 255.255.255.0
tunnel source Serial0/0
tunnel destination 192.168.4.1

上述配置中:
路由器A:
interface Tunnel0
ip address 1.1.1.2 255.255.255.0
路由器B:
interface Tunnel0
ip address 1.1.1.1 255.255.255.0
描述:

通过抓包发现GRE头部不包含隧道接口IP地址。
辰逸技术博客是否描述错误:http://tech.ddvip.com/2013-05/1368682045195669.html

2

2

问题:
1、为何路由器A和路由器B必须配置隧道接口IP地址?
2、为何路由器A和路由器B必须在同一个网段内?
3、是否配置隧道接口IP地址,只为形成路由器表?

最佳答案

查看完整内容

首先你需要了解GRE隧道使用的环境,GRE隧道通常没有任何的加密机制,只是起到一个两边的动态路由协议通过隧道地址,建立起邻接关系和学习路由的目的,一般Ipsec无法传递动态路由信息,只能通过GRE隧道来弥补这个缺陷,这样就诞生了一种叫ipsec over gre的技术; 问题1:因为你的数据必须通过GRE隧道封装才能传递到对端,而通过GRE隧道必须要走GRE隧道接口才能穿过,而隧道的建立则在始末路由器上建立,所以这两个隧道接口必须配置 ...
发表于 2015-7-27 12:29:29 | 显示全部楼层
首先你需要了解GRE隧道使用的环境,GRE隧道通常没有任何的加密机制,只是起到一个两边的动态路由协议通过隧道地址,建立起邻接关系和学习路由的目的,一般Ipsec无法传递动态路由信息,只能通过GRE隧道来弥补这个缺陷,这样就诞生了一种叫ipsec over gre的技术;
问题1:因为你的数据必须通过GRE隧道封装才能传递到对端,而通过GRE隧道必须要走GRE隧道接口才能穿过,而隧道的建立则在始末路由器上建立,所以这两个隧道接口必须配置在始末路由器上;
问题2:因为配置了隧道,就仿佛是两个设备通过直连线建立一般,一般两个路由器直连接口通信,必须得配置同一网段吧
问题3:配置隧道地址的主要目的,是通过路由将一些需要走隧道的数据转到隧道口通过隧道转发到对端,当然如果是两边的路由器需要通过GRE隧道建立动态路由邻接关系形成路由表,则可以这么认为;这只是建立隧道的其中一个目的。
沙发 2015-7-27 12:29:29 回复 收起回复
回复

使用道具 举报

发表于 2015-7-27 13:23:33 | 显示全部楼层
不配置小心路由表加不进去哦
板凳 2015-7-27 13:23:33 回复 收起回复
回复

使用道具 举报

发表于 2015-7-28 11:02:39 | 显示全部楼层
1、你这个tunnel mode默认是gre ip ,tunnel是必须配置IP的,因为需要GRE封装,GRE封装需要新的IP报文在外层。其他模式如ipv6ip可以不配tunnel的IP地址,ipv6ip 6to4 ,ipv6ip auto,ipv6ip isatap这个三个需要另说。。。
2、需要在同一网段,这个是基础。
3、上面都说了,隧道IP就是为了新数据包的封装。你说为了形成路由表,我感觉你这句话这么说很乱。
地板 2015-7-28 11:02:39 回复 收起回复
回复

使用道具 举报

发表于 2015-7-28 11:03:53 | 显示全部楼层
1、你这个tunnel mode默认是gre ip ,tunnel是必须配置IP的,因为需要GRE封装,GRE封装需要新的IP地址在外层。其他模式如ipv6ip可以不配tunnel的IP地址,ipv6ip 6to4 ,ipv6ip auto,ipv6ip isatap这个三个需要另说。。。
2、需要在同一网段,这个是基础。
3、上面都说了,配置IP是为了封装。你说“为了形成路由表”,这句话怎么看怎么乱,我解释不清。。。
5# 2015-7-28 11:03:53 回复 收起回复
回复

使用道具 举报

发表于 2015-7-28 11:04:43 | 显示全部楼层
1、你这个tunnel mode默认是gre ip ,tunnel是必须配置IP的,因为需要GRE封装,GRE封装需要新的IP地址在外层。其他模式如ipv6ip可以不配tunnel的IP地址,ipv6ip 6to4 ,ipv6ip auto,ipv6ip isatap这个三个需要另说。。。
2、需要在同一网段,这个是基础。
3、上面都说了,配置IP是为了封装。你说“为了形成路由表”,这句话怎么看怎么乱,我解释不清。。。
6# 2015-7-28 11:04:43 回复 收起回复
回复

使用道具 举报

发表于 2015-7-28 11:12:06 | 显示全部楼层
路过了解一下
7# 2015-7-28 11:12:06 回复 收起回复
回复

使用道具 举报

发表于 2015-7-28 16:57:32 | 显示全部楼层
这论坛的延迟我也是醉了。。。秒发3贴
8# 2015-7-28 16:57:32 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2015-7-28 22:25:51 | 显示全部楼层
a49410335 发表于 2015-7-28 11:04
1、你这个tunnel mode默认是gre ip ,tunnel是必须配置IP的,因为需要GRE封装,GRE封装需要新的IP地址在外 ...

1、上面的是别人博客说的,GRE封装需要新的IP地址,可是抓包可以发现,GRE报文头部,并没有封装新的P地址。
2、如果不配置隧道接口IP地址,无法形成路由表,这个是模拟器实验观察得出的。
9# 2015-7-28 22:25:51 回复 收起回复
回复

使用道具 举报

发表于 2015-7-29 18:43:54 | 显示全部楼层
1 最主要的原因是因为你要发数据的时候 没有路由  所以你要写一个静态路由 然后让它从tunnel口发出去 这就是为什么要着tunnel口配置地址的原因
2 那可不可以不在同一网段呢: tunnel口存在ip地址是静态路由存在的必要条件。你要保证你的路由是可达的,这样你配置的静态才有意义
10# 2015-7-29 18:43:54 回复 收起回复
回复

使用道具 举报

发表于 2015-8-3 08:36:33 | 显示全部楼层
本帖最后由 a49410335 于 2015-8-3 08:45 编辑
hyswby 发表于 2015-7-29 18:43
1 最主要的原因是因为你要发数据的时候 没有路由  所以你要写一个静态路由 然后让它从tunnel口发出去 这就 ...

原数据包IP被封装在新的GRE包头中,这句话你理解错了吧。。。GRE封装了原IP报文,包括IP,所以我这么说。gre报文头部当然没有IP,你想表达什么。。
为了方便,别再争论,我把gre也给你放上。。。IP不是必须配的,看你隧道模式

搜狗截图15年08月03日0836_1.png
showimage-10132137-10162923-24f15497dcb6142f83252e07023e96d3.jpg
11# 2015-8-3 08:36:33 回复 收起回复
回复

使用道具 举报

发表于 2015-8-5 13:46:24 | 显示全部楼层
a49410335 发表于 2015-8-3 08:36
原数据包IP被封装在新的GRE包头中,这句话你理解错了吧。。。GRE封装了原IP报文,包括IP,所以我这么说。 ...

我怎么看不懂你在说什么~ 你发的图我看的懂 你打的字我没读懂
12# 2015-8-5 13:46:24 回复 收起回复
回复

使用道具 举报

发表于 2015-10-31 16:19:50 | 显示全部楼层


        之前上课做实验时曾被老师问到这个问题,当时脑袋就懵了,但因为之前听同学说做这个实验隧道两端IP不同网段的话是不通的,我就照样回答了,结果被老师否定了,但又不告诉为什么,纠结了好久;直到上TE课,另一位老师又说起这个,说两端的IP是无所谓的,随便配,但是也没有细说,那个蛋疼啊!

       现在复习390准备考试,又看到了GRE VPN的题目,想起这茬了,网上到处搜索,看到你这个帖子也在问这个,下午做了个实验,自己搞明白是怎么回事了。
       我是学H3C的,不过相信这些IP协议、路由表形成和使用、VPN技术原理是一样的,我来说下我的认识。
       下面是我的实验拓扑。

                     GRE VPN隧道两端IP地址解释.png
          GRE/IP隧道(包括动态和静态),其他的我没有实验,仅仅说这对这种隧道的解释。
        1、RT1、RT3上做静态,指向RT2的两个接口地址,保证公网可达。RT2不做任何配置,测试RT1、3两端公网接口可达。
        2、配置如下:
                1.png

         3、在RT1上ping -a 1.1.1.1 3.3.3.3 是通的,直接ping 3.3.3.3 不通。
              为什么呢?明明有通的啊。
              我又删掉1.1.1.1和3.3.3.3的静态路由,改用ospf宣告RT1的10.0.0.1和1.1.1.1网段,RT3的20.0.0.1和3.3.3.3网段。
              ospf很快建立邻居,ping -a 1.1.1.1 3.3.3.3 和ping 3.3.3.3都通,那么静态和动态有什么区别呢?
              前后对比路由表就发现,RT3上动态是有10.0.0.0/24的路由的,而静态没有。验证一下,我就开了debugging,静态模式下,在RT1上ping 3.3.3.3,可以在RT3上看到RT3对10.0.0.1发了回包。
              这样就很明显了,当静态隧道时,直接ping 3.3.3.3,RT1上查路由,3.3.3.3指向tunnel 0 口,交由tun 0 口处理,tun 0 口发出ping包,源地址自然是自己的接口地址10.0.0.1,这样经过GRE封装,到达RT3上,解包、交由loop 0 口处理、回包,目的地址就是10.0.0.1,然后一查路由,没有10.0.0.1的具体路由,则匹配添加的默认静态路由,从公网口直接出去了,没有经过隧道。这样RT2收到该包,但RT2上有没有10.0.0.1的路由,自然丢包处理。所以不通。
              所以静态隧道下,只要RT3上加一条10.0.0.1指向tun 0口的静态,就可以在RT1上顺利ping 3.3.3.3通了,ping -a 1.1.1.1 3.3.3.3自然不用说,本来就是通的。
             开ospf时,因为宣告了隧道两端地址,直接通过ospf学到了对端地址,已经指向了tun 0口,自然不会不通。


      所以,回答你的问题:
              1、为了形成路由表项,仅仅配置source(本设备地址)和destination(可达)地址,让tunnel口物理和协议UP是不行的,不会有tun口的路由表项,此时你添加指向tun口的静态是写不进路由表的。看你也说已经验证了这一条了。
              2、两端地址不是必须在同一网段,地址仅仅起到上诉第一条的作用,可以随便配。
                   之所以静态下,隧道两端地址在同一网段就能通,是因为RT3上有了同一网段的路由,指向tun口,这样RT1直接ping 3.3.3.3(不加-a参数),RT3上回包也有路由可查,将其交给tunnel口处理,走了隧道。
                   静态下,不是同一网段,只要两边路由器上都写上对端隧道地址指向tunnel口的静态,就能保证通信了。
                   动态协议隧道自然不用说了。
              3、至少对于GRE/IP隧道来说,是这样,因为封装过程中是没有涉及隧道两端地址的。
                    对于其他隧道,如果楼主有兴趣就自己验证好了,我还得看书了。


点评

赞!  发表于 2016-9-6 17:18

评分

参与人数 1好评度 +1 收起 理由
笨比的你 + 1 很给力!

查看全部评分

13# 2015-10-31 16:19:50 回复 收起回复
回复

使用道具 举报

发表于 2015-11-20 13:35:41 | 显示全部楼层
不配地址怎么通信啊  而且肯定要同一网段啊
14# 2015-11-20 13:35:41 回复 收起回复
回复

使用道具 举报

发表于 2017-1-16 17:37:36 | 显示全部楼层
大长脸 发表于 2015-10-31 16:19
之前上课做实验时曾被老师问到这个问题,当时脑袋就懵了,但因为之前听同学说做这个实验隧道两 ...

66666
15# 2017-1-16 17:37:36 回复 收起回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-30 00:36 , Processed in 0.856227 second(s), 31 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表