路由分发BGP失败

网络工程 bgp
2021-07-07 00:00:28

我的拓扑:

R1 <-> R2 <-> R3 <-> R4 <-> R5

每个路由器都在不同的 AS 中。R4基于IOS。所有其他路由器都基于 CentOS7(Bird internet routing dameon)。

我在所有路由器之间建立了对等点,并希望从 R1 和 R5 分发路由。

R2、R3 和 R4 从 R1 和 R2 获取路由。R1 和 R5 甚至没有收到它们。

我可以从 R2、R3、R4 ping R1 和 R5。

我不知道我的错误在哪里,我很困惑。多个自治系统之间的BGP路由分配有限制吗?我的错误在哪里?

编辑:

路由器配置 R1(鸟)

IP interface 1: 10.0.0.2/30   (to R2)
IP interface 2: 9.9.9.1/24  

Bird config:
router id 10.0.0.2;
debug protcols all;
protocol kernel {
learn;
scan time 20;
import all;
export all;
}
protocol static {
     route 9.9.9.0/24 via 9.9.9.1;
}
protocol bgp AS_to_R2 {
local as 100;
neighbor 10.0.0.1 as 200;
keepalive time 5;
import all;
export all;
direct;
}

路由器配置 R2(鸟)

IP interface 1: 10.0.0.1/30   (to R1)
IP interface 2: 22.22.22.1/30 (to R3)

Bird config:
router id 22.22.22.1;
debug protcols all;
protocol kernel {
learn;
scan time 20;
import all;
export all;
}
protocol bgp AS_to_R3 {
local as 200;
neighbor 22.22.22.2 as 300;
keepalive time 5;
import all;
export all;
direct;
}
protocol bgp AS_to_R1 {
local as 200;
neighbor 10.0.0.2 as 100;
keepalive time 5;
import all;
export all;
direct;
}

路由器配置 R3(鸟)

IP interface 1: 22.22.22.2/30 (to R2)
IP interface 2: 90.0.143.1/30 (to R4)

Bird config:
router id 90.0.143.1;
debug protcols all;
protocol kernel {
learn;
scan time 20;
import all;
export all;
}
protocol bgp AS_to_R2 {
local as 300;
neighbor 22.22.22.1 as 200;
keepalive time 5;
import all;
export all;
direct;
}
protocol bgp AS_to_R3 {
local as 300;
neighbor 90.0.143.2 as 400;
keepalive time 5;
import all;
export all;
direct;
}

Cisco Router Config(即R4,简单路由转发):

interface f0/0
ip address 90.0.143.2 255.255.255.248 (to R3)
no shut

interface f0/1
ip address 40.235.60.21 255.255.255.252 (to R5)
no shut

router bgp 400
bgp router-id 90.0.143.20
neighbor 90.0.143.2 remote-as 300       #(session to R3)
neighbor 40.235.60.22 remote-as 500     #(session to R5)
neighbor 90.0.143.2 activate
neighbor 40.235.60.20 activate

路由器配置 R5(鸟)

IP interface 1(to R4): 40.235.60.22/30
IP interface 2: 4.4.4.1/30

Bird config:
router id 40.235.60.22;
debug protcols all;
protocol static {
     route 4.4.4.0/30 via 4.4.4.1;
}
protocol kernel {
learn;
scan time 20;
import all;
export all;
}
protocol bgp AS_to_R4 {
local as 500;
neighbor 40.235.60.21 as 400;
keepalive time 5;
import all;
export all;
direct;
}
1个回答

你在 R4 上有一个错字:

neighbor 40.235.60.22 remote-as 500     #(session to R5)
neighbor 40.235.60.20 activate