ACL(Access Control List):访问控制列表!
它不是一种协议,是一个技术!
接口调用方向的建议:
1.基本ACL尽量调用在离目标最近的出站接口
2.高级ACL尽量调用在离源头最近的入站接口
通配符掩码:匹配ACL控制的范围,0代表此位置不可以变化,1代表此位置可以变化。0也就是精确控制,1代表任意控制。
ACL可以通过定义规则来允许或拒绝流量的通过。
ACL工作原理:
acl number 2000
rule 5 permite source 192.168.1.0 0.0.0.255
解释:规则 规则编号 动作 源地址。允许源地址是192.168.1.0/24这个网段的所有流量通过。
ACL由一条或多条规则组成。每条规则必须选择动作。允许或拒绝
每条规则都有一个id序列号,默认是5,步长是5.序列号越小越先进行匹配。一旦匹配到就停止查找,称为命中规则。查完后如果没有符合条件的规则,则称为未命中。
ACL创建后要应用到某个接口上才生效。选择入接口还是出接口。
先细后粗,规则先细节先小,后粗后大
1 拒绝172.16.1.1/24这台主机访问xxx 1 deny 172.16.1.1
2 允许172.16.1.0/24可以访问xxx 2 permit 172.16.1.0
类型:基本ACL、高级ACL和二层ACL。这里只做基本和高级介绍
分类 | 编号范围 | 参数 |
基本ACL | 2000-2999 | 源IP地址等 |
高级ACL | 3000-3999 | 源IP地址,目的IP地址,源端口,目的端口等 |
举例:192.168.1.1 0.0.0.0精确匹配,代表这一个IP地址
192.168.1.0 0.0.0.255 网段匹配,代表192.168.1.0/24这个网段的流量
xxx.xxx.xxx.xxx 255.255.255.255代表所有的任意地址,2^32个
192.168.1.1 0.0.0.254 代表网段内的奇数地址
192.168.1.00000001
0.0.0.11111110 ,0是精确匹配,第一位必须是1才行,也就是奇数
192.168.1.0 0.0.0.254 代表网段内的偶数地址
192.168.1.00000000
0.0.0.11111110 ,0是精确匹配,第一位必须是0才行,也就是偶数
基本ACL实验拓扑:
配置acl:使得192.168.10.0这个网段在G0/0/1接口出不去
路由器做一个单臂路由
[R1]acl 2000 #基本ACL
rule 5 deny source 192.168.10.0 0.0.0.255 #拒绝192.168.10.0/24这个网段
rule 10 deny source 192.168.30.0 0.0.0.255
int G0/0/1
traffic-filter outbound acl 2000 #应用到G0/0/1口,即路由器的出口方向
此时,PC1所在的网段都不能从G0/0/1这个口出去了。
高级ACL实验拓扑:
开启HTTP服务;文件随便选一个目录,点启动
此时PC1可以ping通服务器,客户机也可以正常访问服务器。
现在利用高级ACL禁止客户机访问服务器的www(80)服务
在路由器上配置高级ACL
acl 3000
rule 5 deny tcp source 192.168.1.2 0 destination-port eq 80 #拒绝原IP192.168.1.2的地址利用TCP协议访问目的端口号为80的服务。
此时由于是拒绝的TCP协议,ping服务器还是能ping通的(ping是ICMP协议)。此时客户机上访问服务器的http服务失败。