一、網(wǎng)絡拓撲
辦公網(wǎng)為172網(wǎng)段,其核心交換機為85-1,由NE-1做NAT通過網(wǎng)通上internet;宿舍區(qū)為10網(wǎng)段,其核心交換機為85-2,由NE-2做NAT通過電信上internet.服務器放在S85-1下,為172網(wǎng)段的地址,供宿舍區(qū)10網(wǎng)段主機訪問。
二、應用需求及實現(xiàn)分析
應用需求:
由于網(wǎng)通和電信的出口均為百兆,而宿舍區(qū)用戶遠遠多于辦公區(qū)的用戶,要分流部分宿舍區(qū)的用戶通過網(wǎng)通的出口上internet.
實現(xiàn)分析:
此需求看起來很簡單,即通過策略路由,使部分用戶上網(wǎng)的下一跳到S85-1上,通過NE-1出去。但是仔細分析具體的實現(xiàn),還是有很多要考慮的地方。
1.S8500上策略路由只能在入端口方向上做,這樣,要在特定網(wǎng)段的所有入端口應用策略路由。
2.應用策略路由的流由ACL來定義區(qū)分,此處ACL由關鍵字源IP來定義。
acl number 2000
rule 0 permit ip source 10.1.1.0 0.255.255.255
策略路由優(yōu)先級最高,如果定義上面的ACL,當10網(wǎng)段訪問10網(wǎng)段時,將會先匹配策略路由,從而下一跳到S85-1上,在S85-1上匹配路由,再回到S85-2上面,從而到達目的主機,這樣來回就多了兩跳。
3.修改ACL為禁止源ip為10網(wǎng)段,目的ip也為10網(wǎng)段的流應用策略路由。
acl number 2000
rule 0 deny ip source 10.1.1.0 0.255.255.255 destination 10.0.0.0 0.255.255.255
rule 1 permit ip source 10.1.1.0 0.255.255.255
但是策略路由引用的ACL規(guī)則不允許為deny.
難道只能這樣,讓10網(wǎng)段訪問10網(wǎng)段的時候多走兩跳嗎?……當然不!
三、解決方法
S8500交換機的策略路由是由硬件來實現(xiàn)的,不然,對于S8500這種逐包轉(zhuǎn)發(fā)的交換機,其CPU不可能處理如此大的轉(zhuǎn)發(fā)量。由于策略路由和下發(fā) 的ACL一樣,由硬件處理,那就有匹配順序的問題。如果讓源IP為10網(wǎng)段,目的IP也為10網(wǎng)段數(shù)據(jù)先匹配其他的ACL轉(zhuǎn)發(fā)出去,而不匹配策略路由,那么就可以解決上面的問題。
配置如下:
編寫ACL 3000,允許源IP10網(wǎng)段訪問目的IP10網(wǎng)段
acl number 3000
rule 0 permit ip source 10.1.1.0 0.255.255.255 destination 10.0.0.0 0.255.255.255
編寫ACL2000,允許源IP10網(wǎng)段(做策略路由)
acl number 2000
rule 0 permit ip source 10.1.1.0 0.255.255.255
在端口下發(fā)規(guī)則
Interface GigabitEthernet0/1/4
packet-filter inbound ip-group 3000
traffic-redirect inbound ip-group 2000 next-hop 10.1.2.10
在端口下發(fā)規(guī)則時要注意順序,對于S8500交換機的ACL規(guī)則是先下發(fā)先匹配,所以此處必須先下發(fā)ACL 3000,再運用策略路由。在端口G0/1/4上10.1.1.0網(wǎng)段的主機訪問10網(wǎng)段的主機時,就會先匹配ACL3000,而ACL3000的規(guī)則為permit,這樣就正常的查找路由表來轉(zhuǎn)發(fā)。而目的IP不是10網(wǎng)段時,就會匹配上策略路由,從而下一跳到S85-1上。