首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么会发生递归路由?

为什么会发生递归路由?
EN

Network Engineering用户
提问于 2022-12-05 14:08:25
回答 2查看 166关注 0票数 0

根据:https://study-ccnp.com/gre-tunnels-recursive-routing-problems/

当路由器通过隧道本身了解隧道接口的目标IP地址时,就会发生递归路由。它从路由表中删除隧道目标IP地址的前一项,使隧道的目的地不可访问。

为什么会这样呢?为什么不能使用隧道封装到达隧道的端点?为什么这实际上放弃了连接?

请一步一步地解释为什么会发生这种现象。

请不要告诉我一般-“你不能发送隧道的控制流量通过隧道,因为它将倒塌隧道。”

EN

回答 2

Network Engineering用户

发布于 2022-12-05 23:27:49

就像开玩笑说的..。一切都有开始和结束,除了香肠,它有两个(结束)。

隧道有两个端点:一个源和一个目标,在另一端将被镜像。(从设备A,源是A的地址1.1.1.1之一,目标地址是B的地址2.2.2.2。从B来看,这两个是交换的。)

不用说,您不能通过隧道本身到达隧道的任何一个端点。在隧道通车前,不会有任何路线将车辆驶入隧道。因此,默认路由(0/0)或更具体的路由(1.1.1.1/32,2.2.2.2/32)适用于端点地址。一旦隧道通车,其他路线现在可能适用--即你希望隧道内的交通,这可能是“所有交通”。

如果新路由(S)覆盖目标端点,则隧道将失败,因为该端点将无法到达--例如,为了达到2.2.2.2,数据包进入目的地为2.2.2.2的隧道,进入隧道.流量永远不会离开路由器。这就是为什么前面列出的“更多细节”是最具体(/32)可能的路由。任何VPN (隧道)或动态路由过程都不能在路由表中放置更具体的内容,因此隧道端点始终是可访问的。

--

在查看我目前的路由表时,我看到:

代码语言:javascript
复制
      142.254.0.0/32 is subnetted, 1 subnets
S        142.254.207.165 [25/0] via 174.99.112.1, GigabitEthernet0/1

该路由是由DHCP设置的,因此路由器总是有一个合适的路径来与分配我地址的DHCP服务器对话。(主持人一般不会这么做。)

票数 2
EN

Network Engineering用户

发布于 2022-12-05 14:31:15

这个问题并不是GRE隧道的具体问题,而是一般隧道的问题。

最明显的例子是,当您创建一个没有拆分隧道的客户端VPN时,所有流量都应该进入隧道,而不仅仅是内部网目的地。

这意味着您希望默认路径指向隧道--如果真的这样做,隧道端点(Internet中的某个位置)就会立即变得不可访问,隧道就会崩溃。

解决方案是通过先前的默认网关创建到隧道端点的特定路由(优先),然后可以将默认路由更改为隧道。

由于在隧道断开时回滚有时很麻烦,许多VPN客户端创建了虚拟的0.0.0.0/1和128.0.0.0/1路由,这些路由的度量很低,之后可以简单地删除这些路由。

如果您通过隧道运行像OSPF这样的路由协议,它可以将默认或端点路由“拉”到隧道中--毕竟,隧道端点会变得相邻。您需要要么更改广告(而不是广告端点地址或默认路由),要么使用路由筛选,要么使用成本较低或特定于特定的静态路由来解决这个问题。

票数 1
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/80780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档