为了过滤数据包,须要配置一些规则,规定什么样的数据包能够经过,什么样的数据包不能经过。这些规则就是经过访问控制列表(Access Control List)体现的。安全
访问控制列表根据IP报文的协议号、源地址、目标地址、源端口和目的端口的信息起到过滤数据报文的做用。ide
用户须要根据本身的安全策略来肯定访问控制列表,并将其应用到整机或指定接口上,安全网关就会根据访问控制列表来检查全部接口或指定接口上的全部数据包,对于符合规则的报文做正常转发或丢弃处理的动做,从而起到防火墙的做用。ui
访问控制列表除了用于过滤数据报文以外,还能够应用于:spa
ACL数字的范围标明了用途:命令行
列表种类调试 |
数字标识范围code |
基本的访问控制列表 orm |
2000~2999blog |
高级的访问控制列表 接口 |
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、第二条命令在全部视图下都可执行。第三条命令在用户视图下执行。
技
术
是
用
来
学
的
,
不
是
用
来
收
藏
的
!