1、策略路由是什麼?
在H3C設備上,談到雙出口,那麼就避免不了策略路由這個概念,那麼策略路由又是個什麼鬼呢?node
它與單純依照IP報文的目的地址查找路由表進行轉發不一樣,策略路由是一種依據用戶制定的策略進行路由選擇的機制。策略路由是在路由表已經產生的狀況下,不按照路由表進行轉發,而是根據須要,依照某種策略改變其轉發路徑的方法。安全
路由策略的操做對象是「路由」信息,主要經過對路由的過濾和對路由屬性或參數的設置來間接影響數據轉發。策略路由的操做對象是「數據包」,主要經過設定的策略直接指導數據的轉發。服務器
策略路由一般分爲兩種:IP單播策略路由和IP組播策略路由。網絡
不論是單播策略路由仍是組播策略路由,其配置都須要作兩方面的工做:一是定義哪些須要使用策略路由的報文;二是爲這些報文指定路由,這能夠經過對一個Route-policy的定義來實現。session
IP單播策略路由能夠分爲接口策略路由和本地策略路由兩種。app
- 接口策略路由:在接口視圖下配置(應用於報文到達的接口上),做用於到達該接口的報文。
- 本地策略路由:在系統視圖下配置,對本機產生的報文進行策略路由。
策略路由可用於安全、負載分擔等目的。對於通常轉發和安全等方面的使用需求,大多數狀況下使用的是接口策略路由。
2、配置H3C雙出口
下面經過一個模擬的網絡環境,配置一下策略路由。tcp
網絡環境以下:
環境分析:ide
該拓撲圖中的校園網內部分爲兩個網段:一個爲學生校舍網段(192.168.2.0),主要訪問電信提供的internet服務器;另一個網段爲校園辦公和教學用網段(192.168.3.0),主要訪問教育網。校園網出口路由器鏈接了電信提供的internet20m光纖,同時也鏈接了教育網的20m光纖(因爲H3C的模擬器沒法模擬出PC和server,因此只好使用路由器來代替了)。oop
需求以下:測試
一、路由器配置要求:當其中任意一條外部光纖中斷時,另外一條光纖可備份其下屬的網段訪問internet服務或教育網資源。
二、Nat配置要求:出口路由器的兩個出口都能同時使用校園內網的私有網段作nat後訪問外部資源。教育網出口接口處還配置了nat server,使內部的教學網段的某個ip服務器對教育網提供telnet訪問服務。
三、策略路由配置要求:校園網內的教學用網段192.168.3.0/24主要經過教育網訪問外部資源,而校舍網段192.168.2.0/24主要經過電信出口訪問Internet資源。當教育專網的光纖故障時,校舍網段能夠經過電信出口訪問相關教育網資源,當電信的光纖線路故障時,校舍網段能夠經過專網出口訪問相關資源。
開始配置:
PC1配置:
<H3C>sys [pc1]int g 0/0 [pc1-GigabitEthernet0/0]ip add 192.168.2.100 24 [pc1-GigabitEthernet0/0]undo shutdown [pc1]ip route-static 0.0.0.0 0.0.0.0 192.168.2.1
PC2配置:
[pc2]int g 0/0 [pc2-GigabitEthernet0/0]ip add 192.168.3.100 24 [pc2-GigabitEthernet0/0]undo shutdown [pc2-GigabitEthernet0/0]quit [pc2]ip route-static 0.0.0.0 0.0.0.0 192.168.3.1
server配置:
<H3C>sys [H3C]int g 0/0 [H3C-GigabitEthernet0/0]ip add 192.168.3.250 24 [H3C-GigabitEthernet0/0]undo shutdown [H3C-GigabitEthernet0/0]quit [H3C]ip route-static 0.0.0.0 0.0.0.0 192.168.3.1 [H3C]
PC3配置:
<H3C>sys [H3C]int g 0/0 [H3C-GigabitEthernet0/0]ip add 202.1.1.2 24 [H3C-GigabitEthernet0/0]undo shutdown [H3C-GigabitEthernet0/0]quit [H3C]ip route-static 0.0.0.0 0.0.0.0 202.1.1.1 [H3C]
R1配置以下:
[r1]int g 0/0 [r1-GigabitEthernet0/0]ip add 202.202.202.2 24 [r1-GigabitEthernet0/0]undo shutdown [r1-GigabitEthernet0/0]quit [r1]int g 0/1 [r1-GigabitEthernet0/1]ip add 200.200.200.2 24 [r1-GigabitEthernet0/1]undo shutdown [r1-GigabitEthernet0/1]quit [r1]int vlan 1 # 配置VLAN的IP,將其看成0/2的接口IP [r1-Vlan-interface1]ip add 192.168.1.1 24 [r1-Vlan-interface1]undo shutdown [r1]int g 0/2 [r1-GigabitEthernet0/2]port link-mode bridge // 將接口改成網橋模式,全部接口默認屬於VLAN1,因此至關於g0/2的接口IP已是VLAN1的IP [r1]ip route-static 192.168.2.0 255.255.255.0 192.168.1.2 [r1]ip route-static 192.168.3.0 255.255.255.0 192.168.1.2 [r1]ospf 1 # 配置ospf [r1-ospf-1]area 0 [r1-ospf-1-area-0.0.0.0]network 202.202.202.0 0.0.0.255 [r1-ospf-1-area-0.0.0.0]network 200.200.200.0 0.0.0.255
R2配置以下:
[r2]int g 0/0 [r2-GigabitEthernet0/0]ip add 202.202.202.1 24 [r2-GigabitEthernet0/0]undo shutdown [r2-GigabitEthernet0/0]quit [r2]int g 0/1 [r2-GigabitEthernet0/1]ip add 222.222.222.1 24 [r2-GigabitEthernet0/1]undo shutdown [r2]int LoopBack 0 [r2-LoopBack0]ip add 202.202.0.1 32 [r2-LoopBack0]undo shutdown [r2]ospf 1 [r2-ospf-1]area 0 [r2-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
R3配置以下:
[r3]int g 0/0 [r3-GigabitEthernet0/0]ip add 200.200.200.1 24 [r3-GigabitEthernet0/0]undo shutdown [r3-GigabitEthernet0/0]int g 0/1 [r3-GigabitEthernet0/1]ip add 222.222.222.2 24 [r3-GigabitEthernet0/1]undo shutdown [r3-GigabitEthernet0/1] [r3]int g 0/2 [r3-GigabitEthernet0/2]ip add 202.1.1.1 24 [r3-GigabitEthernet0/2]undo shutdown [r3]ospf 1 [r3-ospf-1]area 0 [r3-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
sw1配置以下:
[sw1]vlan 2 # 建立VLAN [sw1-vlan2]vlan 3 [sw1-vlan3]quit [sw1]int vlan 1 [sw1-Vlan-interface1]ip add 192.168.1.2 24 [sw1-Vlan-interface1]undo shutdown [sw1-Vlan-interface1]int vlan 2 [sw1-Vlan-interface2]ip add 192.168.2.1 24 [sw1-Vlan-interface2]undo shutdown [sw1-Vlan-interface2]int vlan 3 [sw1-Vlan-interface3]ip add 192.168.3.1 24 # 將接口添加到VLAN中 [sw1-Vlan-interface3]undo shutdown [sw1]ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 [sw1]int g 1/0/2 [sw1-GigabitEthernet1/0/2]port link-type access [sw1-GigabitEthernet1/0/2]port access vlan 2 [sw1]int g 1/0/3 [sw1-GigabitEthernet1/0/3]port link-type access [sw1-GigabitEthernet1/0/3]port access vlan 3 [sw1]int g 1/0/4 [sw1-GigabitEthernet1/0/4]port link-type access [sw1-GigabitEthernet1/0/4]port access vlan 3
配置Easy_IP映射
[r1]acl basic 2001 [r1-acl-ipv4-basic-2001]rule 0 permit source 192.168.2.0 0.0.0.255 [r1-acl-ipv4-basic-2001]rule 5 permit source 192.168.3.0 0.0.0.255 [r1-acl-ipv4-basic-2001]rule 10 deny [r1-acl-ipv4-basic-2001]int g 0/0 [r1-GigabitEthernet0/0]nat outbound 2001 [r1-GigabitEthernet0/0]int g 0/1 [r1-GigabitEthernet0/1]nat outbound 2001
配置NAT以後,已經實現了全網互通
在pc1上測試ping pc3進行測試:
在pc2上測試ping pc3進行測試:
查看NAT轉換關係表
<r1>dis nat sess ver //能夠看到下面生成了兩個nat轉換表,每一個轉換表又包含正向和反向 Slot 0: Total sessions found: 0 <r1>dis nat sess ver Slot 0: Initiator: Source IP/port: 192.168.2.100/44032 //源地址是192.168.2.100 Destination IP/port: 202.1.1.2/2048 //目標地址是202.1.1.2 DS-Lite tunnel peer: - ××× instance/VLAN ID/VLL ID: -/-/- Protocol: ICMP(1) Inbound interface: Vlan-interface1 Responder: Source IP/port: 202.1.1.2/6 //202.1.1.2的返回流量 Destination IP/port: 200.200.200.2/0 //200.200.200.2接口進入內網 DS-Lite tunnel peer: - ××× instance/VLAN ID/VLL ID: -/-/- Protocol: ICMP(1) Inbound interface: GigabitEthernet0/1 State: ICMP_REPLY Application: OTHER Start time: 2019-08-10 02:18:54 TTL: 19s Initiator->Responder: 0 packets 0 bytes Responder->Initiator: 0 packets 0 bytes Initiator: Source IP/port: 192.168.3.100/43008 //源地址是192.168.3.100 Destination IP/port: 202.1.1.2/2048 //目標地址是202.1.1.2 DS-Lite tunnel peer: - ××× instance/VLAN ID/VLL ID: -/-/- Protocol: ICMP(1) Inbound interface: Vlan-interface1 Responder: Source IP/port: 202.1.1.2/7 //202.1.1.2的返回流量 Destination IP/port: 200.200.200.2/0 //200.200.200.2接口進入內網 DS-Lite tunnel peer: - ××× instance/VLAN ID/VLL ID: -/-/- Protocol: ICMP(1) Inbound interface: GigabitEthernet0/1 State: ICMP_REPLY Application: OTHER Start time: 2019-08-10 02:19:00 TTL: 25s Initiator->Responder: 0 packets 0 bytes Responder->Initiator: 0 packets 0 bytes Total sessions found: 2
配置策略路由:
[r1]acl advanced 3000 [r1-acl-ipv4-adv-3000]rule 0 permit ip source 192.168.3.0 0.0.0.255 [r1-acl-ipv4-adv-3000]quit [r1]policy-based-route a1 permit node 10 [r1-pbr-a1-10]if-match acl 3000 [r1-pbr-a1-10]apply next-hop 200.200.200.1 [r1-pbr-a1-10]quit [r1]policy-based-route a1 permit node 20 [r1-pbr-a1-20]int vlan 1 [r1-Vlan-interface1]ip policy-based-route a1
自行使用PC1和PC2分別ping一下PC3,並查看R1的nat轉換表:
[H3C-pbr-al-10]dis nat sess ver Slot 0: Total sessions found: 0 [H3C-pbr-al-10]dis nat sess ver Slot 0: Initiator: Source IP/port: 192.168.2.100/46336 Destination IP/port: 202.1.1.1/2048 DS-Lite tunnel peer: - ××× instance/VLAN ID/VLL ID: -/-/- Protocol: ICMP(1) Inbound interface: Vlan-interface1 Responder: Source IP/port: 202.1.1.1/11 Destination IP/port: 200.200.200.2/0 DS-Lite tunnel peer: - ××× instance/VLAN ID/VLL ID: -/-/- Protocol: ICMP(1) Inbound interface: GigabitEthernet0/1 State: ICMP_REPLY Application: OTHER Start time: 2019-08-10 02:34:56 TTL: 18s Initiator->Responder: 0 packets 0 bytes Responder->Initiator: 0 packets 0 bytes Initiator: Source IP/port: 192.168.3.100/45056 Destination IP/port: 202.1.1.2/2048 DS-Lite tunnel peer: - ××× instance/VLAN ID/VLL ID: -/-/- Protocol: ICMP(1) Inbound interface: Vlan-interface1 Responder: Source IP/port: 202.1.1.2/1 Destination IP/port: 202.202.202.2/0 DS-Lite tunnel peer: - ××× instance/VLAN ID/VLL ID: -/-/- Protocol: ICMP(1) Inbound interface: GigabitEthernet0/0 State: ICMP_REPLY Application: OTHER Start time: 2019-08-10 02:35:04 TTL: 27s Initiator->Responder: 0 packets 0 bytes Responder->Initiator: 0 packets 0 bytes Total sessions found: 2
能夠看到策略路由已經生效了,而且如今關閉R1路由器的G0/0和G0/1中的任何一個接口,都不會影響內網與外網的通訊,可自行測試。
配置NAT映射
[r1]int g 0/1 [r1-GigabitEthernet0/1]nat server protocol tcp global 200.200.200.3 23 inside 19 2.168.3.250 23
Server上配置Telnet:
[H3C]telnet server enable [H3C]local-user admin # Telnet 登陸時使用的用戶名 New local user added. [H3C-luser-manage-admin]password simple pwd123 # 密碼 [H3C-luser-manage-admin]service-type telnet [H3C-luser-manage-admin]authorization-attribute user-role level-15 [H3C-luser-manage-admin]quit [H3C]user-interface vty 0 [H3C-line-vty0]authentication-mode scheme [H3C-line-vty0]protocol inbound telnet
能夠看到,輸入相應的用戶名和密碼便可Telnet成功,Telnet登陸後,能夠經過查看當前接口的IP地址,來區分是否登陸到server上