華爲ACL應用及實例

1、ACL應用範圍

小編總結了一下,ACL應用的業務模塊非常多,但主要分爲以下四類:

業務分類

應用場景

涉及業務模塊

登錄控制

對交換機的登錄權限進行控制,允許合法用戶登錄,拒絕非法用戶登錄,從而有效防止未經授權用戶的非法接入,保證網絡安全性。

例如,一般情況下交換機只允許管理員登錄,非管理員用戶不允許隨意登錄。這時就可以在Telnet中應用ACL,並在ACL中定義哪些主機可以登錄,哪些主機不能。

TelnetSNMPFTP

TFTPSFTPHTTP

對轉發的報文進行過濾

對轉發的報文進行過濾,從而使交換機能夠進一步對過濾出的報文進行丟棄、修改優先級、重定向、IPSEC保護等處理。

例如,可以利用ACL,降低P2P下載、網絡視頻等消耗大量帶寬的數據流的服務等級,在網絡擁塞時優先丟棄這類流量,減少它們對其他重要流量的影響。

QoS流策略、NATIPSEC

對上送CPU處理的報文進行過濾

對上送CPU的報文進行必要的限制,可以避免CPU處理過多的協議報文造成佔用率過高、性能下降。

例如,發現某用戶向交換機發送大量的ARP***報文,造成交換機CPU繁忙,引發系統中斷。這時就可以在本機防***策略的黑名單中應用ACL,將該用戶加入黑名單,使CPU丟棄該用戶發送的報文。

黑名單、白名單、

用戶自定義流

路由過濾

ACL可以應用在各種動態路由協議中,對路由協議發佈和接收的路由信息進行過濾。

例如,可以將ACL和路由策略配合使用,禁止交換機將某網段路由發給鄰居路由器。

BGPIS-ISOSPF

OSPFv3RIPRIPng

組播協議

2ACL業務模塊的處理機制

業務模塊

匹配上了permit規則

匹配上了deny規則

ACL中配置了規則,但未匹配上任何規則

ACL中沒有配置規則

ACL未創建

Telnet

permit(允許登錄)

deny(拒絕登錄)

deny(拒絕登錄)

permit(允許登錄)

permit(允許登錄)

HTTP

permit(允許登錄)

deny(拒絕登錄)

deny(拒絕登錄)

permit(允許登錄)

permit(允許登錄)

SNMP

permit(允許登錄)

deny(拒絕登錄)

deny(拒絕登錄)

permit(允許登錄)

permit(允許登錄)

FTP

permit(允許登錄)

deny(拒絕登錄)

deny(拒絕登錄)

permit(允許登錄)

permit(允許登錄)

TFTP

permit(允許登錄)

deny(拒絕登錄)

deny(拒絕登錄)

permit(允許登錄)

permit(允許登錄)

SFTP

permit(允許登錄)

deny(拒絕登錄)

deny(拒絕登錄)

permit(允許登錄)

permit(允許登錄)

流策略

流行爲是permit:permit(允許通過)

流行爲是deny時:deny(丟棄報文)

deny(丟棄報文)

permit(功能不生效,按照原轉發方式進行轉發)

permit(功能不生效,按照原轉發方式進行轉發)

permit(功能不生效,按照原轉發方式進行轉發)

NAT

permit(進行NAT轉換)

permit(功能不生效,按照原轉發方式進行轉發)

permit(功能不生效,按照原轉發方式進行轉發)

permit(功能不生效,按照原轉發方式進行轉發)

permit(功能不生效,按照原轉發方式進行轉發)

IPSEC

permit(數據流經過IPSec處理後再轉發)

不允許出現此情況

permit(功能不生效,按照原轉發方式進行轉發)

不允許出現此情況

不允許出現此情況

本機防***策略

   白名單

permit(CPU優先處理)

 deny(丟棄報文)

permit (功能不生效,正常上送報文)

permit(功能不生效,正常上送報文)

permit(功能不生效,正常上送報文)

黑名單

deny(丟棄報文)

deny(丟棄報文)

permit (功能不生效,正常上送報文)

permit (功能不生效,正常上送報文)

permit (功能不生效,正常上送報文)

用戶自定義流

用戶自定義流的處理動作是deny時:deny(丟棄報文)

動作是car時:permit(進行CAR限速)

 deny(丟棄報文)

permit (功能不生效,按照原轉發方式進行轉發)

permit (功能不生效,正常上送報文)

permit (功能不生效,正常上送報文)

路由

Route Policy

匹配模式是permit時:permit(允許執行路由策略)

匹配模式是deny時:

deny(不允許執行路由策略)

deny功能不生效,不允許執行路由策略)

deny(功能不生效,不允許執行路由策略

permit(對經過的所有路由生效)

deny(功能不生效,不允許執行路由策略

Filter Policy

permit(過濾路由)

deny(不過濾該路由)

deny(不過濾該路由)

permit(過濾所有路由)

deny(功能不生效,不過濾路由)

組播

igmp-snooping ssm-policy

permit(允許加入SSM組播組範圍)

deny(禁止加入SSM組地址範圍)

deny(禁止加入SSM組地址範圍)

deny(禁止加入SSM組地址範圍,所有組都不在SSM組地址範圍內)

deny(禁止加入SSM組地址範圍,只有臨時組地址範圍232.0.0.0232.255.255.255SSM組地址範圍內)

igmp-snooping group-policy

配置了default-permit時:permit(允許加入組播組)

未配置default-permit permit(允許加入組播組)

配置了default-permit時:deny(禁止加入組播組)

未配置default-permitdeny (禁止加入組播組)

配置了default-permit時:permit(允許加入組播組)

未配置default-permitdeny(禁止加入組播組)

配置了default-permit時:permit(允許加入組播組)

未配置default-permitdeny(禁止加入組播組)

配置了default-permit時:permit(允許加入組播組)

未配置default-permitdeny(禁止加入組播組)

3ACL應用方式

業務模塊

ACL應用方式

可使用的ACL編號範圍

Telnet

方式一:

系統視圖下執行命令telnet [ ipv6 ] server acl acl-number

方式二:

a、執行命令user-interface vty first-ui-number [ last-ui-number ],進入VTY用戶界面視圖

b、執行命令acl [ ipv6 ] acl-number { inbound | outbound}

20003999

HTTP

系統視圖下執行命令http acl acl-number

20003999

SNMP

SNMPv1SNMPv2c

系統視圖下執行命令snmp-agent acl acl-number

snmp-agent community { read | write } { community-name | cipher community-name } [ mib-view view-nameacl acl-number ] *

SNMPv3

系統視圖下執行命令snmp-agent acl acl-numbersnmp-agent group v3 group-name {authentication | privacy | noauthentication } [ read-viewread-view | write-view write-view | notify-view notify-view]* [ acl acl-number ]snmp-agent usm-user v3 user-name [ group group-name | acl acl- number ] *

20002999

FTP

系統視圖下執行命令ftp [ ipv6 ] acl acl-number

20003999

TFTP

系統視圖下執行命令tftp-server [ ipv6 ] acl acl-number

20003999

SFTP

方式一:

系統視圖下執行命令ssh [ ipv6 ] server acl acl-number

方式二:

a、執行命令user-interface vty first-ui-number [ last-ui-number ],進入VTY用戶界面視圖

b、執行命令acl [ ipv6 ] acl-number { inbound | outbound}

20003999

流策略

a、  系統視圖下執行命令traffic classifier classifier-name [ operator { and | or } ] [ precedenceprecedence-value ]進入流分類視圖。

b、執行命令if-match acl acl-number | acl-name },配置ACL應用於流分類。

c、 系統視圖下執行命令traffic behavior behavior–name,定義流行爲並進入流行爲視圖。

d、配置流動作。報文過濾有兩種流動作:denypermit

e、 系統視圖下執行命令traffic policy policy-name [match-order { auto | config } ]定義流策略並進入流策略視圖。

f、 執行命令classifier classifier-name behaviorbehavior-name,在流策略中爲指定的流分類配置所需流行爲,即綁定流分類和流行爲。在系統視圖、接口視圖或VLAN視圖下,執行命令traffic-policy policy-name { inbound | outbound },應用流策略。

ACL20005999

ACL620003999

NAT

方式一:

a、   系統視圖下執行命令nat address-group group-index start-address end-address,配置公網地址池。

b、   執行命令interface interface-type interface-number.subnumber,進入子接口視圖。

c、   執行命令nat outbound acl-number address-groupgroup-index [ no-pat ],配置帶地址池的NAT Outbound

方式二:

a、   系統視圖下執行命令interface interface-typeinterface-number.subnumber,進入子接口視圖。

b、   執行命令nat outbound acl-number,配置Easy IP

20003999

IPSEC

方式一:

a、   系統視圖下執行命令ipsec policy policy-name seq-number manual,創建手工方式安全策略,並進入手工方式安全策略視圖。

b、   執行命令security acl acl-number,在安全策略中引用ACL

方式二:

a、   系統視圖下執行命令ipsec policy policy-name seq-number isakmp,創建IKE動態協商方式安全策略,並進入IKE動態協商方式安全策略視圖。

b、   執行命令security acl acl-number,在安全策略中引用ACL

方式三:

a、   系統視圖下執行命令ipsec policy-templatetemplate-name seq-number,創建策略模板,並進入策略模板視圖。

b、   執行命令security acl acl-number,在安全策略中引用ACL

c、   系統視圖下執行命令ipsec policy policy-name seq-number isakmp template template-name,在安全策略中引用策略模板。

30003999

本機防***策略

白名單

a、   系統視圖下執行命令cpu-defend policy policy-name,創建防***策略並進入防***策略視圖。

b、   執行命令whitelist whitelist-id acl acl-number,創建自定義白名單。

c、   系統視圖下執行命令cpu-defend-policy policy-nameglobal ],或槽位視圖下執行命令cpu-defend-policypolicy-name,應用防***策略。

20004999

黑名單

a、   系統視圖下執行命令cpu-defend policy policy-name,創建防***策略並進入防***策略視圖。

b、   執行命令blacklist blacklist-id acl acl-number,創建黑名單。

c、   系統視圖下執行命令cpu-defend-policy policy-nameglobal ],或槽位視圖下執行命令cpu-defend-policypolicy-name,應用防***策略。

20004999

用戶自定義流

a、   系統視圖下執行命令cpu-defend policy policy-name,創建防***策略並進入防***策略視圖。

b、   執行命令user-defined-flow flow-id acl acl-number,配置用戶自定義流。

c、   系統視圖下執行命令cpu-defend-policy policy-nameglobal ],或槽位視圖下執行命令cpu-defend-policypolicy-name,應用防***策略。

20004999

路由

Route Policy

a、   系統視圖下執行命令route-policy route-policy-namepermit | deny } node node,創建Route-Policy,並進入Route-Policy視圖。

b、   執行命令if-match acl acl-number | acl-name },配置基於ACL的匹配規則;或者配置apply子句爲路由策略指定動作,如執行命令apply cost [ + | - ] cost設置路由的開銷值等。

c、   應用路由策略。路由協議不同,命令行不同。例如針對OSPF協議,可以在OSPF視圖下,執行命令import-route { limit limit-number | { bgp [ permit-ibgp ] | direct | unr | rip [ process-id-rip ] | static |isis [ process-id-isis ] | ospf [ process-id-ospf ] } [cost cost | type type | tag tag | route-policy route-policy-name ]* },引入其他路由協議學習到的路由信息;針對RIP協議,可以在RIP視圖下,執行命令import-route { { static | direct | unr } | { { rip | ospf |isis } [ process-id ] } } [ cost cost | route-policyroute-policy-name ] *

20002999

Filter Policy

路由協議不同,過濾方向不同,命令行不同。例如針對RIP協議,對引入的路由進行過濾,可以在RIP視圖下執行命令filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name [ gateway ip-prefix-name ] }import [ interface-type interface-number ];對發佈的路由進行過濾,可以在RIP視圖下執行命令filter-policy {acl-number | acl-name acl-name | ip-prefix ip-prefix-name } export [ protocol [ process-id ] | interface-type interface-number ] 

20002999

組播

igmp-snooping ssm-policy

VLAN視圖下執行命令igmp-snooping ssm-policy basic-acl-number

20002999

igmp-snooping group-policy

VLAN視圖下執行命令igmp-snooping group-policy acl-number [ version version-number ] [ default-permit ]

20003999

4ACL應用案例

案例1:使用ACL限制Telnet訪問權限

爲了保障遠程維護網絡設備的安全性,現要求只有管理員(源地址是10.1.1.1/32)才能telnet登錄交換機,其他人不允許登錄。

要實現這個需求,一定是在Telnet模塊中應用ACL。那麼該如何配置ACL規則呢?大家是不是認爲應該先配置一條permit規則允許10.1.1.1/32登錄,然後再配置多條deny規則拒絕其他地址登錄呢?其實大可不必。

業務模塊

匹配上了permit規則

匹配上了deny規則

ACL中配置了規則,但未匹配上任何規則

ACL中沒有配置規則

ACL未創建

Telnet

permit(允許登錄)

deny(拒絕登錄)

deny(拒絕登錄)

permit(允許登錄)

permit(允許登錄)

因此,我們僅需配置一條允許10.1.1.1/32地址通過的permit規則即可,10.1.1.1/32以外的地址的報文因匹配不上任何規則會被拒絕登錄。

案例1關鍵配置的配置文件如下:

#

telnet server port 1025

#

acl number 2001    //創建基本ACL,編號爲2001

rule 5 permit source 10.1.1.1 0   //僅允許10.1.1.1/32登錄

#

aaa

local-user admin1234 password irreversible-cipher ******  //登錄密碼用******代替,請根據實際情況配置

local-user admin1234 privilege level 3

local-user admin1234 service-type telnet

#

user-interface maximum-vty 8

user-interface vty 0 7

acl 2001 inbound    //對通過用戶界面的登錄進行限制

案例2:使用基於時間的ACL限制用戶訪問服務器權限

某企業禁止市場部門和研發部門在上班時間(8:0017:30)訪問工資查詢服務器(IP地址爲10.10.4.9/32),而總裁辦公室不受限制,可以隨時訪問。

分析上述需求,實際上就是要對源IP=10.10.1.0/24訪問目的IP=10.10.4.9/32的轉發流量、以及源IP=10.10.2.0/24訪問目的IP=10.10.4.9/32的轉發流量,在特定時間內進行限制,其他訪問流量則不受限制,所以我們可以通過在流策略中應用ACL來解決。

1)     首先,查閱流策略模塊的ACL處理機制參照表,爲需要過濾的報文配置ACL規則。

ACL中存在規則的情況下,如果報文匹配上deny規則,則被拒絕通過;如果未匹配上,則會被正常轉發。因此,根據上述需求,我們只需要針對兩類需限制的流量,分別配置deny規則即可。其他地址訪問服務器的報文因匹配不上任何規則而被正常轉發,不受限制。

業務模塊

匹配上了permit規則

匹配上了deny規則

ACL中配置了規則,但未匹配上任何規則

ACL中沒有配置規則

ACL未創建

流策略

流行爲是permit:

permit(允許通過)

流行爲是deny時:

deny(丟棄報文)

deny(丟棄報文)

permit(功能不生效,按照原轉發方式進行轉發)

permit(功能不生效,按照原轉發方式進行轉發)

permit(功能不生效,按照原轉發方式進行轉發)

2)    其次,我們需要注意,需求中強調了是在一定時間範圍內進行流量限制,所以僅僅進行流量控制是不可行的,還必須在規則中引入生效時間段。

我們定義一個時間段名稱爲control-time,並配置該時間段爲8:0017:30,然後在規則中指定time- name參數爲control-time,即把生效時間段與ACL關聯起來了。

3)    最後,我們再查閱流策略ACL應用方式參照表,將ACL應用到流策略中。

根據上述需求,我們爲市場部和研發部分別配置兩個流分類c_marketc_rd,然後將配置的兩條deny規則對應的ACL應用到兩個流分類中,並配置兩個流行爲動作爲deny。同時爲市場部和研發部分別創建流策略p_marketp_ rd,並將流分類和流行爲與流策略綁定,最後再在接口上應用流策略。

案例2關鍵配置的配置文件如下:


time-range control-time 08:00 to 17:30 working-day  //配置生效時間段,工作日8:0017:30

#

acl number 3002

 rule 5 deny ip source 10.10.1.0 0.0.0.255 destination 10.10.4.9 0 time-range control-time     //限制市場部人員在上班時間不能訪問工資服務器

#

acl number 3003

 rule 5 deny ip source 10.10.2.0 0.0.0.255 destination 10.10.4.9 0 time-range control-time    //限制研發部人員在上班時間不能訪問工資服務器

#

traffic classifier c_market operator or precedence 5  //爲市場部配置基於ACL的流分類

 if-match acl 3002  //對匹配ACL 3002的報文(即源地址是市場部IP的報文)進行分類

traffic classifier c_rd operator or precedence 10  //爲研發部配置基於ACL的流分類

 if-match acl 3003  //對匹配ACL 3003的報文(即源地址是研發部IP的報文)進行分類

#

traffic behavior b_market

 deny  //配置流行爲,拒絕匹配上規則的報文通過

traffic behavior b_rd

 deny  //配置流行爲,拒絕匹配上規則的報文通過

#

traffic policy p_market match-order config   //爲市場部配置流策略

 classifier c_market behavior b_market    //在流策略中綁定流分類和流行爲

traffic policy p_rd match-order config    //爲研發部配置流策略

 classifier c_rd behavior b_rd  //在流策略中綁定流分類和流行爲

#

interface GigabitEthernet1/0/0

 port link-type access

 port default vlan 10

 traffic-policy p_market inbound   //接口下應用流策略(市場部從接口GE1/0/0接入)

#

interface GigabitEthernet1/0/1

 port link-type access

 port default vlan 20

 traffic-policy p_rd inbound  //接口下應用流策略(研發部從接口GE1/0/1接入)

轉(http://support.huawei.com/ecommunity/bbs/10223479.html)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章