ACL(Access Control List)访问控制列表:可以基于3层、4层的数据做过滤

1.ACL(Access Control List)访问控制列表:可以基于3层、4层的数据做过滤。
ACL的工作原理(匹配规则):
按照从上到下依次匹配;
如果有一条一旦匹配完成,就不再进行后续报文的匹配;
隐含的一条是拒绝所有;
ACL中最少要有一条允许的条目,否则没有意义;

2.ACL的分类:标准ACL和扩展ACL
(1)标准访问控制列表
基于源IP地址过滤数据包
标准访问控制列表的访问控制列表号是1~99
(2)扩展访问控制列表
基于源IP地址、目的IP地址、指定协议、端口和标志来过滤数据包
扩展访问控制列表的访问控制列表号是100~199

3.标准ACL的配置:
(1)基本格式:
Router(config)#access-list 编号 { permit允许| deny拒绝 } source 通配符掩码
通配符掩码:是用来对Ip地址进行匹配的,用0表示精确匹配(必须匹配),用“1”表示模糊匹配(可以不匹配)

   access-list  1  permit   192.168.1.0   0.0.0.255    ====>匹配流量:192.168.1.0/24
  access-list  1  permit   192.168.2.2   0.0.0.0    ====>匹配流量是一个主机:192.168.2.2
  access-list  1  permit   host   192.168.2.2       =====>匹配一个主机的流量
  access-list  1  deny     0.0.0.0 255.255.255.255 ====>access-list 1  deny  any  拒绝所有流量




  
  access-list  10  permit   192.168.1.1  0.0.0.0           //允许192.168.1.1主机地址(1)
  access-list  10  deny     192.168.1.0  0.0.0.255        //拒绝192.168.1.0/24这个网段(2)
  access-list  10  permit   172.16.0.0   0.0.255.255    //允许172.16.0.0/16这个网段(3)
  access-list  10  deny     host  192.168.2.3            //拒绝主机192.168.2.3(4)
  access-list  10  permit   10.0.0.0  0.0.0.255            //允许10.0.0.0/24这个网段(5)
  access-list  10  deny     192.168.0.0  0.0.255.255    //拒绝192.168.0.0/16这个网段(6)
  
  192.168.1.1/24====》允许===》1
  192.168.2.3/24====》拒绝===》4
  192.168.2.2/24====》拒绝===》6
  192.168.10.10/24===》拒绝===》6
  192.168.30.20/24===》拒绝===》6
  200.1.1.1/24=======》拒绝===》隐含的一条拒绝所有
  101.1.1.1/24=======》拒绝===》隐含的一条拒绝所有
  10.5.5.5/24========》拒绝===》隐含的一条拒绝所有
  10.3.3.3/16========》拒绝===》隐含的一条拒绝所有
  10.6.6.6/8=========》拒绝===》隐含的一条拒绝所有
  10.0.0.1/24========》允许===》5
  34.1.1.1/24========》拒绝===》隐含的一条拒绝所有

(2)ACL的配置步骤:ACL的书写规则就是让范围小的条目尽量靠前。
第一步:定义ACL
第二步:应用到接口——————尽量应用到入接口。

  特别说明:ACL只有应用到接口,才会生效。
 
    int  f0/1
  ip   access-group   编号  in/out    




  第三步;检查ACL的匹配情况

Router#show access-lists //match表示匹配了该条目
Standard IP access list 10
10 permit host 192.168.1.1 (4 match(es))

扩展ACL

1.扩展ACL:可以基于源目Ip、源目端口、协议来对数据流量做过滤。
举例1;定义一个ACL,编号为101,拒绝192.168.1.0/24 到达 192.168.2.2 的FTP服务
Router(config)# access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21
举例2:定义ACL101,拒绝192.168.1.0/24访问192.168.2.2的ICMP服务
access-list 101 deny icmp 192.168.1.0 0.0.0.255 host 192.168.2.2
举例3:允许或拒绝所有流量
access-list 101 permit ip any any //第一个any是源,第二个any是目标
2.实验举例:

R2(config)#access-list 100 permit tcp host 192.168.1.1 host 192.168.2.3 eq 80
R2(config)#access-list 100 deny   ip host  192.168.1.1 host 192.168.2.3
R2(config)#access-list 100 permit icmp host 192.168.1.1 host 192.168.2.1
R2(config)#access-list 100 deny   icmp host 192.168.1.1 host 192.168.2.2
R2(config)#access-list 100 permit tcp host 192.168.1.2 host 12.1.1.2 eq telnet




interface Serial0/2/0
 ip address 12.1.1.2 255.255.255.252        //配置IP
 encapsulation ppp            //设置封装格式
 ip access-group 100 in    //应用到接口
 clock rate 4000000           //设置时钟频率,给客户端分配的带宽

检查命令:show   access-lists   


如果删除某条ACL,就要使用命名ACL的规则:
R2(config)#ip access-list extended 100   //extended表示修改扩展ACL,编号为100
R2(config-ext-nacl)#no 80            //删除ACL条目编号为80


补充特殊的ACL:FTP的被动模式
access-list 100 permit tcp host 192.168.1.2 host 192.168.2.3 eq ftp   //放行192.168.1.2到192.168.2.3的TCP-21,FTP控制连接
access-list 100 permit tcp host 192.168.1.2 host 192.168.2.3 range 1024 65535        //放行数据连接,目标端口号为大于1024的范围

远程登录配置:
R2(config)#line vty 0 4
R2(config)#password 123456
R2(config)#login
R2(config)#enable password 123456

扩展ACL.pkt
105.1 KB

3.常见服务和端口的对应关系
UDP服务:DHCP(udp-67,68)、DNS(udp-53)、NTP(udp-123,用于linux中的时间同步)
TFTP(udp-69)
TCP服务:
FTP(tcp-21和20)
http(tcp-80);https(tcp-443)
远程桌面RDP(tcp-3389)
Telnet(tcp-23)
MySQL(tcp-3306)
ssh(tcp-22)
SMTP(tcp-25)
POP3(tcp-110)
共享(tcp-445)

你可能感兴趣的:(ACL(Access Control List)访问控制列表:可以基于3层、4层的数据做过滤)