正如 Ron 所提到的,您可以使用no-export(Don't Advertise to any eBGP peers) 或no-advertise(Don't Advertise to iBGP or eBGP peers) 来实现这一点。但是,如果引入您希望向其通告这些的另一个 eBGP 对等方,这可能会导致可扩展性问题。
我建议在 AS200/DUT 上应用入站路由映射/策略语句,用于与 AS100/RTR1 的 eBGP 会话,在入口设置附加社区,例如 200:65535。从这里,您可以在面向 AS300/RTR2 eBGP 对等方的 AS200/DUT 上应用出站路由映射/策略声明,该对等方特别具有拒绝标记为 200:65535 的前缀的术语。
您没有提到您的硬件版本,但这里有一个 Cisco(IOS、IOS-XE)和 Juniper 配置示例(注意,未经测试和徒手编写):
思科
被测件:
ip community-list expanded DENY-AS100-OUT permit 200:65535
route-map AS100-IN permit 10
match ip address prefix-list <please use a prefix list where possible>
set community 200:65535 additive
route-map AS300-OUT deny 10
match community DENY-AS100-OUT
route-map AS300-OUT permit 20
match ip address prefix-list <please use a prefix list where possible>
router bgp 200
neighbor x.x.x.x remote-as 100
neighbor y.y.y.y remote-as 300
address-family ipv4
neighbor x.x.x.x route-map AS100-IN in
neighbor y.y.y.y route-map AS300-OUT out
杜松
被测件:
set policy-options community DENY-AS100-OUT members 200:65535
set policy-options policy-statement AS100-IN from prefix-list <please use a prefix list where possible>
set policy-options policy-statement AS100-IN then community add DENY-AS100-OUT
set policy-options policy-statement AS300-OUT term 10 from community DENY-AS100-OUT
set policy-options policy-statement AS300-OUT term 10 then reject
set policy-options policy-statement AS300-OUT term 20 from prefix-list <please use a prefix list where possible>
set policy-options policy-statement AS300-OUT term 20 then accept
set protocols bgp group AS100 neighbor x.x.x.x
set protocols bgp group AS100 peer-as 100
set protocols bgp group AS100 import AS100-IN
set protocols bgp group AS300 neighbor y.y.y.y
set protocols bgp group AS300 peer-as 300
set protocols bgp group AS300 export AS300-OUT