思科CISCO ACL配置详解

访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定 义好的规则对包进行过滤,从而达到访问控制的目的。该技术初期仅在路由器上支持,近些年来已经扩展到三层交换机,部分最新的二层交换机也开始提供ACL的 支持了。

访问控制列表的原理:

1、对路由器接口来说有两个方向:

入:已经到达路由器接口的数据包,但是还没有被路由器处理。

出:已经 经过路由器的处理,正要离开路由器接口的数据包

2、匹配顺序为:"自上而下,依次匹配"。默认为拒绝

3、访问控制列表的类型:

  • 标准访问控制列表:一般应用在out出站接口。建议配置在离目标端最近的路由上
  • 扩展访问控制列表:配置在离源端最近的路由上,一般应用在入站in方向
  • 命名访问控制列表:允许在标准和扩展访问列表中使用名称代替表号

4、访问控制列表使用原则

(1)、最小特权原则

只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。

(2)、默认丢弃原则

在CISCO路由交换设备中默认最后一句为ACL中加入了DENY ANY ANY,也就是丢弃所有不符合条件的数据包。这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。

(3)、最靠近受控对象原则

所有的网络层访问权限控制。也就是说在检查规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。

由于ACL是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息,这种技术具有一些固有的局限性,如无法识别到具体的人,无法 识别到应用内部的权限级别等。因此,要达到端到端的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。

下面分别介绍3种类型的访问控制列表

一、标准访问列表

访问控制列表ACL分很多种,不同场合应用不同种类的ACL.其中最简单的就是标准访问控制列表,标准访问控制列表是通过使用IP包中的源IP地址进行过滤,使用访问控制列表号1到99来创建相应的ACL。

它的具体格式:

access-list access-list-number [permit | deny ] [sourceaddress][wildcard-mask]

access-list-number 为1-99 或者 1300-1999之间的数字,这个是访问列表号。

例如:

  1. access-list 10 deny host 192.168.1.1  //将所有来自192.168.1.1地址的数据包丢弃。  

当然我们也可以用网段来表示,对某个网段进行过滤。命令如下:

  1. access-list 10 deny 192.168.1.0 0.0.0.255  

 

通过上面的配置将来自192.168.1.0/24的所有计算机数据包进行过滤丢弃。为什么后头的子网掩码表示的是0.0.0.255呢?这是因为CISCO规定在ACL中用反向掩玛表示子网掩码,反向掩码为0.0.0.255的代表他的子网掩码为255.255.255.0。

对于标准访问控制列表来说,默认的命令是HOST,也就是说access-list 10 deny 192.168.1.1表示的是拒绝192.168.1.1这台主机数据包通讯,可以省去我们输入host命令。

标准访问列表配置实例

  1. R1(config)#access-list 10 deny 192.168.100.0 0.0.0.255   
  2. R1(config)#access-list 10 permit any   
  3. R1(config)#int fa0/0.1   
  4. R1(config-subif)#ip access-group 10 out  

说明:

阻止来自网段192.168.100.0的机器从int fa0/0.1端口出去,访问列表在配置好之后,要把它在端口上应用,否则配置了还是无效的。

注意事项:

1、标准访问列表,一般来说配置尽量靠近目的端。

2、配置的第二条命令中的any相当于 0.0.0.0 255.255.255.255

3、一定要加pemint any,使其他的网络可通。

4、访问列表是从上到下一条一条进行匹配的,所以在设置访问列表的时候要注意顺序。如果从第一条匹配到最后一条还是不知道要怎么做,路由器就会丢弃这个数据包,也就是为什么上面的例子中上一定要加permit any.

5、如果只阻止一个主机,那可以用 host 192.168.1.12 或者 192.168.1.12 0.0.0.0,这两种配置是等价的。

删除已建立的标准ACL  

R1(config)#no access-list   <access-list number>

对标准的ACL来说,不能删除单个acl语句,只能删除整个ACL

总结:标准ACL占用路由器资源很少,是一种最基本最简单的访问控制列表格式。应用比较广泛,经常在要求控制级别较低的情况下使用。如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求。

二、扩展访问控制列表

上面我们提到的标准访问控制列表是基于IP地址进行过滤的,是最简单的ACL.那么如果我们希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。这时候就需要使用扩展访问控制列表了。使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如WWW,FTP等)。扩展访问控制列表使用的ACL号为100到199。

扩展访问控制列表的格式:

access-list access-list number {permit/deny} protocol +源地址+反码 +目标地址+反码+operator operan(it小于,gt大于,eq等于,neq不等于。具体可?)+端口号

1、扩展访问控制列表号的范围是100-199或者2000-2699。

2、不同的服务要使用不同的协议,比如TFTP使用的是UDP协议。

3、因为默认情况下,每个访问控制列表的末尾隐含deny all,所以在每个扩展访问控制列表里面必须有:access-list 110 permit ip any any 。

4、更多注意事项可以参考上面标准访问控制列表部分。

例如:

  1. access-list 101 deny tcp any host 192.168.1.1 eq www //将所有主机访问192.168.1.1这个地址网页服务(WWW)TCP连接的数据包丢弃。  

 

同样在扩展访问控制列表中也可以定义过滤某个网段,当然和标准访问控制列表一样需要我们使用反向掩码定义IP地址后的子网掩码。

扩展访问控制列表配置实例

  1. R2(config)#access-list 110 deny tcp any host 192.168.100.10 eq www   
  2. R2(config)#access-list 110 deny tcp any host 192.168.100.10 eq ftp   
  3. R2(config)#int fa0/0   
  4. R2(config-if#ip access-group 110 out  

上面配置的含义是拒绝访问192.168.100.10的www和ftp服务

实例二

路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24.在172.16.4.0/24网段中有一台服务器提供WWW服务,IP地址为172.16.4.13。

要求:禁止172.16.3.0的计算机访问172.16.4.0的计算机,包括那台服务器,不过惟独可以访问172.16.4.13上的WWW服务,而其他服务不能访问。

路由器配置命令:

  1. access-list 101 permit tcp any 172.16.4.13 0.0.0.0 eq www  //设置ACL101,容许源地址为任意IP,目的地址为172.16.4.13主机的80端口即WWW服务。由于CISCO默认添加DENY ANY的命令,所以ACL只写此一句即可。  

进入相应端口

  1. ip access-group 101 out //将ACL101应用到端口  

设置完毕后172.16.3.0的计算机就无法访问172.16.4.0的计算机了,就算是服务器172.16.4.13开启了FTP服务也无法访问,惟独可以访问的就是172.16.4.13的WWW服务了。

删除已建立的扩展标准ACL   

删除和标准一样,不能单条删除,只能删除整个acl

总结:扩展ACL功能很强大,他可以控制源IP,目的IP,源端口,目的端口等,能实现相当精细的控制,扩展ACL不仅读取IP包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口的IP.不过他存在一个缺点,那就是在没有硬件ACL加速的情况下,扩展ACL会消耗大量的路由器CPU资源。所以当使用中低档路由器时应尽量减少扩展ACL的条目数,将其简化为标准ACL或将多条扩展ACL合一是最有效的方法。

三、命名访问控制列表

不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL信息都删除。也就是说修改一条或删除一条都会影响到整个ACL列表。这一个缺点影响了我们的工作,为我们带来了繁重的负担。不过我们可以用基于名称的访问控制列表来解决这个问题。

命名访问控制列表格式:

ip access-list {standard/extended} <access-list-name>(可有字母,数字组合的字符串)

例如:

  1. ip access-list standard softer //建立一个名为softer的标准访问控制列表。  

命名访问控制列表使用方法:

  1. router(config)#ip access-list standard +自定义名   
  2. router(config-std-nac1)#11 permit host +ip //默认情况下第一条为10,第二条为20.如果不指定序列号,则新添加的ACL被添加到列表的末尾   
  3. router(config-std-nac1)#deny any  

对于命名ACL来说,可以向之前的acl中插入acl,删除也可以删除单条acl,

如:

  1. router(config)#ip access-list standard benet   
  2. router(config-std-nasl)#no 11  

使用show access-lists可查看配置的acl信息

总结:如果设置ACL的规则比较多的话,应该使用基于名称的访问控制列表进行管理,这样可以减轻很多后期维护的工作,方便我们随时进行调整ACL规则。

四、反向访问控制列表

反向访问控制列表属于ACL的一种高级应用。他可以有效的防范病毒。通过配置反向ACL可以保证AB两个网段的计算机互相PING,A可以PING通B而B不能PING通A.

说得通俗些的话就是传输数据可以分为两个过程,首先是源主机向目的主机发送连接请求和数据,然后是目的主机在双方建立好连接后发送数据给源主机。反向ACL控制的就是上面提到的连接请求。

反向访问控制列表的格式:

反向访问控制列表格式非常简单,只要在配置好的扩展访问列表最后加上established即可。

反向访问控制列表配置实例:

路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24.在172.16.4.0/24网段中的计算机都是服务器,我们通过反向ACL设置保护这些服务器免受来自172.16.3.0这个网段的病毒攻击。

要求:禁止病毒从172.16.3.0/24这个网段传播到172.16.4.0/24这个服务器网段。

路由器配置命令:

  1. access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.0 0.0.0.255 established //定义ACL101,容许所有来自172.16.3.0网段的计算机访问172.16.4.0网段中的计算机,前提是TCP连接已经建立了的。当TCP连接没有建立的话是不容许172.16.3.0访问172.16.4.0的。  

进入路由相应端口

  1. ip access-group 101 out //将ACL101应用到端口  

设置完毕后病毒就不会轻易的从172.16.3.0传播到172.16.4.0的服务器区了。因为病毒要想传播都是主动进行TCP连接的,由于路由器上采用反向ACL禁止了172.16.3.0网段的TCP主动连接,因此病毒无法顺利传播。

检验反向ACL是否顺利配置的一个简单方法就是拿172.16.4.0里的一台服务器PING在172.16.3.0中的计算机,如果可以PING通的话再用172.16.3.0那台计算机PING172.16.4.0的服务器,PING不通则说明ACL配置成功。

通过上文配置的反向ACL会出现一个问题,那就是172.16.3.0的计算机不能访问服务器的服务了,假如图中172.16.4.13提供了WWW服务的话也不能正常访问。解决的方法是在ESTABLISHED那句前头再添加一个扩展ACL规则,例如:

  1. access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.13 0.0.0.0 eq www  

这样根据"最靠近受控对象原则"即在检查ACL规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。172.16.3.0的计算机就可以正常访问该服务器的WWW服务了,而下面的ESTABLISHED防病毒命令还可以正常生效。

五、定时访问控制列表

设置步骤:

1、定义时间段及时间范围。

2、ACL自身的配置,即将详细的规则添加到ACL中。

3、宣告ACL,将设置好的ACL添加到相应的端口中。

定义时间范围的名称:

  1. router(config)#time-range time-range-name  

定义一个时间周期

  1. router(config-time-range)#periodic(周期) days-of-the-week hh:mm to [days-of-the-week] hh:mm  

其中days-of-the-week的取值有

Monday Tuesday Wednesday Thursday Friday Saturday Sunday{周一到周日}

daily(每天)weekdays(在平日)weekend(周末)

定义一个绝对时间

  1. router(config)#time-range time-range-name   
  2. router(config-time-range)#absolute [start hh:mm day month year] [end hh:mm day month year]  

在扩展ACL中引入时间范围

  1. router(config)#access-list access-list-number {permit|deny} protocol {source ip +反码 destination ip +反码 +operator+time-range+time-range-name}  

定时访问控制列表实例:

路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24.在172.16.4.0/24网段中有一台服务器提供FTP服务,IP地址为172.16.4.13.

要求:只容许172.16.3.0网段的用户在周末访问172.16.4.13上的FTP资源,工作时间不能下载该FTP资源。

路由器配置命令:

  1. time-range softer //定义时间段名称为softer   
  2. periodic weekend 00:00 to 23:59 //定义具体时间范围,为每周周末(6,日)的0点到23点59分。当然可以使用periodic weekdays定义工作日或跟星期几定义具体的周几。   
  3. access-list 101 deny tcp any 172.16.4.13 0.0.0.0 eq ftp time-range softer //设置ACL,禁止在时间段softer范围内访问172.16.4.13的FTP服务。   
  4. access-list 101 permit ip any any //设置ACL,容许其他时间段和其他条件下的正常访问。  

进入相应端口。

  1. ip access-group 101 out //应用到端口  

基于时间的ACL比较适合于时间段的管理,通过上面的设置172.16.3.0的用户就只能在周末访问服务器提供的FTP资源了,平时无法访问。

六、访问控制列表流量记录

网络管理员就是要能够合理的管理公司的网络,俗话说知己知彼方能百战百胜,所以有效的记录ACL流量信息可以第一时间的了解网络流量和病毒的传播方式。下面这篇文章就为大家简单介绍下如何保存访问控制列表的流量信息,方法就是在扩展ACL规则最后加上LOG命令。

实现方法:

  1. log 192.168.1.1 //为路由器指定一个日志服务器地址,该地址为192.168.1.1   
  2. access-list 101 permit tcp any 172.16.4.13 0.0.0.0 eq www log //在希望监测的扩展ACL最后加上LOG命令,这样就会把满足该条件的信息保存到指定的日志服务器192.168.1.1中。  

小提示:如果在扩展ACL最后加上log-input,则不仅会保存流量信息,还会将数据包通过的端口信息也进行保存。使用LOG记录了满足访问控制列表规则的数据流量就可以完整的查询公司网络哪个地方流量大,哪个地方有病毒了。简单的一句命令就完成了很多专业工具才能完成的工作。

DHCP配置 4 静态路由 6 浮动静态路由 6 向网络中注入一条默认路由 7 RIP 8 RIP的基本配置 8 被动接口与单播更新 10 RIPv2的基本配置 11 RIPv 2的手动汇总 13 RIPv2认证和触发更新 13 EIGRP配置 17 Eigrp的基本配置 17 eigrp路由汇总 19 eigrp的负载均衡 21 eigrp认证 23 OSPF 26 OSPF 基本配置 26 OSPF广播多路访问 28 OSPF基本认证 29 OSPF基于MD5的认证 30 OSPF基于链路的MD5认证 31 OSPF基于链路的简单口令认证 32 ospf 注入一条默认路由 33 多区域OSPF 35 多区域OSPF基本配置 36 多区域OSPF手动汇总 38 Ospf 末节区域和完全末节区域 40 Ospf NSSA区域 42 Ospf虚链路 44 不连续区域0的虚连接 46 IS-IS 49 Is-is的基本配置 49 多区域集成的IS-IS 50 BGP 52 BGP地址聚合 57 BGP属性控制选路 60 用BGP AS-PATH属性控制选路 63 BGP LOCAL_PREF属性控制选路 66 BGP WEIGHT属性控制选路 69 路由反射器配置 71 BGP联邦配置 74 BGP团体配置 77 路由重分布 81 Rip、OSPF、eigrp之间的路由重分布 81 ISIS 和OSPF 重分布 83 Vlan间路由 86 传统的vlan间路由 86 单臂路由器vlan间路由 88 三层交换实现vlan间路由 90 ACL 91 标准ACL 91 扩展ACL1 92 扩展ACL2 95 命名ACL 97 基于时间的ACL 99 动态ACL 100 自反ACL 102 Nat地址转换 104 静态nat地址转换 104 动态Nat地址转换 105 NAT重载 107 PPP的配置实验 108 PAP验证 113 帧中继配置 115 帧中继静态映射 115 帧中继子接口单点对多点 117 帧中继点到点子接口配置 119 把一台cisco路由器配置为帧中继交换机 122 帧中继上的RIP 124 帧中继上集成IS-IS 126 帧中继上点到点子接口下集成的IS-IS 127 帧中继上的OSPF 129 IPV6 131 IPv6 静态路由 131 IPv6 RIPng 131 OSPFv3 133 IPv6 EIGRP 135 组播 136 PIM Dense 137 PIM Sparse-Dense 140 路由优化 142 分布控制列表控制路由更新 142 策略路由 144 基于报文大小的策略路由 145 基于应用的策略路由 147 网关冗余和负载均衡 148 HSRP 148 VRRP 150 GLBP 151 IOS 153 IOS更新 153 交换机的IOS恢复 154 路由器的密码恢复和ios恢复 154 计算机端口安全 155 交换机的密码恢复 156 清除交换机配置并重启 156 stp 157 STP+VTP 157 Trunk 配置 159 RSTP 160 MST 160 STP 保护 162 链路聚合 163 QOS 164 PQ 165 CQ 165 WFQ 166 CBWFQ 166 LLQ 167 WRED 168 CAR 168 NBAR 168 综合练习1 170 综合练习2 177
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值