1 拓撲圖
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。
2 基礎配置
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
3 配置BGP對等體組
配置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
4 配置BGP路由反射器
配置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
5 配置BGP過濾器
對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子句間仍是“與”的關係。
6 配置BGP自動聚合和缺省路由
對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
7 配置BGP手動聚合
對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的路由。
8 優化BGP網絡
要求:
(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: