如果有人说路由交换设备主要就是路由和交换的功能,仅仅在路由交换数据包时应用的话他一定是个门外汉。
如果仅仅为了交换数据包我们使用普通的HUB就能胜任,如果只是使用路由功能我们完全可以选择一台W I N D O W S服务器来做远程路由访问配置。
?。
则
由于ACL涉及的配置命令很灵活,功能也很强大,所以我们不能只通过一个小小的例子就完全掌握全部ACL的配置。
在介绍例子前为大家将ACL设置原则罗列出来,方便各位读者更好的消化A C L知识。
1、最小特权原则
只给受控对象完成任务所必须的最小的权限。
也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。
2、最靠近受控对象原则。
则。
的权限级别等。
因此,要达到端到端的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。
标准访问列表:
访问控制列表ACL分很多种,不同场合应用不同种类的ACL。
其中最简单的就是标准访问控制列表,标准访问控制列表是通过使用IP包中的源IP地址进行过滤,使用的访问控制列表号1到99来创建相应的A C L
标准访问控制列表的格式
99。
址。
192.168.1.00.0.0.25 5
通过上面的配置将来自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 命令。
标准访问控制列表实例一
,。
的。
经过设置后E1端口就只容许来自172.16.4.13这个IP地址的数据包传输出去了。
来自其他IP地址的数据包都无法通过E1传输。
小提示:由于CISCO默认添加了DENY ANY的语句在每个ACL中,所以上面的access-list 1 deny any这句命令可以省略。
另外在路由器连接网络不多的情况下也可以在E0端口使用ip access-group 1 out命令来宣告,宣告结果和上面最后两句命令效果一样。
标准访问控制列表实例二
配置任务:禁止172.16.4.13这个计算机对172.16.3.0/24网段的访问,而172.16.4.0/24中的其他计算机可以正常访问。
路由器配置命令:
access-list 1 deny host 172.16.4.13 设置ACL,禁止172.16.4.13的数据包通过
access-list 1 permit any 设置ACL,容许其他地址的计算机进行通讯
int e 1 进入E1端口
1
而
100。
LAN
100到199。
扩展访问控制列表的格式:
扩展访问控制列表是一种高级的ACL,配置命令的具体格式如下:
access-list ACL号 [permit deny] [协议] [定义过滤源主机范围] [定义过滤源端口] [定义过滤目的主机访问] [定义过滤目的端口]
例如:access-list 101 deny tcp any host 192.168.1.1 eq www这句命令是将所有
主机访问192.168.1.1这个地址网页服务(WWW)TCP连接的数据包丢弃。
小提示:同样在扩展访问控制列表中也可以定义过滤某个网段,当然和标准访问控制列表一样需要我们使用反向掩码定义IP地址后的子网掩码。
扩展访问控制列表实例
我们采用如图所示的网络结构。
路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。
在172.16.4.0/24网段中有一台服务器提供WWW服务,IP 地址为172.16.4.13。
不
现相当精细的控制,扩展ACL不仅读取IP包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口的IP。
不过他存在一个缺点,那就是在没有硬件ACL加速的情况下,扩展ACL会消耗大量的路由器CPU资源。
所以当使用中低档路由器时应尽量减少扩展ACL 的条目数,将其简化为标准ACL或将多条扩展ACL合一是最有效的方法。
基于名称的访问控制列表
不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL 的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL信息都删除。
也就是说修改一条或删除一条都会影响到整个ACL列表。
这一个缺点影响了我们的工作,为我们带来了繁重的负担。
不过我们可以用基于名称的访问控制列表来解决这个问题。
一、基于名称的访问控制列表的格式:
ip access-list [standard extended] [ACL名称]
例如:ip access-list standard softer就建立了一个名为softer的标准访问控制列表。
二、基于名称的访问控制列表的使用方法:
当我们建立了一个基于名称的访问列表后就可以进入到这个ACL中进行配置了。
不过即使再科学的访问控制列表规则也可能会因为未知病毒的传播而无效,毕竟未知病毒使用的端口是我们无法估计的,而且随着防范病毒数量的增多会造成访问控制列表规则过多,在一定程度上影响了网络访问的速度。
这时我们可以使用反向控制列表来解决以上的问题。
反向访问控制列表的用途及格式
一、反向访问控制列表的用途
反向访问控制列表属于ACL的一种高级应用。
他可以有效的防范病毒。
通过配置反向
ACL可以保证AB两个网段的计算机互相PING,A可以PING通B而B不能PING通A。
说得通俗些的话就是传输数据可以分为两个过程,首先是源主机向目的主机发送连接请求和数据,然后是目的主机在双方建立好连接后发送数据给源主机。
反向ACL控制的就是上面提到的连接请求。
二、反向访问控制列表的格式
反向访问控制列表格式非常简单,只要在配置好的扩展访问列表最后加上established 即可。
我们还是通过实例为大家讲解。
为
PING172.16.4.0的服务器,PING不通则说明ACL配置成功。
通过上文配置的反向ACL会出现一个问题,那就是172.16.3.0的计算机不能访问服务器的服务了,假如图中172.16.4.13提供了WWW服务的话也不能正常访问。
解决的方法是在ESTABLISHED那句前头再添加一个扩展ACL规则,例如: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防病毒命令还可以正
常生效。
笔者所在公司就使用的这种反向ACL的方式进行防病毒的,运行了一年多效果很不错,也非常稳定。
基于时间的访问控制列表:
上面我们介绍了标准ACL与扩展ACL,实际上我们数量掌握了这两种访问控制列表就可以应付大部分过滤网络数据包的要求了。
不过实际工作中总会有人提出这样或那样的苛刻要求,这时我们还需要掌握一些关于ACL的高级技巧。
基于时间的访问控制列表就属于高级技巧之一。
为
IP
periodic weekend 00:00 to 23:59 定义具体时间范围,为每周周末(6,日)的0点到23点59分。
当然可以使用periodic weekdays定义工作日或跟星期几定义具体的周几。
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服务。
access-list 101 permit ip any any 设置ACL,容许其他时间段和其他条件下的正常访问。
int e 1 进入E1端口。
ip access-group 101 out 宣告ACL101。
基于时间的ACL比较适合于时间段的管理,通过上面的设置172.16.3.0的用户就只能在周末访问服务器提供的FTP资源了,平时无法访问。
访问控制列表流量记录
网络管理员就是要能够合理的管理公司的网络,俗话说知己知彼方能百战百胜,所以有效的记录ACL流量信息可以第一时间的了解网络流量和病毒的传播方式。
下面这篇文章就为大家简单介绍下如何保存访问控制列表的流量信息,方法就是在扩展ACL规则最后加上LOG。