通过GRE建立ospf邻居关系时,因为错误端口宣告导致的频繁重新建立
错误 通过 关系 端口 建立 导致 重新 因为
2023-09-14 09:06:46 时间
如图所示,我们下面的讲解以这个例子展开
tunnel口的性质
我们知道gre tunnel接口一定要有去到隧道对端的路由时,它的protocol才会开启,否则将会处在物理up,协议dowm的状态。所以在建立gre之前,我们需要配置相应的路由,使得隧道两端是互通的。
错误的OSPF宣告
我们希望通过gre进行远端的ospf邻居建立的时候,我们需要将tunnel接口在ospf进程中进行宣告,比如tunnel接口的IP为3.3.3.3/24,那么我们就需要在ospf视图下输入network 3.3.3.0 0.0.0.255,输入之后,网络设备就会将ospf的组播报文封装在隧道当中,并将该报文以隧道的形式单播传递到对端。但是此时若你也将上图中防火墙的边界接口也宣告仅ospf中,那么将会导致关系的不断建立。
不断建立的原因解析
我们设左边的防火墙是A,右边的防火墙是B,因为gre隧道会承载ospf的相关协议报文,当我们将A的边界接口也宣告进ospf后,B在接收到ospf的相关报文进行ospf路由计算后,会计算出去往对端A边界接口的新的ospf路由,因此原先我们配置的静态路由将会因为ospf的更高的优先级而被取缔,于是B上的路由表就会生成这样的条目:
目的地址:A的边界接口 A边界接口的掩码 下一跳:B的tunnel接口
这条路由并不能取缔原先的静态路由,因为它仅仅给出下一跳是tunnel接口,而tunnel接口的开启是依靠我们先前创建的去往对端边界接口的静态路由,于是因为这条错误的路由的产生,我们的tunnel接口将不知道如何去往隧道的另一头,于是tunnel接口就down掉了,然后ospf的关系也down了,然后静态路由又回来了,然后又重复上面的过程。
OSPF没有建立连接前
OSPF建立连接后
如何解决
我们只要在进行ospf宣告的时候,不将防火墙的边界接口宣告进ospf中即可。
相关文章
- 微信小程序中-[渲染层网络层错误] pages/card/card.wxss 中的本地资源图片无法通过 WXSS 获取-解决办法
- Winforms Cefsharp应用通过Vs Installer安装,应用崩溃,缺少文件错误
- 【错误记录】C 语言中通过指针操作字符串常量出错记录 ( 只有 栈内存 或 堆内存 中的数据才能通过指针修改 | 不要通过指针修改常量区的字符串 )
- SAP ABAP 通过 https 消费外部 API 遇到错误消息 SSSLERR_SSL_CONNECT
- SQLServer 错误 5250 数据库错误:数据库 NAME(数据库 ID DB_ID)的 PAGE_TYPE 页 P_ID 无效。 无法修复此错误。 您必须通过备份还原。 故障 处理 修复 支持远程
- spring boot上传文件错误The temporary upload location [/tmp/tomcat.******/work/Tomcat/localhost/ROOT] is not valid详解编程语言
- Linux超时:如何避免网络通信中的失效和错误?(linux超时)
- MSSQL服务无法启动:错误1069(mssql 错误1069)
- ASP.NET运行时错误:没有为扩展名“.asax”注册的生成提供程序修正版
- 解决js数据包含加号+通过ajax传到后台时出现连接错误
- MySQL5.1主从同步出现Relaylogreadfailure错误解决方法