實驗需求:
R1與R5要求用靜态

實驗拓撲:
1:配置接口ip位址,在營運商區域内運作OSPF協定,同時開啟MPLS。
r2,r4與私網連接配接的接口不配位址,需要在VRF空間裡配位址,否則該接口路由會出現在公有路由表上。
運作IGP協定,此處為ospf
開啟mpls
mpls lsr-id 2.2.2.2
mpls
mpls ldp
interface g 0/0/2
mpls
mpls ldp
2:在R2建立VRF空間,為RD,RT指派,建立BGP鄰居,再把R4建立VRF空間,為RD,RT指派。
R2正常ping直連接配接口192.168.2.1是ping不通的,要ping -vpn-instance a 192.168.2.1;因為R2的
GE0/0/0接口是VRF空間裡的接口,公有路由表沒有;
R2的VRF空間
[r2]ip wpn-instance a
[r2-wpn-instance-a]route-distinguisher 1:1
[r2-wpn-instance-a-af-ipv4]wpn-target 1:1
[r2]interface GigabitEthernet 0/0/0
[r2-GigabitEthernet0/0/0]ip binding wpn-instance a
[r2-GigabitEthernet0/0/0]ip address 192.168.2.2 24
[r2]ip wpn-instance b
[r2-wpn-instance-b]route-distinguisher 2:2
[r2-wpn-instance-b-af-ipv4]wpn-target 2:2
[r2]interface GigabitEthernet 0/0/2
[r2-GigabitEthernet0/0/2]ip binding wpn-instance b
[r2-GigabitEthernet0/0/2]ip address 192.168.2.2 24
R4的VRF空間
[r4]ip wpn-instance a
[r4-wpn-instance-a]route-distinguisher 1:1
[r4-wpn-instance-a-af-ipv4]wpn-target 1:1
[r4-wpn-instance-a-af-ipv4]q
[r4-wpn-instance-a]q
[r4]interface GigabitEthernet 0/0/1
[r4-GigabitEthernet0/0/1]ip binding wpn-instance a
[r4-GigabitEthernet0/0/1]ip add 192.168.3.1 24
[r4]ip wpn-instance b
[r4-wpn-instance-b]route-distinguisher 2:2
[r4-wpn-instance-b-af-ipv4]wpn-target 2:2
[r4]interface GigabitEthernet 0/0/2
[r4-GigabitEthernet0/0/2]ip binding wpn-instance b
[r4-GigabitEthernet0/0/2]ip add 192.168.3.1 24
3.R2與R4,BGP建鄰居(MP-BGP)
BGP-V4+
[r2]bgp 1
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 4.4.4.4 as-number 1
[r2-bgp]peer 4.4.4.4 connect-interface lo 0
[r2-bgp]ipv4-family wpnv4
[r2-bgp-af-wpnv4]peer 4.4.4.4 enable
[r4]bgp 1
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 2.2.2.2 as-number 1
[r4-bgp]peer 2.2.2.2 connect-interface lo 0
[r4-bgp]ipv4-family wpnv4
[r4-bgp-af-wpnv4]peer 2.2.2.2 enable
至此,VRF小黑屋與bgp鄰居完成;
4:首先在R1與R2之間跑rip程序1;然後R6與R2跑rip程序2
R1與R2:
[r1]rip 1
[r1-rip-1]version 2
[r1-rip-1]network 192.168.1.0
[r1-rip-1]network 192.168.2.0
[r2]rip 1 wpn-instance a
[r2-rip-1]version 2
[r2-rip-1]network 192.168.1.0
[r2-rip-1]network 192.168.2.0
測試: dis ip routing-table wpn-instance a
R6與R2:
[r6]rip 2
[r6-rip-2]version 2
[r6-rip-2]network 192.168.1.0
[r6-rip-2]network 192.168.2.0
[r2]rip 2 wpn-instance b
[r2-rip-2]version 2
[r2-rip-2]network 192.168.1.0
[r2-rip-2]network 192.168.2.0
測試: dis ip routing-table wpn-instance b
其次,在R4與R5跑ospf程序2(IGP用了程序1);在R4與R7跑ospf程序3
R4與R5
[r5]ospf 2
[r5-ospf-2]area 0
[r5-ospf-2-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[r5-ospf-2-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[r4]ospf 2 wpn-instance a
[r4-ospf-2]area 0
[r4-ospf-2-area-0.0.0.0]network 192.168.3.0 0.0.0.255
測試: dis ip routing-table wpn-instance a
R4與R7
[r7]ospf 3
[r7-ospf-3]area 0
[r7-ospf-3-area-0.0.0.0]network 192.168.3.0 0.0.0.255
r7-ospf-3-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[r4]ospf 3 wpn-instance b
[r4-ospf-3]area 0
[r4-ospf-3-area-0.0.0.0]network 192.168.3.0 0.0.0.255
測試: dis ip routing-table wpn-instance b
5.做單點雙向重釋出:
首先在R4上将BGP,ospf2,ospf3,互相重釋出。
[r4]bgp 1
[r4-bgp]ipv4-family wpn-instance a
[r4-bgp-a]import-route ospf 2
[r4-bgp]ipv4-family wpn-instance b
[r4-bgp-b]import-route ospf 3
[r4]ospf 2
[r4-ospf-2]import-route bgp
[r4]ospf 3
[r4-ospf-3]import-route bgp
然後再R2上将BGP,RIP1,RIP2,互相重釋出。
[r2]bgp 1
[r2-bgp]ipv4-family wpn-instance a
[r2-bgp-a]import-route rip 1
[r2-bgp]ipv4-family wpn-instance b
[r2-bgp-b]import-route rip 2
[r2]rip 1
[r2-rip-1]import-route bgp
[r2]rip 2
[r2-rip-2]import-route bgp
至此,mpls-未皮恩全部通了。
接下來考慮私網與公網間如何通信:
R7向R4發預設:
R7:
[r7]ip route-static 0.0.0.0 0 100.1.1.1
[r7]ospf 3
[r7-ospf-3]default-route-advertise
由于R7上的預設傳遞給了R4的BGP,R2的BGP能收到嗎? 答:不可以,BGP預設情況下不可以傳遞預設
是以從R4上向R2引預設:
[r4]bgp 1
[r4-bgp]ipv4-family weipien-instance b
[r4-bgp-b]default-route imported
然後
R2向R6發預設:
[r2]rip 2 wpn-instance b
[r2-rip-2]default-route originate
在R7做個NAT:
[r7]acl 2000
[r7-acl-basic-2000]rule 1 permit source 192.168.1.0 0.0.0.255
[r7-acl-basic-2000]q
[r7]interface GigabitEthernet 0/0/1
[r7-GigabitEthernet0/0/1]nat out
[r7-GigabitEthernet0/0/1]nat outbound 2000
此時,做到這一步,用R6的環回接口lo0測試ping公網環境:
ping -a 192.168.1.2 4.4.4.4
通了
ping -a 192.168.1.2 3.3.3.3
不通
ping -a 192.168.1.2 2.2.2.2
不通
ping 3.3.3.3不通是因為:R3沒有起BGP協定。
解決方法:R3需要寫一條預設指向最近的BGP裝置
[r3]ip route-static 0.0.0.0 0 34.1.1.4
至此,ping -a 192.168.1.2 3.3.3.3 就可以通了。
???2.2.2.2不通的原因找到了嗎?
答:R4與R7之間的公網網段100.1.1.0沒有宣告在R4的BGP上,100.1.1.0是公網的網段,但是這條網段R2居然不知道。
是以,在R4上宣告該網段即可
[r4]bgp 1
[r4-bgp]network 100.1.1.0 24
至此,ping -a 192.168.1.2 2.2.2.2 就可以通了。
R6的lo0位址 192.168.1.2 去 ping R2 的 lo0 2.2.2.2 的過程是:
首先通過 MPLS未皮恩 到R7 ,再通過NAT進行源位址轉換,
将私網位址轉換為公網位址網段100.1.1.0,
通過這個公網位址ping 2.2.2.2
這也就解釋了,為什麼之前沒有在R4上BGP宣告100.1.1.0網段,
導緻ping不通2.2.2.2
因為R4沒宣告100.1.1.0,不知道該怎麼發這條路,導緻R2無法知道這條網段。
故ping不通2.2.2.2