📅  最后修改于: 2023-12-03 15:29:28.667000             🧑  作者: Mango
在BGP路由控制中,经常会用到AS Override和Allowas In这两个配置。
AS Override是指当一个路由器收到一个具有AS路径中某个AS号码的路由时,它强制将该路径中的AS号码替换为自己的AS号码。这通常是因为在多个自治域之间使用BGP时,某些AS可能不希望它们的AS号码在BGP路由中出现,或者它们不想要它们接收到已经由其它AS主导的路由。在这种情况下,使用AS Override就是必需的。
在配置AS Override时,一个路由器将原本是发往一个特定路由的BGP路由的AS路径重写为它自己的AS号码,然后再传递给其他路由器。这样,在将BGP路由传递到下一个自治系统之前,AS Override路由器就会将其自己的AS转发到AS路径中,表明由其直接连接到源路由。因此,中间路由器将无法确定BGP路由的实际源。
下面是AS Override的配置示例:
router bgp 100
neighbor 10.0.0.2 remote-as 200
neighbor 10.0.0.2 route-map AS_OVERRIDE out
route-map AS_OVERRIDE permit 10
set as-path prepend 100 100 100
此配置将在向邻居10.0.0.2传输路由时,将AS路径设置为本地AS号码100的三倍,在路径末尾添加该数字,从而覆盖AS路径。
另一方面,Allowas In是指当一个路由器接收到一个包含它自己AS号码的BGP路由时,它可以将该路由的AS号码视为合法路径。这是因为在某些情况下,中间自治系统可能会通过不同的AS路径传递了相同的BGP路由,而某些自治系统可能不允许使用这些AS路径。而在这种情况下,使用Allowas In,确定所有包含特定AS号码的BGP路由,然后将其视为合法路径。
Allowas In是为了处理一个问题(通常被称为as-path loop)而产生的。当一个AS路由收到一个具有相同AS号码的BGP路由时,该路由器会认为AS号码是自己的前缀,因此它不会将该路由转发到直接连接到该路由器的AS。这样,路由器会形成一个as-path loop,将该路由从一个AS路由器反弹到另一个AS路由器,直到它超时为止。
下面是Allowas In的配置示例:
router bgp 100
neighbor 10.0.0.2 remote-as 200
neighbor 10.0.0.2 route-map ALLOWAS-IN in
route-map ALLOWAS-IN permit 10
match as-path 1
!
access-list 1 permit 200
此配置允许接收来自200 AS的路由,并将它们视为合法路径。