R1
[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[R1]interface LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1 24
[R1]interface LoopBack 1
[R1-LoopBack1]ip address 192.168.1.1 24
R2
[R2-GigabitEthernet0/0/0]ip address 12.1.1.2 24
[R2-GigabitEthernet0/0/1]ip address 172.16.0.1 30
[R2-GigabitEthernet0/0/2]ip address 172.16.0.22 30
[R2]interface LoopBack 0
[R2-LoopBack0]ip address 172.16.1.2 32
[R2]interface LoopBack 1
[R2-LoopBack1]ip address 172.16.2.1 24
R3
[R3-GigabitEthernet0/0/1]ip address 172.16.0.2 30
[R3-GigabitEthernet0/0/0]ip address 172.16.0.5 30
[R3]interface LoopBack 0
[R3-LoopBack0]ip address 172.16.1.3 32
[R3]interface LoopBack 1
[R3-LoopBack1]ip address 172.16.3.1 24
R4
[R4-GigabitEthernet0/0/0]ip address 172.16.0.6 30
[R4-GigabitEthernet0/0/2]ip address 172.16.0.9 30
[R4]interface LoopBack 0
[R4-LoopBack0]ip address 172.16.1.4 32
[R4]interface LoopBack 1
[R4-LoopBack1]ip address 172.16.4.1 24
R5
[R5-GigabitEthernet0/0/0]ip address 172.16.0.18 30
[R5-GigabitEthernet0/0/2]ip address 172.16.0.21 30
[R5]interface LoopBack 0
[R5-LoopBack0]ip address 172.16.1.5 32
[R5]interface LoopBack 1
[R5-LoopBack1]ip address 172.16.5.1 24
R6
[R6-GigabitEthernet0/0/0]ip address 172.16.0.17 30
[[R6-GigabitEthernet0/0/1]ip address 172.16.0.14 30
[R6]interface LoopBack 0
[R6-LoopBack0]ip address 172.16.1.6 32
[R6]interface LoopBack 1
[R6-LoopBack1]ip address 172.16.6.1 24
R7
[R7-GigabitEthernet0/0/0]ip address 78.1.1.7 24
[R7-GigabitEthernet0/0/1]ip address 172.16.0.13 30
[R7-GigabitEthernet0/0/2]ip address 172.16.0.10 30
[R7]interface LoopBack 0
[R7-LoopBack0]ip address 172.16.1.7 32
[R7]interface LoopBack 1
[R7-LoopBack1]ip address 172.16.7.1 24
R8
[R8-GigabitEthernet0/0/0]ip address 78.1.1.8 24
[R8]interface LoopBack 0
[R8-LoopBack0]ip address 8.8.8.8 24
[R8]interface LoopBack 1
[R8-LoopBack1]ip address 192.168.2.1 24
AS 2配置OPSF
R2
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
R3
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
R4
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
R5
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
R6
[R6]ospf 1 router-id 6.6.6.6
[R6-ospf-1]area 0
[R6-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
R7
[R7]ospf 1 router-id 7.7.7.7
[R7-ospf-1]area 0
[R7-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
配置BGP
R1
[R1]bgp 1
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 12.1.1.2 as-number 2
R2
[R2]bgp 64512
[R2-bgp]router-id 2.2.2.2
[R2-bgp]confederation id 2
[R2-bgp]confederation peer-as 64513
[R2-bgp]peer 172.16.1.3 as-number 64512
[[R2-bgp]peer 172.16.1.3 connect-interface LoopBack 0
[R2-bgp]peer 172.16.1.5 as-number 64513
[R2-bgp]peer 172.16.1.5 connect-interface LoopBack 0
[R2-bgp]peer 172.16.1.5 ebgp-max-hop 2
[R2-bgp]peer 12.1.1.1 as-number 1
R3
R3]bgp 64512
[R3-bgp]router-id 3.3.3.3
[R3-bgp]confederation id 2
[R3-bgp]peer 172.16.1.2 as-number 64512[R3-bgp]peer 172.16.1.2 connect-interface LoopBack 0
[R3-bgp]peer 172.16.1.4 as-number 64512
[R3-bgp]peer 172.16.1.4 connect-interface LoopBack 0
R4
[R4]bgp 64512
[R4-bgp]router-id 4.4.4.4
[R4-bgp]confederation id 2
[R4-bgp]confederation peer-as 64513
[R4-bgp]peer 172.16.1.3 as-number 64512
[R4-bgp]peer 172.16.1.3 connect-interface LoopBack 0
[R4-bgp]peer 172.16.1.7 as-number 64513
[R4-bgp]peer 172.16.1.7 connect-interface LoopBack 0
[R4-bgp]peer 172.16.1.7 ebgp-max-hop 2
R5
[R5]bgp 64513
[R5-bgp]router-id 5.5.5.5
[R5-bgp]confederation id 2
[R5-bgp]confederation peer-as 64512
[R5-bgp]peer 172.16.1.2 as-number 64512
[R5-bgp]peer 172.16.1.2 connect-interface LoopBack 0
[R5-bgp]peer 172.16.1.2 ebgp-max-hop 2
[R5-bgp]peer 172.16.1.6 as-number 64513
[R5-bgp]peer 172.16.1.6 connect-interface LoopBack 0
R6
[R6]bgp 64513
[R6-bgp]router-id 6.6.6.6
[R6-bgp]confederation id 2
[R6-bgp]peer 172.16.1.5 as-number 64513
[R6-bgp]peer 172.16.1.5 connect-interface LoopBack 0
[R6-bgp]peer 172.16.1.7 as-number 64513
[R6-bgp]peer 172.16.1.7 connect-interface LoopBack 0
R7
[R7]bgp 64513
[R7-bgp]router-id 7.7.7.7
[R7-bgp]confederation id 2
[R7-bgp]confederation peer-as 64512
[R7-bgp]peer 172.16.1.4 as-number 64512
[R7-bgp]peer 172.16.1.4 connect-interface LoopBack 0
[R7-bgp]peer 172.16.1.4 ebgp-max-hop 2
[R7-bgp]peer 172.16.1.6 as-number 64513
[R7-bgp]peer 172.16.1.6 connect-interface LoopBack 0
[R7-bgp]peer 78.1.1.8 as-number 3
R8
[R8]bgp 3
[R8-bgp]router-id 8.8.8.8
[R8-bgp]peer 78.1.1.7 as-number 2
AS 2通过BGP学习AS 1和AS 3的路由
R1发布路由
[R1]bgp 1
[R1-bgp]network 1.1.1.0 24
此时R2学习到了R1的路由可有且优秀,但因为下一跳为R1
,R3和R5并没有学到最优路由,在R2上更改,将下一跳改成R2,
为了防止环路已达最佳选路,利用策略只让R3 和 R5从将R1来的
路由的下一跳改为R2,在AS 2中R2也只针对R1的路由将下一跳改为R3 R4,此时R3 R5已达优选
[R2]route-policy 1 permit node 10
[R2-route-policy]apply ip-address next-hop peer-address
[R2]bgp 64512
[R2-bgp]peer 172.16.1.3 route-policy 1 export
[R2-bgp]peer 172.16.1.5 route-policy 1 export
[R2]ip ip-prefix 1 permit 1.1.1.0 24
[R2]ip ip-prefix 1 permit 192.168.1.0 24
[R2]route-policy 1 permit node 10
[R2-route-policy]if-match ip-prefix 1
[R2-route-policy]quit
[R2]route-policy 1 permit node 20
由于IBGP水平分割,R4 R7 R8 无法学习到路由,
所以建立反射器让R3和R6,当反射器,R4和R7,当客户端
[R3-bgp]peer 172.16.1.4 reflect-client
[R6-bgp]peer 172.16.1.7 reflect-client
R8发布路由
同理R1
在R7上更改,将下一跳改成R7,为了防止环路已达最佳选路,
利用策略只让R4 和 R6从将R8来的路由的下一跳改为R7,
在AS 2中R7也只针对R8的路由将下一跳改为R4 R6
[R8]bgp 3
[R8-bgp]network 8.8.8.0 24
[R7]route-policy 1 permit node 10
[R7-route-policy]apply ip-address next-hop peer-address
[R7-route-policy]quit
[R7]bgp 64513
[R7-bgp]peer 172.16.1.4 route-policy 1 export
[R7-bgp]peer 172.16.1.6 route-policy 1 export
[R7-bgp]quit
[R7]ip ip-prefix 1 permit 8.8.8.0 24
[R7]ip ip-prefix 1 permit 192.168.2.0 24
[R7]route-policy 1 permit node 10
[R7-route-policy]if-match ip-prefix 1
[R7-route-policy]quit
[R7]route-policy 1 permit node 20
[R3-bgp]peer 172.16.1.2 reflect-client
[R6-bgp]peer 172.16.1.5 reflect-client
全网通
此时AS 2由AS 1 AS3 的路由但AS1 AS3 没有AS 2的路由,所以直接在R2 R7写一个AS 2的路由空接口,直接宣告AS 2的总地址172.16.0.0/16就好
网段聚合
[R2]ip route-static 172.16.0.0 16 NULL 0
[R2]bgp 64512
[R2-bgp]network 172.16.0.0 21
[R7]ip route-static 172.16.0.0 16 NULL 0
[R7]bgp 64513
[R7-bgp]network 172.16.0.0 16
R1 R8构建GRE隧道
因为要求192.168.1.0/24和192.168.2.0/24不能宣告,所以构建GRE
[R1]interface Tunnel 0/0/0
[R1-Tunnel0/0/0]ip address 10.1.1.1 24
[R1-Tunnel0/0/0]tunnel-protocol gre
[R1-Tunnel0/0/0]source 12.1.1.1
[R1-Tunnel0/0/0]destination 8.8.8.8
[R1]ip route-static 192.168.2.0 24 Tunnel 0/0/0
[R8]interface Tunnel 0/0/0
[R8-Tunnel0/0/0]ip address 10.1.1.2 24
[R8-Tunnel0/0/0]tunnel-protocol gre
[R8-Tunnel0/0/0]source 8.8.8.8
[R8-Tunnel0/0/0]destination 1.1.1.1
[R8-Tunnel0/0/0]quit
[R8]ip route-static 192.168.1.0 24 Tunnel 0/0/0
测试