博文大綱:
一、策略路由是什麼?
二、配置H3C雙出口。
(1)配置Easy_IP映射
(2)配置策略路由
(3)配置NAT Server映射
一、策略路由是什麼?
在H3C設備上,談到雙出口,那麼就避免不了策略路由這個概念,那麼策略路由又是個什麼鬼呢?
它與單純依照IP報文的目的地址查找路由表進行轉發不同,策略路由是一種依據用戶制定的策略進行路由選擇的機制。策略路由是在路由表已經產生的情況下,不按照路由表進行轉發,而是根據需要,依照某種策略改變其轉發路徑的方法。
路由策略的操作對象是“路由”信息,主要通過對路由的過濾和對路由屬性或參數的設置來間接影響數據轉發。策略路由的操作對象是“數據包”,主要通過設定的策略直接指導數據的轉發。
策略路由通常分爲兩種:IP單播策略路由和IP組播策略路由。
不管是單播策略路由還是組播策略路由,其配置都需要做兩方面的工作:一是定義哪些需要使用策略路由的報文;二是爲這些報文指定路由,這可以通過對一個Route-policy的定義來實現。
IP單播策略路由可以分爲接口策略路由和本地策略路由兩種。
- 接口策略路由:在接口視圖下配置(應用於報文到達的接口上),作用於到達該接口的報文。
- 本地策略路由:在系統視圖下配置,對本機產生的報文進行策略路由。
策略路由可用於安全、負載分擔等目的。對於一般轉發和安全等方面的使用需求,大多數情況下使用的是接口策略路由。
二、配置H3C雙出口
下面通過一個模擬的網絡環境,配置一下策略路由。
網絡環境如下:
環境分析:
該拓撲圖中的校園網內部分爲兩個網段:一個爲學生校舍網段(192.168.2.0),主要訪問電信提供的internet服務器;另外一個網段爲校園辦公和教學用網段(192.168.3.0),主要訪問教育網。校園網出口路由器連接了電信提供的internet20m光纖,同時也連接了教育網的20m光纖(由於H3C的模擬器無法模擬出PC和server,所以只好使用路由器來代替了)。
需求如下:
1)路由器配置要求:當其中任意一條外部光纖中斷時,另一條光纖可備份其下屬的網段訪問internet服務或教育網資源。
2)Nat配置要求:出口路由器的兩個出口都能同時使用校園內網的私有網段做nat後訪問外部資源。教育網出口接口處還配置了nat server,使內部的教學網段的某個ip服務器對教育網提供telnet訪問服務。
3)策略路由配置要求:校園網內的教學用網段192.168.3.0/24主要通過教育網訪問外部資源,而校舍網段192.168.2.0/24主要通過電信出口訪問Internet資源。當教育專網的光纖故障時,校舍網段可以通過電信出口訪問相關教育網資源,當電信的光纖線路故障時,校舍網段可以通過專網出口訪問相關資源。
開始配置:
1、R2路由器配置如下(相關的基礎配置就不註釋了):
<H3C>sys
[H3C]in g0/1
[H3C-GigabitEthernet0/1]ip add 222.222.222.1 30
[H3C-GigabitEthernet0/1]in g0/0
[H3C-GigabitEthernet0/0]ip add 202.202.202.1 30
[H3C-GigabitEthernet0/0]int loop 0
[H3C-LoopBack0]ip add 202.202.0.1 32
[H3C-LoopBack0]ospf 1 //配置OSPF
[H3C-ospf-1]area 0
[H3C-ospf-1-area-0.0.0.0]net 0.0.0.0 255.255.255.255
//該聲明方式是將本設備的所有網段都聲明一下
2、R3路由器配置如下:
<H3C>sys
[H3C]in g0/1
[H3C-GigabitEthernet0/1]ip add 222.222.222.2 30
[H3C-GigabitEthernet0/1]in g0/0
[H3C-GigabitEthernet0/0]ip add 200.200.200.1 29
[H3C-GigabitEthernet0/0]in g0/2
[H3C-GigabitEthernet0/2]ip add 202.1.1.1 24
[H3C-GigabitEthernet0/2]quit
[H3C]ospf 1 //配置OSPF
[H3C-ospf-1]area 0
[H3C-ospf-1-area-0.0.0.0]net 0.0.0.0 255.255.255.255
3、PC3配置如下:
[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 202.1.1.2 24
[H3C-GigabitEthernet0/0]quit
[H3C]ip route 0.0.0.0 0.0.0.0 202.1.1.1
4、R1路由器配置如下:
[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 202.202.202.2 30
[H3C-GigabitEthernet0/0]in g0/1
[H3C-GigabitEthernet0/1]ip add 200.200.200.2 29
[H3C-GigabitEthernet0/1]in vlan 1 //需要配置vlan的IP,將其當做G0/2的接口IP
[H3C-Vlan-interface1]ip add 192.168.1.1 24
[H3C-Vlan-interface1]in g0/2
[H3C-GigabitEthernet0/2]port link-mode bridge //將該接口改爲網橋模式
//所有接口默認屬於vlan1,所以相當於G0/2的接口IP已經是vlan 1的IP地址了
[H3C]ip route 192.168.2.0 24 192.168.1.2
[H3C]ip route 192.168.3.0 24 192.168.1.2
[H3C]ospf 1 //配置OSPF
[H3C-ospf-1]area 0
[H3C-ospf-1-area-0.0.0.0]net 202.202.202.0 0.0.0.3
[H3C-ospf-1-area-0.0.0.0]net 200.200.200.0 0.0.0.7
5、SW1配置如下:
[H3C]vlan 2 to 3 //創建vlan
[H3C]in vlan 1
[H3C-Vlan-interface1]ip add 192.168.1.2 24
[H3C-Vlan-interface1]in vlan 2
[H3C-Vlan-interface2]ip add 192.168.2.1 24
[H3C-Vlan-interface2]in vlan 3
[H3C-Vlan-interface3]ip add 192.168.3.1 24
//將接口添加到vlan中
[H3C-Vlan-interface3]in g1/0/2
[H3C-GigabitEthernet1/0/2]port link-type access
[H3C-GigabitEthernet1/0/2]port access vlan 2
[H3C-GigabitEthernet1/0/2]in g1/0/3
[H3C-GigabitEthernet1/0/3]port link-type access
[H3C-GigabitEthernet1/0/3]port access vlan 3
[H3C-GigabitEthernet1/0/3]in g1/0/4
[H3C-GigabitEthernet1/0/4]port link-type access
[H3C-GigabitEthernet1/0/4]port access vlan 3
[H3C]ip route 0.0.0.0 0.0.0.0 192.168.1.1 //配置一個到外網的默認路由
6、PC1配置如下:
[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 192.168.2.100 24
[H3C-GigabitEthernet0/0]ip route 0.0.0.0 0.0.0.0 192.168.2.1 //相當於配置默認網關
7、PC2配置如下:
[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 192.168.3.100 24
[H3C-GigabitEthernet0/0]ip route 0.0.0.0 0.0.0.0 192.168.3.1
8、Server的配置如下:
[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 192.168.3.250 24
[H3C-GigabitEthernet0/0]ip route 0.0.0.0 0.0.0.0 192.168.3.1
經過上述配置,R1已經可以ping通PC3,PC1、PC2及server都可互通,但ping外網的話ping不通,只能ping到192.168.1.1這個地址,公網地址都ping不同,是因爲還沒做nat映射,接下來在R1配置Easy_IP映射。
(1)配置Easy_IP映射
1、R1上配置Easy_IP:
//創建ACL
[H3C]acl basic 2001
[H3C-acl-ipv4-basic-2001]rule 0 per source 192.168.2.0 0.0.0.255
[H3C-acl-ipv4-basic-2001]rule 5 per source 192.168.3.0 0.0.0.255
[H3C-acl-ipv4-basic-2001]rule 10 deny
//將ACL應用到兩個出接口上,匹配到ACL2001的,都進行nat轉換
[H3C-acl-ipv4-basic-2001]in g0/0
[H3C-GigabitEthernet0/0]nat outbound 2001
[H3C-GigabitEthernet0/0]in g0/1
[H3C-GigabitEthernet0/1]nat outbound 2001
[H3C-GigabitEthernet0/1]quit
配置NAT之後,已經實現了全網互通。
在pc1上測試ping pc3進行測試:
在pc2上測試ping pc3進行測試:
在R1上查看nat轉換關係,查看流量分別從什麼接口出去的。
<H3C>dis nat sess ver //可以看到下面生成了兩個nat轉換表,每個轉換表又包含正向和反向
Slot 0:
Total sessions found: 0
<H3C>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
可以發現現在所有內網的流量都是從200.200.200.2這個接口出去及返回的,也就是說202.202.202.0這條鏈路處於閒置狀體,那麼現在配置策略路由,以實現需求。
(2)配置策略路由
//定義一個高級ACL,用來關聯vlan 3的流量
[H3C]acl advanced 3000
[H3C-acl-ipv4-adv-3000]rule 0 per ip sou
[H3C-acl-ipv4-adv-3000]rule 0 per ip source 192.168.3.0 0.0.0.255
[H3C-acl-ipv4-adv-3000]quit
[H3C]policy-based-route al permit node 10 //配置策略路由
[H3C-pbr-al-10]if-match acl 3000 //如果匹配ACL 3000
[H3C-pbr-al-10]apply next-hop 202.202.202.1 //則下一跳指向202.202.202.1
[H3C-pbr-al-10]quit
[H3C]policy-based-route al per node 20 空節點,放行其他未匹配流量
[H3C-pbr-al-20]int vlan 1
[H3C-Vlan-interface1]ip policy-based-route al
//在此接口下應用路由策略,因爲需要做策略路由的數據包都是從這個接口下轉發過來的
[H3C-Vlan-interface1]quit
自行使用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
OK,可以看到策略路由已經生效了,並且現在關閉R1路由器的G0/0和G0/1中的任何一個接口,都不會影響內網與外網的通信,可自行測試。
下面開始做NAT Server,使PC3可以使用Telnet連接到內網中的Server服務器:
(3)配置NAT Server映射:
R1上配置nat server:
[H3C-GigabitEthernet0/0]in g0/1
[H3C-G0/1]nat server protocol tcp global 200.200.200.3 23 inside 192.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 //admin的密碼
[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
[H3C-line-vty0]quit
驗證:
可以看到,輸入相應的用戶名和密碼即可Telnet成功,Telnet登錄後,可以通過查看當前接口的IP地址,來區分是否登錄到server上。