預設路由+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檢測時要考慮是單跳還是多跳檢測,建議都不要加上接口做檢測。想要學習更多故障處理方法和案例,可以學習一 下我的故障處理專欄,裡面總結了很多故障處理的方法的實際案例。