R1、R2、R3、R4位于OSPF骨干区域中。
R4、R5、R6之间使用loopback接口建立EBGP邻居关系,要求R4的配置方式尽可能节约资源。
OSPF正常运行,且设备互联地址和环回口地址已经宣告进OSPF。但10.0.X.0/24、172.15.X.0/24和172.16.X.0/24没有通告进OSPF。
R1:
int g0/0/0
ip add 192.168.12.1 24
int g0/0/1
ip add 192.168.13.1 24
int lo0
ip add 1.1.1.1 32
ip add 10.0.0.1 24 sub
ip add 10.0.1.1 24 sub
quit
ospf 100 router-id 1.1.1.1
area 0
network 192.168.12.1 0.0.0.0
network 192.168.13.1 0.0.0.0
network 1.1.1.1 0.0.0.0
R2:
int g0/0/0
ip add 192.168.12.2 24
int g0/0/1
ip add 192.168.24.2 24
int g0/0/2
ip add 192.168.23.2 24
int lo0
ip add 2.2.2.2 32
quit
ospf 100 router-id 2.2.2.2
area 0
network 192.168.12.2 0.0.0.0
network 192.168.24.2 0.0.0.0
network 192.168.23.2 0.0.0.0
network 2.2.2.2 0.0.0.0
R3:
int g0/0/1
ip add 192.168.13.3 24
int g0/0/2
ip add 192.168.23.3 24
int lo0
ip add 3.3.3.3 32
quit
ospf 100 router-id 3.3.3.3
area 0
network 192.168.13.3 0.0.0.0
network 192.168.23.3 0.0.0.0
network 3.3.3.3 0.0.0.0
R4:
int g0/0/0
ip add 192.168.46.4 24
int g0/0/1
ip add 192.168.24.4 24
int g0/0/2
ip add 192.168.45.4 24
int lo0
ip add 4.4.4.4 32
quit
ospf 100 router-id 4.4.4.4
area 0
network 192.168.46.4 0.0.0.0
network 192.168.24.4 0.0.0.0
network 192.168.45.4 0.0.0.0
network 4.4.4.4 0.0.0.0
R5:
int g0/0/2
ip add 192.168.45.5 24
int lo0
ip add 5.5.5.5 32
ip add 172.15.1.5 24 sub
ip add 172.15.2.5 24 sub
quit
ospf 100 router-id 5.5.5.5
area 0
network 5.5.5.5 0.0.0.0
network 192.168.45.5 0.0.0.0
R6:
int g0/0/0
ip add 192.168.46.6 24
int lo0
ip add 6.6.6.6 32
ip add 172.16.1.6 24 sub
ip add 172.16.2.6 24 sub
quit
ospf 100 router-id 6.6.6.6
area 0
network 6.6.6.6 0.0.0.0
network 192.168.46.6 0.0.0.0
配置R4、R5、R6的EBGP邻居关系:
R4:
bgp 100
group 100 external
peer 100 ebgp-max-hop 2
peer 100 connect-interface lo0
peer 5.5.5.5 as-number 200
peer 5.5.5.5 group 100
peer 6.6.6.6 as-number 300
peer 6.6.6.6 group 100
#
R5:
bgp 200
peer 4.4.4.4 as-number 100
peer 4.4.4.4 connect-interface lo0
peer 4.4.4.4 ebgp-max-hop 2
R6:
bgp 300
peer 4.4.4.4 as-number 100
peer 4.4.4.4 connect-interface lo0
peer 4.4.4.4 ebgp-max-hop 2
配置BGP路由反射器,让R1、R2、R3建立可靠的全互联的IBGP邻居关系;
R2配置为RR,R1和R3为R2的客户端;通过适当配置,减轻RR负担;
R2与R4之间使用loopback接口建立IBGP邻居关系;
R2:
bgp 100
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface lo0
peer 1.1.1.1 reflect-client
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface lo0
peer 3.3.3.3 reflect-client
peer 4.4.4.4 as-number 100
peer 4.4.4.4 connect-interface lo0
undo reflect between-clients //配置反射客户机之间的路由,减轻RR的负担(因为R1\R2\R3是全互联)
R1:
bgp 100
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface lo0
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface lo0
R3:
bgp 100
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface lo0
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface lo0
R4:
bgp 100
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface lo0
对10.0.X.0/24配置优化:
(1)将10.0.X.0/24引入到BGP中,不能使用ACL、前缀列表;
(2)只允许R1将10.0.0.0/24发送给其他IBGP邻居,不能使用ACL、route-policy
R1:
bgp 100
import-route direct route-policy DIRECT
peer 2.2.2.2 ip-prefix 10 export
peer 3.3.3.3 ip-prefix 10 export
#
route-policy DIRECT permit node 10
if-match interface lo0
#
ip ip-prefix 10 index 10 permit 10.0.0.0 24
注意:route-policy的节点node在匹配过程中,各个if-match子句之间是“与”的关系,即路由信息必须同时满足所有匹配条件,才能执行apply子句的操作;但命令if-match route-type和if-match interface 除外,这两个命令的各自if-match子句之间是“或”的关系,与其他if-match子句间仍是“与”的关系。
对AS 300进行路径优化:
(1)将网络172.16.X.0/24引入到BGP中,并作自动汇总;
(2)当R4上存在172.16.0.0/16路由的时候,需要往AS 300下发缺省路由;
R4:
bgp 100
peer 6.6.6.6 default-route-advertise conditional-roue-match-all 172.16.0.0 255.255.0.0
R6:
bgp 300
summary automatic
import-route dircect route-policy DIRECT
#
route-policy DIRECT permit node 10
if-match ip-prefix 10
#
ip ip-prefix 10 index 10 permit 172.16.1.0 24
ip ip-prefix 10 index 20 permit 172.16.2.0 24
对172.15.X.0/24进行引入:
(1)引入的网络172.15.X.0/24 commununity标记为200:200;
(2)对community标记200:200的路由进行手工聚合,聚合后路由掩码为/22,并抑制明细路由,需充分考虑避免环路。
R5:
bgp 200
import-route direct route-policy DIRECT
aggregate 172.15.0.0 255.255.0.0 as-set detail-suppressed origin-policy COMM
#
route-policy DIRECT permit node 10
if-match ip-prefix 10
apply community 200:200
#
route-policy COMM permit node 10
if-match community-filter 200:200
#
ip ip-prefix 10 index 10 permit 172.15.1.0 24
ip ip-prefix 10 index 20 permit 172.15.2.0 24
配置完成后,R6收到的R4下发的缺省路由:
命令aggregate为BGP视图命令。
aggregate ipv4-address { mask | mask-length } [ as-set | attribute-policy route-policy-name1 | detail-suppressed | origin-policy route-policy-name2 | suppress-policy route-policy-name3 ] *
参数意义:
ipv4-address :指定聚合路由的IPv4地址。
mask :仅IBGP路由参与负载分担。
mask-length :指定聚合路由的网络掩码长度。
as-set:指定生成具有AS-SET的路由。
attribute-policy route-policy-name1 :指定聚合后路由的属性策略名称。
detail-suppressed:指定仅通告聚合路由。
origin-policy route-policy-name2 :指定允许生成聚合路由的策略名称。
suppress-policy route-policy-name3 :指定抑制指定路由通告的策略名称。
注意事项:手工聚合和自动聚合本地均会产生指向NULL0的路由。
要求:
(1)R1不能接收路由172.15.0.0/22,使用前缀列表进行过滤;
(2)使用合适的命令尽量减少路由器性能的损耗。
R1:
bgp 100
peer 2.2.2.2 ip-prefix 20 import
peer 2.2.2.2 capability-advertise orf ip-prefix send
#
ip ip-prefix 20 index 10 deny 172.15.0.0 22
ip ip-prefix 20 index 20 permit 0.0.0.0 0 less-equal 32
R2:
bgp 100
peer 1.1.1.1 capability-advertise orf ip-prefix receive
配置完成后,R2上可以查看到R1发来的ip-prefix: