爲了過濾數據包,須要配置一些規則,規定什麼樣的數據包能夠經過,什麼樣的數據包不能經過。這些規則就是經過訪問控制列表(Access Control List)體現的。安全
訪問控制列表根據IP報文的協議號、源地址、目標地址、源端口和目的端口的信息起到過濾數據報文的做用。ide
用戶須要根據本身的安全策略來肯定訪問控制列表,並將其應用到整機或指定接口上,安全網關就會根據訪問控制列表來檢查全部接口或指定接口上的全部數據包,對於符合規則的報文做正常轉發或丟棄處理的動做,從而起到防火牆的做用。ui
訪問控制列表除了用於過濾數據報文以外,還能夠應用於:spa
ACL數字的範圍標明瞭用途:命令行
列表種類3d |
數字標識範圍調試 |
基本的訪問控制列表 code |
2000~2999orm |
高級的訪問控制列表 blog |
3000~3999 |
基於接口的訪問控制列表 |
1000~1999 |
基於MAC的訪問控制列表 |
4000~4999 |
分類方法是按照訪問控制列表的用途來劃分的。
基本訪問控制列表僅僅是根據數據包的源地址對數據包進行區分。 使用源地址信息,作爲定義訪問控制列表規則的元素。
高級訪問控制列表可使用數據包的源地址信息、目的地址信息、IP承載的協議類型、針對協議的特性,例如TCP的源端口,ICMP協議的類型、代碼等內容定義規則。
利用高級訪問控制列表能夠定義比基本訪問控制列表更準確、更豐富、更靈活的規則。
基於接口的訪問控制列表,是一種特殊的訪問控制列表,能夠根據接收或者發送報文的接口指定規則。
基於以太網的MAC地址的訪問控制列表,也是一種特殊的訪問控制列表,指定發送報文的源設備和目標設備創建接口綁定規則,能夠起到防止欺騙的做用。
在防火牆命令行的系統視圖下可進行ACL表的建立。
[SecPath] acl number 2000 match-order config
[SecPath-acl-basic-2000] ? 使用問號顯示以下ACL列表的操做命令:
Acl-basic view commands:
display Display current system information
ping Ping function
quit Exit from current command view
return Exit to User View
rule Specify an acl rule
tracert Trace route function
undo Cancel current setting
一個訪問控制列表是由permit或 deny語句組成的一系列的規則列表,或者叫若干個規則構成一個訪問控制列表。在配置訪問控制列表的規則以前,首先須要建立一個訪問控制列表。
Acl number acl-number [match-order {confug | auto}
此命令能夠建立一個訪問控制列表
建立了一個訪問控制列表以後,將進入ACL視圖,ACL視圖是按照訪問控制列表的用途來分類的。倘若建立了一個數字編號爲3000的數字型ACL列表,將進入高級ACL視圖。安全網關的提示符爲:[SecPath-acl-advanced-3000]
。進入ACL視圖以後,就能夠配置ACL規則了。對於不一樣的ACL,規則是不同的。
Undo acl {number acl-number | all }
此命令能夠刪除一個或全部訪問控制列表;
反掩碼的做用和子網掩碼很類似。一般狀況下反掩碼看起來很象一個顛倒過來的IP 地址子網掩碼,可是用法上是不同的。IP 地址與反掩碼的關係語法規定以下: 在反掩碼中相應位爲1 的地址中的位在比較中被忽略,爲0 的必須被檢查。IP 地址與反掩碼都是32 位的數。
反掩碼和IP地址結合使用,能夠描述一個地址範圍。
0 |
0 |
0 |
255 |
只比較前24位 |
0 |
0 |
3 |
255 |
只比較前22位 |
0 |
255 |
255 |
255 |
只比較前8位 |
ACL基本配置包括
操做 |
命令 |
在系統視圖下,建立一個基本訪問控制列表 |
acl number acl-number [ match-order { config | auto } ]
|
在基本訪問控制列表視圖下,配置ACL規則 |
rule [ rule-id ] { permit | deny } [ source sour-addr sour-wildcard | any ] [ time-range time-name ] [ logging ] [ fragment ] [ ***-instance ***-instance-name ] undo rule rule-id [ source ] [ time-range ] [ logging ] [ ***-instance ***-instance-name ] [ fragment ] |
操做 |
命令 |
在系統視圖下,建立一個高級訪問控制列表 |
acl number acl-number [ match-order { config | auto } ] |
在高級訪問控制列表視圖下,配置ACL規則 |
rule [ rule-id ] { permit | deny } protocol [ source sour-addr sour-wildcard | any ] [ destination dest-addr dest-mask | any ] [ source-port operator port1 [ port2 ] ] [ destination-port operator port1 [ port2 ] ] [ icmp-type {icmp-type icmp-code| icmp-message} ] [ precedence precedence ] [ dscp dscp ] [ established ] [ tos tos ] [ time-range time-name ] [ logging ] [ fragment ] [ ***-instance ***-instance-name ] undo rule rule-id [ source ] [ destination ] [ source-port ] [ destination-port ] [ icmp-type ] [ precedence ] [ dscp ] [ tos ] [ time-range ] [ logging ] [ fragment ] [ ***-instance ***-instance-name ] |
操做 |
命令 |
在系統視圖下,建立一個基於接口的訪問控制列表 |
acl number acl-number [ match-order { config | auto } ] |
在基於接口的訪問控制列表視圖下,配置ACL規則 |
rule { permit | deny } [ interface type number ] [ time-range time-name ] [ logging ] undo rule rule-id [ time-range | logging ] |
操做 |
命令 |
在系統視圖下,建立一個基於MAC地址的訪問控制列表 |
acl number acl-number |
在基於MAC地址的訪問控制列表視圖下,配置ACL規則 |
rule [ rule-id ] { deny | permit } [ type type-code type-wildcard | lsap lsap-code lsap-wildcard ] [ source-mac sour-addr sour-wildcard ] [ dest-mac dest-addr dest-mask ] undo rule rule-id |
操做 |
命令 |
刪除訪問控制列表 |
undo acl { number acl-number | all} |
操做 |
命令 |
建立一個時間段 |
time-range time-name [ start-time to end-time ] [ days ] [ from time1 date1 ] [ to time2 date2 ] |
刪除一個時間段 |
undo time-range time-name [ start-time to end-time ] [ days ] [ from time1 date1 ] [ to time2 date2 ] |
此命令在系統視圖下進行。
在同一個名字下能夠配置多個時間段,這些時間段是「或」邏輯關係。
操做 |
命令 |
顯示配置的訪問控制列表規則 |
display acl { all | acl-number } |
顯示時間段 |
display time-range { all | time-name } |
清除訪問規則計數器 |
reset acl counter { all | acl-number } |
第1、第二條命令在全部視圖下都可執行。第三條命令在用戶視圖下執行。
技
術
是
用
來
學
的
,
不
是
用
來
收
藏
的
!