什么是ACL?

ACL全称访问控制列表(Access Control List),主要通过配置一组规则进行过滤路由器或交换机接口进出的数据包,

是控制访问的一种网络技术手段, ACL适用于所有的被路由支持的协议,如IP、tcp、udp、ftp、www等。

什么是反掩码?

反掩码就是通配符掩码 , 通过标记0和1告诉设备应该匹配到哪位。 在反掩码中,相应位为1的地址在比较中忽略,

为0的必须被检查。IP地址与反掩码都是32位的数 由于跟子网掩码刚好相反,所以也叫反掩码 。

路由器使用的通配符掩码与源或目标地址一起来分辨匹配的地址范围,它与子网掩码不同。它不像子网掩码告诉

路由器IP地址是属于哪个子网(网段),通配符掩码告诉路由器为了判断出匹配,它需要检查IP地址中的多少位。

例如:

255.255.255.0 反掩码(wildcard-mask)就是0.0.0.255

255.255.255.248  反掩码(wildcard-mask)就是0.0.0.7

ACL工作原理:

ACL使用包过滤技术,在路由器上读取OSI七层模型的第3层和第4层包头中的信息。如源地址,目标地址,源端口,目标端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。

对于路由器接口而言,ACL是有两个方向:

注意:如果发现没有匹配的ACL规则,默认会丢弃该数据包,思科ACL规则默认会有一条隐藏的deny any any规则,而华三ACL规则默认是permit any any规则。

入站----如果是入站访问列表,则当路由器接收到数据包时,Cisco IOS 软件将检查访问列表中的条件语句,看是否有匹配。如果数据包被允许,则软件将继续处理该数据包。如果数据包被拒绝,则软件会丢弃该数据包。

出站----如果是出站访问列表,则当软件到接收数据包并将群其路由至出站接口后,软件将检查访问列表中的条件语句,看是否有匹配。如果数据包被允许,则软件会发送该数据包。如果数据包被拒绝,则软件会丢弃该数据包。

ACL两种类型:

标注:允许在标准ACL和扩展ACL中使用名称代替访问控制列表号。

1、 标准的ACL

根据数据包的源IP地址来控制允许转发或拒绝数据包,访问控制列表号1~99。

标准访问控制列表配置命令如下:

Router(config)#access-list access-list-number {permit|deny} source [souce-wildcard]

或者

Router(config)#ip access-list standard access-list-number

Router(config-std-nacl)#Sequence Number{permit|deny} source [souce-wildcard]

下面是命令参数的详细说明

access-list-number:访问控制列表号,标准ACL取值是1-99,可以使用名称替代列表号。

Sequence Number:每条ACL规则列表序列号,可使用范围1-2147483647。

permit | deny:如果满足规则,则允许/拒绝通过。

source:数据包的源地址,可以是主机地址,也可以是网络地址

2、 扩展的ACL

根据数据包的源IP地址、目的IP地址、指定协议,端口、标志和时间来控制允许转发或拒绝数据包,访问控制列表号100~199

扩展访问控制列表配置命令如下:

Router(config)#access-list access-list-number {permit|deny} protocol {source souce-wildcard destination destination-wildcard} [operator operan]

或者

Router(config)#ip access-list extended access-list-number

Router(config-std-nacl)#{permit|deny} protocol {source souce-wildcard destination destination-wildcard} [operator operan]

下面是命令参数的详细说明

access-list-number:访问控制列表号,扩展ACL取值100-199,可以使用名称替代列表号。

Sequence Number:每条ACL规则列表序列号,可使用范围1-2147483647。

permit|deny:如果满足规则,则允许/拒绝通过。

protocol:用来指定协议的类型,如IP,TCP,UDP,ICMP等。

source、destination:源和目的,分别用来标示源地址和目的地址。

souce-wildcard、destination-wildcard:子网反码,souce-wildcard是源反码,destination-wildcard是目标反码。

operator operan:lt(小于)、gt(大于)、eq(等于)、neq(不等于)、rand(范围端口号)等。

ACL应用分类:

Port ACL基于MAC的ACL

ACL应用在二层接口上,但二层接口只支持in方向,一个接口只能使用一条ACL规则,IP或MAC的ACL都可以应用到二层接口,但不能应用到端口聚合(EtherChannel)

VLAN ACL基于VLAN的ACL

使用VLAN与VLAN之间的ACL,相同的VLAN也是可以过滤,只要流量进入或离开指定的VLAN都会被过滤,可以同时控制二层与三层流量。

VLAN ACL只是VLAN调用了ACL规则,in或out的VLAN流量都会被检测,无论是通过二层转发还是三层转发。VLAN ACL是不能定义方向的,

虽然VLNA调用ACL规则会有in或out选项,但只针对VLAN源地址和目标地址而言。VLAN调用ACL是不能实现vlan 10 ping不通vlan 20,

但vlan 20 ping通vlan10类似的功能,除非交换机支持自反ACL规则。

Router ACL基于 IP 的ACL

ACL应用到三层接上,但只能是IP ACL,不能是MAC ACL,Router ACL是in和out方向都可以使用,每个接口每个方向只能使用一条ACL规则。

Time ACL基于时间的ACL

Time ACL是在原来的ACL规则上增加的功能,可以应用于二层或三层,在原来的ACL规则和时间相结合使用,控制起来将更加灵活多变。

实例(VLAN ACL)

注意:配置VLAN  ACL需要注意以下问题:

1、VLAN ACL不能具体定义入站和出站规则,VLANACL的in和out是针对VLAN的本身而言,ACL源地址与应用的VLAN相同网段时,

就使用in方向,如果ACL目标地址与应用的VLAN相同网段时,就使用out方向。

2、当数据包匹配思科ACL规则发现没有匹配的规则,则会匹配思科ACL默认一条隐藏的deny any any规则,默认丢弃该数据包。

3、如果你删除access-list-number访问控制列表号,则access-list-number里的所有会被清除,建议进入每条access-list-number

后在根据需求删除相应的序列号。

4、ACL规则是按从上到下进行匹配,如果先匹配了后面就不会再进行匹配。

需求如下:

1、 实现VLAN 10 与VLAN 20不能相互访问,VLAN 10 能访问VLAN 30。

2、VLAN 30 服务器192.168.30.30只允许VLAN 20主机192.168.20.20访问www服务(80端口),其它服务都不能访问,其它VLAN 20的所有IP地址都不能访问。

3、VLAN 30 服务器192.168.30.31允许VLAN 20所有主机访问ftp服务(21端口),其它服务都不能访问。

设计思路:

1、 一台核心思科3560交换机,三台汇聚思科2960交换机

2、 3560交换机配置VTP、VLAN、trunk

3、 VLAN 30服务器192.168.30.30开启www服务,服务器192.168.30.31开启ftp

实验拓扑图:

核心交换机3560SW

##配置VTP服务器

3650SW>enable

3650SW#vlan database

3650SW(vlan)#vtp domain CCTV

3650SW(vlan)#vtp server

##创建VLAN

3650SW(vlan)#vlan 10 name VLAN10

3650SW(vlan)#vlan 20 name VLAN20

3650SW(vlan)#vlan 30 name VLAN30

3650SW(vlan)#exit

##配置VLAN IP地址

3650SW#configure terminal

3650SW(config)#interface vlan 10

3650SW(config-if)#ip address 192.168.10.1 255.255.255.0

3650SW(config-if)#exit

3650SW(config)#interface vlan 20

3650SW(config-if)#ip address 192.168.20.1 255.255.255.0

3650SW(config-if)#exit

3650SW(config)#interface vlan 30

3650SW(config-if)#ip address 192.168.30.1 255.255.255.0

3650SW(config-if)#exit

##开启三层交换机默认路由

3560SW(config)#ip routing

#设置端口汇聚(trunk)

3650SW(config)#interface range fastEthernet 0/22-24

3650SW(config-if-range)#3650SWport trunk encapsulation dot1q

3650SW(config-if-range)#3650SWport mode trunk

3650SW(config-if-range)#no shutdown

3650SW(config-if-range)#exit

#创建扩展ACL规则101和102并配置

说明:ACL限制某个服务或端口一般使用以下命令限制:

3560SW(config-ext-nacl)#permit tcp host 192.168.30.30 host 192.168.20.20 eq www

但Cisco Packet Tracer Student模拟软件配置了会有异常,所以,本教程采用全部放开配置。

3560SW#configure terminal

##下面两条命令等同access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255

3560SW(config)#ip access-list extended 101

3560SW(config-ext-nacl)#10 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255

3560SW(config-ext-nacl)#exit

3560SW(config)#ip access-list extended 102

3560SW(config-ext-nacl)#10 permit tcp host 192.168.20.20 host 192.168.30.30 eq www

3560SW(config-ext-nacl)#20 permit tcp 192.168.20.0 0.0.0.255 host 192.168.30.31 eq ftp

3560SW(config-ext-nacl)#30 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255

3560SW(config-ext-nacl)#exit

3560SW(config-if)#exit

##ACL规则应用在vlan 10的in接口

3560SW(config)#interface vlan 10

3560SW(config-if)#ip access-group 101 in

3560SW(config-if)#exit

##ACL规则应用在vlan 30的in接口

3560SW(config)#interface vlan 30

3560SW(config-if)#ip access-group 102 out

3560SW(config-if)#exit

##显示与维护

3560SW#show access-lists

3650SW#show running-config

2960交换机SW01

##配置VTP客户端

SW01#vlan database

SW01(vlan)#vtp domain CCTV

SW01(vlan)#vtp client

SW01(vlan)#exit

##设置端口汇聚(trunk)

SW01#configure terminal

SW01(config)#interface fastEthernet 0/24

SW01(config-if)#switchport mode trunk

SW01(config-if)#no shutdown

SW01(config-if)#exit

##分配VLAN所属端口

SW01#configure terminal

SW01(config)#interface range fastEthernet 0/1-5

SW01(config-if-range)#switchport access vlan 10

SW01(config-if-range)#switchport mode access

SW01(config-if-range)#no shutdown

SW01(config-if-range)#exit

2960交换机SW02

##配置VTP客户端

SW01#vlan database

SW01(vlan)#vtp domain CCTV

SW01(vlan)#vtp client

SW01(vlan)#exit

##设置端口汇聚(trunk)

SW01#configure terminal

SW01(config)#interface fastEthernet 0/24

SW01(config-if)#switchport mode trunk

SW01(config-if)#no shutdown

SW01(config-if)#exit

##分配VLAN所属端口

SW01#configure terminal

SW01(config)#interface range fastEthernet 0/1-5

SW01(config-if-range)#switchport access vlan 20

SW01(config-if-range)#switchport mode access

SW01(config-if-range)#no shutdown

SW01(config-if-range)#exit

2960交换机SW03

##配置VTP客户端

SW01#vlan database

SW01(vlan)#vtp domain CCTV

SW01(vlan)#vtp client

SW01(vlan)#exit

##设置端口汇聚(trunk)

SW01#configure terminal

SW01(config)#interface fastEthernet 0/24

SW01(config-if)#switchport mode trunk

SW01(config-if)#no shutdown

SW01(config-if)#exit

##分配VLAN所属端口

SW01#configure terminal

SW01(config)#interface range fastEthernet 0/1-5

SW01(config-if-range)#switchport access vlan 30

SW01(config-if-range)#switchport mode access

SW01(config-if-range)#no shutdown

SW01(config-if-range)#exit

Cisco VLAN ACL配置的更多相关文章

  1. CISCO VLAN ACL

    对于cisco VLAN ACL 首先得定义 standard ACL或 extented ACL用于抓取流量 注意这里的抓取流量不是最终的对流量的操作,而是决定什么样的流量用VLAN ACL 来处理 ...

  2. 绝对实用 NAT + VLAN +ACL管理企业网络

    在企业中,要实现所有的员工都能与互联网进行通信,每个人各使用一个公网地址是很不现实的.一般,企业有1个或几个公网地址,而企业有几十.几百个员工.要想让所有的员工使用这仅有的几个公网地址与互联网通信该怎 ...

  3. Cisco ASA 高级配置

    Cisco ASA 高级配置 一.防范IP分片攻击 1.Ip分片的原理: 2.Ip分片的安全问题: 3.防范Ip分片. 这三个问题在之前已经详细介绍过了,在此就不多介绍了.详细介绍请查看上一篇文章:I ...

  4. cisco 的ACL

    搞网络好几年了,怎么说呢,水平一直停留在NA-NP之间,系统的学完NA后,做了不少实验,后来也维护了企业的网络,各种网络设备都玩过(在商汤用的Juniper srx 550 我认为在企业环境,非IDC ...

  5. vlan trunk配置

    vlan trunk配置 Trunk:中继干道 作用:一条链路能承载多个vlan的流量,并对不同vlan的流量进行不同标记 trunk能够使vlan跨越交换机 PT配置 配置vlan:两台交换机同样的 ...

  6. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  7. 基于端口的VLAN典型配置指导

    本文为转发,简单明了,我喜欢 VLAN典型配置全过程如下: 组网图 图1-1 基于端口的VLAN组网示意图 应用要求 如图1-1所示,Switch A和Switch B分别连接了不同部门使用的Host ...

  8. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

  9. consul之:ACL配置使用

    consul自带ACL控制功能,看了很多遍官方文档,没有配置步骤https://www.consul.io/docs/internals/acl.html 主要对各种配置参数解释,没有明确的步骤,当时 ...

随机推荐

  1. php 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部.POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体.PUT: 从客户端向服务器传送的数据取代指定的文档 ...

  2. 解决angular页面值闪现问题

    <body ng-app="ngAnimate"ng-cloak></body> <input type="checkbox" n ...

  3. Linux 下 make 命令 及 make 笔记

    Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...

  4. php 抽象类 静态 单体设计模式

    php oop----抽象类 抽象类机制使得子类可共用基类的某些信息,具体细节会留给子类,典型用在这样情形中,抽象类并不定义全部的方法,部分方法的实现推迟到子类继承抽象类时.它是介于接口和具体类间的一 ...

  5. jsp get参数乱码问题

    摘自:username2.iteye.com/blog/1597917个人理解中文传送的时后需要转码: js代码: 要进行两次转码才不会出现乱码(默认为UTF-) encodeURI(encodeUR ...

  6. Android笔记(四):RecyclerView

    RecyclerView是ListView的增强版.有了它之后,你就可以抛弃ListView了. recycle,重复利用.在ListView里,我们得自己写重复利用View的代码,而Recycler ...

  7. spring cloud: 升级到spring boot 2.x/Finchley.RELEASE遇到的坑

    spring boot2.x已经出来好一阵了,而且spring cloud 的最新Release版本Finchley.RELEASE,默认集成的就是spring boot 2.x,这几天将一个旧项目尝 ...

  8. javascript 原生常用api 数组方法大全

     <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. Java调用使用SSL/HTTPS协议来传输的axis webservice服务

    使用SSL/HTTPS协议来传输 Web服务也可以使用SSL作为传输协议.虽然JAX-RPC并没有强制规定是否使用SSL协议,但在tomcat 下使用HTTPS协议. 1.使用JDK自带的工具创建密匙 ...

  10. WebSocket——为Web应用带来桌面应用般的灵活性【转载+整理】

    原文地址 本文内容 WebSocket 简介 浏览器端的 JavaScript 实现 Java 端的 WebSocket 实现 对 Web 应用的重新思考 使用WebSocket时所需注意的要点 We ...