欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ACL访问控制列表

程序员文章站 2024-02-28 17:44:28
...

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上
相关标签: ACL