无法为一条到ebgp对等点和修改下一跳地址的路径做广告。在接收路由器上,可以通过配置一个在社区上匹配并将下一跳设置为正确地址的导入策略来解决这一问题;然而,奇怪的是,我忽略了什么。
root@juniper.mx5# show logical-systems arouter protocols bgp
accept-remote-nexthop;
local-address 10.10.200.46;
group external-65534 {
traceoptions {
file arouter-bgp-update;
flag update;
flag route;
flag packets;
}
description root-ls;
export internal-rtbh;
peer-as 65534;
neighbor 10.10.200.45;
}
group external-65422 {
description arouter-ls;
accept-remote-nexthop;
local-address 10.10.200.45;
peer-as 65422;
neighbor 10.10.200.46;
}
root@juniper.mx5# show logical-systems arouter routing-options static | find 172.16.22.100
route 172.16.22.100/32 {
discard;
tag 65422;
}
root@juniper.mx5# show logical-systems arouter policy-options policy-statement internal-rtbh
from {
protocol static;
tag 65422;
}
then {
local-preference 400;
origin igp;
community add no-export;
next-hop 192.0.2.13;
accept;
}
root@juniper.mx5# run show route logical-system arouter advertising-protocol bgp 10.10.200.45 extensive
inet.0: 26 destinations, 26 routes (26 active, 0 holddown, 0 hidden)
* 172.16.22.100/32 (1 entry, 1 announced)
BGP group external-65534 type External
Nexthop: Self
Flags: Nexthop Change
AS path: [65422] I
Communities: no-export
root@juniper.mx5# run show route logical-system brouter receive-protocol bgp 10.10.200.46 extensive
inet.0: 40 destinations, 40 routes (40 active, 0 holddown, 0 hidden)
* 172.16.22.100/32 (1 entry, 1 announced)
Accepted
Nexthop: 10.10.200.46
AS path: 65422 I
Communities: no-export发布于 2014-03-14 07:48:45
eBGP的工作方式是,它总是将下一跳设置为发送路由器的直接连接地址(除了多跳会话或最初的下一跳位于同一子网中时)。正如您在输出中看到的那样,路由器使用Nexthop: Self发送路由,而不是使用您配置的下一个路由。您可以在BGP RFC4271中找到下一代的决策树。
作为解决办法,您可以将会话更改为使用eBGP multihop,它有一个no-nexthop-change 选项:
set protocols bgp group external-65534 multihop no-nexthop-change使用eBGP多跳还有其他缺点,比如没有快速的外部故障转移。
通常,您只需保持下一跳不变,并设置一个BGP社区。接收者将通过匹配社区来设置正确的下一跳。这就是远程触发黑孔(波黑)在eBGP对等点之间的工作方式。
https://networkengineering.stackexchange.com/questions/6807
复制相似问题