MQC(Modular QoS Command-Line Interface)是指透過將具有某類共同特徵的報文劃分為一類,併為同一類報文提供相同的服務,也可以對不同類的報文提供不同的服務。對特定型別的報文進行過濾,只能依託MQC功能實現。當用戶認為某類報文不可信時,可以透過MQC將這類報文與其他報文區別出來並進行丟棄;同樣的,當用戶認為某類報文可信時,也可以透過MQC將這類報文與其他報文區別出來並允許透過。與黑名單相比,透過MQC實現報文過濾可以對報文進行更精細的劃分,在網路部署時更加靈活。組網需求如圖1所示,企業內部有兩個部門,分別屬於VLAN 10和VLAN 20。VLAN 10主要是伺服器區,為內網和外網使用者提供服務;VLAN 20用於員工辦公。要求在工作時間(8:00~18:00)限制VLAN 20內網的使用者訪問公網,只能訪問內網VLAN 10裡面的伺服器提供的服務。
配置思路採用如下的思路配置限制部分使用者在特定時間無法上網:建立VLAN,配置各介面和路由協議,實現公司和外部網路互通。在Switch上配置時間段,定義工作時間段為週一到週五8:00~18:00,使裝置可以根據時間段對流量進行控制。在Switch上配置ACL規則並結合已配置的時間段,分別匹配VLAN 20的使用者訪問VLAN 10和訪問公網的流量。在Switch上配置流分類,按照ACL對報文進行分類。在Switch上配置流行為,允許匹配的流量透過。在Switch上配置流策略,繫結上述流分類和流行為,並應用到與SwitchA相連的介面GE1/0/1的入方向,實現VLAN 20的使用者無法在工作時間上網但非工作時間可以正常上網的需求。操作步驟建立VLAN並配置各介面# 配置Switch。<HUAWEI> system-view[HUAWEI] sysname Switch[Switch] vlan batch 10 20 30 40 //建立VLAN 10~VLAN 40[Switch] interface gigabitethernet 1/0/1[Switch-GigabitEthernet1/0/1] port link-type trunk //設定介面接入型別為trunk[Switch-GigabitEthernet1/0/1] port trunk allow-pass vlan 10 20 //將介面劃分到VLAN 10和VLAN 20[Switch-GigabitEthernet1/0/1] quit[Switch] interface gigabitethernet 1/0/2[Switch-GigabitEthernet1/0/2] port link-type access //設定介面接入型別為access[Switch-GigabitEthernet1/0/2] port default vlan 30 //將介面劃分到VLAN 30[Switch-GigabitEthernet1/0/2] quit[Switch] interface gigabitethernet 1/0/3[Switch-GigabitEthernet1/0/3] port link-type access[Switch-GigabitEthernet1/0/3] port default vlan 40[Switch-GigabitEthernet1/0/3] quit[Switch] interface vlanif 10 //建立VLANIF介面[Switch-Vlanif10] ip address 192.168.1.1 255.255.255.0 //配置VLANIF介面的IP地址,此IP地址為192.168.1.0/24網段的閘道器[Switch-Vlanif10] quit[Switch] interface vlanif 20[Switch-Vlanif20] ip address 192.168.2.1 255.255.255.0[Switch-Vlanif20] quit[Switch] interface vlanif 30 //建立VLANIF介面[Switch-Vlanif30] ip address 10.1.20.2 255.255.255.0 //配置VLANIF介面的IP地址,用於與RouterA互連[Switch-Vlanif30] quit[Switch] interface vlanif 40[Switch-Vlanif40] ip address 10.1.30.2 255.255.255.0[Switch-Vlanif40] quit[Switch] ip route-static 0.0.0.0 0 10.1.20.1 //配置靜態路由指向外網並配置負載分擔,實現網路互通[Switch] ip route-static 0.0.0.0 0 10.1.30.1# 配置SwitchA。<HUAWEI> system-view[HUAWEI] sysname SwitchA[SwitchA] vlan batch 10 20 //建立VLAN 10和VLAN20[SwitchA] interface gigabitethernet 1/0/1[SwitchA-GigabitEthernet1/0/1] port link-type access //設定介面接入型別為access[SwitchA-GigabitEthernet1/0/1] port default vlan 10 //將介面劃分到VLAN 10[SwitchA-GigabitEthernet1/0/1] quit[SwitchA] interface gigabitethernet 1/0/2[SwitchA-GigabitEthernet1/0/2] port link-type access[SwitchA-GigabitEthernet1/0/2] port default vlan 20[SwitchA-GigabitEthernet1/0/2] quit[SwitchA] interface gigabitethernet 1/0/3[SwitchA-GigabitEthernet1/0/3] port link-type trunk //設定介面接入型別為trunk[SwitchA-GigabitEthernet1/0/3] port trunk allow-pass vlan 10 20 //將介面劃分到VLAN 10和VLAN 20[SwitchA-GigabitEthernet1/0/3] quit# 配置路由器。配置路由器A上與Switch相連的介面的IP地址為10.1.20.1/24。配置路由器B上與Switch相連的介面的IP地址為10.1.30.1/24。配置時間段# 在Switch上配置時間段,定義工作時間為週一到週五8:00~18:00[Switch] time-range worktime 8:00 to 18:00 working-day配置ACL# 在Switch上配置ACL,定義允許和拒絕透過的流量。[Switch] acl 3000[Switch-acl-adv-3000] rule permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 time-range worktime //配置允許VLAN20的使用者在工作時間訪問VLAN 10中的伺服器[Switch-acl-adv-3000] rule deny ip source 192.168.2.0 0.0.0.255 time-range worktime //配置限制VLAN20的使用者在工作時間訪問公網[Switch-acl-adv-3000] quit配置流分類# 在Switch上配置流分類,按照ACL對報文進行分類。[Switch] traffic classifier c1 operator and[Switch-classifier-c1] if-match acl 3000[Switch-classifier-c1] quit配置流行為# 在Switch配置流行為,並配置允許動作。[Switch] traffic behavior b1[Switch-behavior-b1] permit[Switch-behavior-b1] quit配置流策略並應用到介面上# 在Switch上建立流策略,將流分類和對應的流行為進行繫結,並將流策略應用到與SwitchA相連的介面GE1/0/1的入方向上。[Switch] traffic policy p1[Switch-trafficpolicy-p1] classifier c1 behavior b1[Switch-trafficpolicy-p1] quit[Switch] interface gigabitethernet 1/0/1[Switch-GigabitEthernet1/0/1] traffic-policy p1 inbound[Switch-GigabitEthernet1/0/1] quit驗證配置結果# 檢視ACL規則的配置資訊。[Switch] display acl 3000Advanced ACL 3000, 2 rulesAcl's step is 5rule 5 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 time-range worktime (match-counter 0)(Active)rule 10 deny ip source 192.168.2.0 0.0.0.255 time-range worktime (match-counter 0)(Active)說明:如果裝置的當前時鐘在time-range定義的範圍內,則ACL規則配置資訊中顯示為Active,否則顯示為Inactive。# 檢視流策略的配置資訊。[Switch] display traffic policy user-defined p1 User Defined Traffic Policy Information: Policy: p1 Classifier: c1 Operator: AND Behavior: b1 Permit# 在工作時間內在VLAN 20訪問公網,發現無法訪問;訪問VLAN 10中的伺服器,可以成功訪問。配置檔案Switch的配置檔案#sysname Switch#vlan batch 10 20 30 40#time-range worktime 08:00 to 18:00 working-day#acl number 3000 rule 5 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 time-range worktimerule 10 deny ip source 192.168.2.0 0.0.0.255 time-range worktime#traffic classifier c1 operator and precedence 5if-match acl 3000#traffic behavior b1permit#traffic policy p1 match-order configclassifier c1 behavior b1#interface Vlanif10ip address 192.168.1.1 255.255.255.0#interface Vlanif20ip address 192.168.2.1 255.255.255.0#interface Vlanif30ip address 10.1.20.2 255.255.255.0#interface Vlanif40ip address 10.1.30.2 255.255.255.0#interface GigabitEthernet1/0/1port link-type trunkport trunk allow-pass vlan 10 20traffic-policy p1 inbound#interface GigabitEthernet1/0/2port link-type accessport default vlan 30#interface GigabitEthernet1/0/3port link-type accessport default vlan 40#ip route-static 0.0.0.0 0.0.0.0 10.1.20.1ip route-static 0.0.0.0 0.0.0.0 10.1.30.1#returnSwitchA的配置檔案#sysname SwitchA#vlan batch 10 20#interface GigabitEthernet1/0/1port link-type accessport default vlan 10#interface GigabitEthernet1/0/2port link-type accessport default vlan 20#interface GigabitEthernet1/0/3port link-type trunkport trunk allow-pass vlan 10 20#return