一、拓朴:
要求:
1、双方 ISP 均不得将客户 AS 做为穿越 AS
2、对于客户业务的出流量:客户 AS100 和 200 访问 ISP 时,AS100优选从 Line-1 线路,AS200 优选从 Line-2 访问,但当 Line-1 和 Line-2 出故障时,客户 AS 之间能够互为备份
3、对于客户业务的入流量:ISP1 优选从 Line-1 进入到 AS100,ISP2 优选从 Line-2 进入到 AS200,
4、如果 双方 ISP 之间链路发生故障,客户 AS 之间互为备份,以实现冗余(即:客户之间互为主备)
二、配置:
1、配置IP
2、配置 BGP
3、对于要求1(ISP 不能穿越客户 AS):在客户 AS 上,如 R1,过滤空 AS 号和来自同为客户的 AS200 的路由,并引用到与 ISP 的出方向 as-path 过滤,实现来自客户 AS 之间的路由穿越,然后 R2 同样做镜像配置
[R1]
ip as-path-filter 1 permit ^$
ip as-path-filter 1 permit _200$
#
bgp 100
peer 13.1.1.3 as-path-filter 1 export
#
[R2]
ip as-path-filter 1 permit ^$
ip as-path-filter 1 permit _100$
#
bgp 200
peer 24.1.1.4 as-path-filter 1 export
4、对于要求2(优选出方向线路):在客户端如 R1 的连线上,抓取对角端 AS400 结尾的路由,赋予更大的 preference-value(默认100),并引用到对 ISP AS300 的入方向路由策略中,这样流量出去时,优先走 AS300,而不走同为客户的 AS200,实现出方向优选路由,然后 R2 同样做镜像配置
[R1]
ip as-path-filter 2 permit _200$
#
route-policy set_pref_val permit node 10
if-match as-path-filter 2
apply preferred-value 150
#
route-policy set_pref_val permit node 20
#
bgp 100
peer 13.1.1.3 route-policy set_pref_val import
#
[R2]
ip as-path-filter 100 permit _100$
#
route-policy set_pref_value permit node 10
if-match as-path-filter 2
apply preferred-value 150
#
route-policy set_pref_value permit node 20
#
peer 24.1.1.4 route-policy set_pref_value import
5、对于要求3(优选入方向线路):在客户 AS 上,如 R1,抓取结尾为 AS200 的路由,并赋予团体属性 200:200,并引用到与 ISP 的出方向路由策略中;然后 ISP AS300 抓取到团体属性为 200:200 的路由,赋予更小的 local-preferenct 值,这样,在选路时,优选从 ISP 之间线路走,而不会穿越客户 AS100,然后 R2 同样做镜像配置
[R1]
ip as-path-filter 2 permit _200$
#
route-policy set_comm permit node 10
if-match as-path-filter 2
apply community 200:200
#
route-policy set_comm permit node 20
#
bgp 100
peer 13.1.1.3 route-policy set_comm export
peer 13.1.1.3 advertise-community
[R3]
ip as-path-filter 2 permit _200$
#
route-policy set_locprf permit node 10
if-match as-path-filter 2
apply local-preference 50
#
route-policy set_locprf permit node 20
#
bgp 300
peer 13.1.1.1 route-policy set_locprf import
三、验证:
在 R1 上查看 BGP 路由表,发现到 AS400 有更高的PrefVal,优先走 Line1