默认路由+BFD检测一般都是在出口路由上检测下一跳是否正常

2025-04-22 10:12:01

默认路由+BFD检测一般都是在出口路由上检测下一跳是否正常,有个朋友的网络说做了BFD后发现网络不通了,让帮远程排查一下。

连上远程,首先检查bfd状态(图2),发现是INIT状态,在交换机上PING 1.1.1.1却是通的,路由可达,怀疑BFD配置不对,查看相应BFD配置。

SW配置

#

bfd

#

bfd bfd1 bind peer-ip 2.2.2.1 interface Vlanif20 source-ip 192.168.20.2

discriminator local 31

discriminator remote 41

#

bfd bfd2 bind peer-ip 1.1.1.1 interface Vlanif10 source-ip 192.168.10.2

discriminator local 11

discriminator remote 21

#

路由器配置

#

bfd

#

bfd bfd bind peer-ip 192.168.20.2 interface GigabitEthernet0/0/1 source-ip 2.2.2.1

discriminator local 41

discriminator remote 31

commit

#

bfd bfd2 bind peer-ip 192.168.10.2 interface GigabitEthernet0/0/2 source-ip 1.1.1.1

discriminator local 21

discriminator remote 11

commit

#

从配置中第一眼看看不出问题,结合拓扑(图1)看发现,下一跳检测的是路由器的出接口,不是跟交换机直连的接口IP,问题就出在这里,BFD检测只有在单跳检测的时候才指定出接口。BFD多跳检测配置的时候,不需要指定出接口,否则会导致BFD无法建立。于是把配置改成这样就通了。

SW配置

#

bfd

#

bfd bfd1 bind peer-ip 2.2.2.1 source-ip 192.168.20.2

discriminator local 31

discriminator remote 41

#

bfd bfd2 bind peer-ip 1.1.1.1 source-ip 192.168.10.2

discriminator local 11

discriminator remote 21

#

路由器配置

#

bfd

#

bfd bfd bind peer-ip 192.168.20.2 source-ip 2.2.2.1

discriminator local 41

discriminator remote 31

commit

#

bfd bfd2 bind peer-ip 192.168.10.2 source-ip 1.1.1.1

discriminator local 21

discriminator remote 11

commit

#

这个故障虽然简单,但不容易发现,在做BFD检测时要考虑是单跳还是多跳检测,建议都不要加上接口做检测。想要学习更多故障处理方法和案例,可以学习一 下我的故障处理专栏,里面总结了很多故障处理的方法的实际案例。