ACL访问控制列表

丶灬走出姿态 提交于 2019-11-26 05:17:38

ACL的规则

1. 从上到下依次匹配
2. 一旦被某条ACL匹配,则停止查找
3. 依照上两条规则,ACL的精确或者严格规则写在最上面
4. 默认的ACL包含隐藏一条deny all ,即默认情况是拒绝所有数据
5.acl是作用在接口上的

ACL的类型

1. 标准ACL
    .检查源地址
	.通常允许或拒绝整个协议簇
	.编号范围1-99或者1300-1999

简单的说就是控制某个IP能不能上网

2. 扩展ACL
    .检查源地址和目的地址
	通常允许或拒绝特定协议和应用程序
	编号范围100-199 或者2000-2699

简单的说就是可以控制某个IP能不能访问QQ或者WEB或者MAIL


标准 ACL的命令语法

编号命名方法

1.允许某个网段或者主机数据流量,其他的均不可以
  Router(confgi)#access-list 1 permit 172.16.0.0 0.0.255.255
 //即acl编号为1的标准ACL,允许源IP 172.16.0.0/16位(反掩码)的IP数据通过 ,注意有一条隐式拒绝所有,所以目前是只允许172.16.0.0.
//此条只是已经声明了ACL规则,但是还没有在接口下调用
Router(confgi)#int e0/0
Router(confgi)ip access-group 1 out
//调用ACL规则,out代表出口
2.拒绝某个主机流量,其他的都可以

Router(confgi)#access-list 1 deny 172.16.4.13 0.0.0.0 //拒绝主机
Router(confgi)#access-list 1 permit any //运行其他所有,不写的话有一条隐式拒绝所有,所以必须写
Router(confgi)int e0/0
Router(confgi)#ip access-group 1 out //进入接口调用规则

VTY控制ACL
Router(confgig)access-list 1 permit 192.168.1.1 0.0.0.0 
Router(confgig)line vty 0 4
Router(confgig)access-class 1 in

标准命名方法

Router(confgi)# ip access-list standard name   //注意前面有个IP 
Router(confgi-std-nacl)#deny host 172.16.4.13 //host后加IP带边此主机地址等同于172.16.4.13 0.0.0.0.0
Router(confgi-std-nacl)#permit 172.16.4.0 0.0.0.0.255`
Router(confgi-std-nacl)#int e0/0
Router(confgi-if)#ip access-group name out

扩展ACL的命令语法

Router(confgi)#access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21
//编号为101的扩展ACL ,拒绝子网172.16.4.0 到目的子网172.16.3.0的 21端口号的数据流量
//如果端口号21写在源地址的后面就是拒绝源地址主机的21端口的流量
Router(confgi-std-nacl)#access-list 101 permit ip any any 
//允许所有
Router(confgi-std-nacl)int e0/0
Router(confgi-std-nacl)#ip access-group 101 out   //调用
简单的来说编号语法就是 access-list+编号+deny/permit+协议/IP+源地址+目的地址+eq+端口号
简单的来说命名语法就是
                       ip access-list+extended+名称
                       deny tcp 172.16.4.0 0.0.0.255 any eq 23
					   permit ip any any
					   int e0/0
					   ip access-group name out

查看ACL规则命令

Router(config)#show access-list 

ACL的条目后面有(25matches)这样的代表有25的数据包被此ACL规则匹配到
10 20 30 40 代表ACL规则的顺序

插入规则

Router(config)#ip access-list standard/exteded 1/name   //进入编号1或者某个标准火扩展的规则中
Router(config-std-nacl)#15 permit host 1.1.1.1   //在10和20条目之间插入15条目的规则

删除ACL规则命令

删除整条ACL命令
Router(config)#no access-list 1   //删除编号为1的规则
删除某组内的某条ACL规则
Router(config)#ip access-list standard/exteded 1/name   //进入编号1或者某个标准火扩展的规则中`
Router(config-std-nacl)#no 30   //删除第30行的规则

删除接口下的ACL规则命令

Router(config)# int e0/0
Router(config)#no ip access-group 1 out 
acl的注释 ip acces-list standerd/extended name remark +注释内容

ACL配置的指导原则

·标准ACL应靠近目的地址
·扩展ACL应靠近源地址
ACl规则只会对穿过的数据流量生效,所以在R1上做的规则以R1的IP为源地址是不生效的,简单说就是控制R1的规则不能做在R1上
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!