什么是访问控制列表:
访问控制列表(ACL):应用于路由器接口的指令列表,用于指定哪些数据包可以接收转发,哪些数据包需要拒绝。
ACL的工作原理:读取第三层及第四层包头中的信息;根据预先定义好的规则对包进行过滤。
-访问控制列表的作用:
提供网络访问的基本安全手段;可用于QoS,控制数据流量;控制通信量
-访问控制列表工作原理:
实现访问控制列表的核心技术是包过滤
通过分析IP数据包包头信息,进行判断;利用4个元素定义规则:源地址;目的地址;源端口;目的端口
-访问控制留别入与出:
使用命令ip access-group将ACL应用到某一个接口上:
Router(config-if)#ip access-group access-list-number {in| out}
*在接口的一个方向上,只能应用一个access-list
-Deny和Permit命令:
Router(config)#access-list access-list-number {permit |deny} {test conditions}
*permit:允许数据报通过应用了访问控制列表的接口;deny:拒绝数据包通过
-使用通配符any和host
通配符any可代替0.0.0.0 255.255.255.255
Host表示检查IP地址的所有位
-访问控制列表的种类:
l
基本类型的访问控制列表:标准访问控制列表;扩展访问控制列表
l
其他种类的访问控制列表:基于MAC地址的访问控制列表;基于时间的访问控制列表
-标准访问控制列表
根据数据包的源IP地址来允许或拒绝数据包;访问控制列表号从1到99
只使用源地址进行过滤,表明是允许还是拒绝
-标准访问控制列表的配置
第一步,使用access-list命令创建访问控制列表:
Router(config)#access-list access-list-number {permit |deny} source [source-wildcard] [log]
第二步,使用ip access-group命令把访问控制列表应用到某接口
Router(config-if)#ip access-group access-list-number {in| out}
-扩展访问控制列表:
基于源和目的地址、传输层协议和应用端口号进行过滤;每个调都必须匹配,才会施加允许或拒绝条件;使用扩展ACL可实现更加精确的流量控制;访问控制列表号从100到199
使用更多的信息描述数据包,表明是允许还是拒绝
-部分端口号的描述和使用的协议
端口号 |
关键字 |
描述 |
TCP/UDP |
20 |
FTP-DATA |
(文件传输协议)FTP数据 |
TCP |
21 |
FTP |
(文件传输协议)FTP |
TCP |
23 |
TELNET |
终端连接 |
TCP |
25 |
SMTP |
简单邮件传输协议 |
TCP |
42 |
NameServer |
主机名字服务器 |
UDP |
53 |
Domain |
域名服务器(DNS) |
TCP/UDP |
69 |
TFTP |
普通文件传输协议(TFTP) |
UDP |
80 |
WWW |
万维网 |
TCP |
-扩展访问控制列表的配置
第一步,使用access-list命令创建扩展访问控制列表
Router(config)#access-list access-list-number {permit| deny} protocol [source source-wildcard destinationdestination-wildcard] [operator port] [established] [log]
-扩展访问控制列表操作符的含义:
操作符及语法 |
意义 |
eq portnumber |
等于端口号portnumber |
gt portnumber |
大于端口号portnumber |
lt portnumber |
小于端口号portnumber |
neq portnumber |
不等于端口号portnumber |
第二步,使用ip access-group命令将扩展访问控制列表应用到某接口
Router(config-if)#ip access-group access-list-number {in| out}
-命名的访问控制列表:
l
标准ACL和扩展ACL中可以使用一个字母数字组合的字符串(名字)代替来表示ACL的表号
l
命名IP访问列表允许从指定的访问列表删除单个条目
l
如果天假一个条目到列表中,那么该条目被添加到列表末尾
l
不能以同一个名字命名多个ACL
l
在命名的访问控制列表下,permit和deny命令的语法格式与前述有所不同
-配置命名的访问控制列表:
第一步,创建命名访问控制列表:
Router(config)#ip access-list extended ACL-name
第二步,指定一个或多个permit及deny条件:
Router(config-ext-nacl)#{permit | deny} protocolip-address {eq | gt | lt | neq}portnumber
第三步,应用到接口的出入站方向
Router(config-if)#ip access-group ACL-name {in| out}
-查看访问控制列表:
查看接口详细信息:
Router#show ip interface type slot/port
查看访问列表:
Router#show access-list