理论部分
访问控制列表概述:
访问控制列表(ACL)是应用在路由器接口的指令列表(即规则)
其基本原理:ACL使用包过滤技术,在路由器上读取OSI七层参考模型的第三层和第四层包头中的信息。根据预先定义好的规则,对包进行过滤从而达到访问控制的目的。
ACL通过在路由器接口处控制数据包是转发还是丢弃。
路由器根据ACL中指定的条件来检测通过路由器的数据包
标准访问控制列表:检查数据包的源IP地址。其结果基于IP地址,来决定允许还是拒绝转发数据包。它使用1~99之间的数字作为表号。
扩展访问控制列表:对数据包的源IP地址和目的IP地址、指定协议、端口和标志来允许或拒绝数据包。使用100~199之间的数字作为表号。
命名访问控制列表:允许在标准和扩展中使用名称代替表号(更友好)。
访问控制列表的工作原理:ACL是一组规则的集合。应用在路由器的某个接口上,对路由器而言有两个方向:
出:已经过路由器的处理,正离开路由器接口的数据包
入:已到达路由器接口的数据包,将被路由器处理
如果对接口应用了ACL,那么路由器将对数据包进行该组规则的顺序进行检查。
如果匹配某一条规则路由器将决定该数据包允许或拒绝通过
如果最后没有任何一条规则匹配,则路由器根据默认的规则将丢弃该数据包。要注意是逐条匹配,按顺序来的
标准访问控制列表的配置:
R1(config)#access-list access-list-number {permit丨deny} source {source wildcard}
access-list-number:访问控制列表表号
permit丨deny:满足测试条件,则拒绝/允许通过流量
Source:数据包的源地址,可以是主机地址或网络地址
{source wildcard}:通配符掩码,也叫做反码。在用二进制数0和1表示时,如果为1表明这一位不需要匹配,如果为0表明这一位需要严格匹配
扩展访问控制列表的配置:
创建ACL命令语法如下:
R1(config)#access-list access-list-number {permit丨deny}protocol {source source-wildcard destination destination-wildcard}{operator operan}
对命令参数的详细说明如下:
access-list-number:访问控制列表的表号,对于扩展ACL是100~199
{permit丨deny}:当满足条件,则允许或拒绝该流量通过
Protocol:用来指定协议类型,如IP、TCP、UDP、ICMP等
source source-wildcard:源地址和源反掩码
destination destination-wildcard:目的地址和目的反掩码
{operator operan}:ls(小于)、gt(大于)、eq(等于)或neq(不等于)一个端口号
命名访问控制列表的配置:
创建ACL的语法命令如下:
R1(config)#ip access-list {standard丨extended}access-list-name
其中access-list-name是ACL的名字,应具有实际意义
{standard丨extended}选择标准ACL或可扩展的ACL
分析在哪个接口应用标准ACL
路由器对入站接口是先检查访问控制列表,对允许的数据包才检查路由表。而对于外出的数据包先查询路由表,确定目标端口后才查看出站的访问控制列表。所以应该尽量应用在入站接口,因为效率更高。
也就是靠控制方最近的方向是in方向,如果作为服务器要限制某个IP访问自己时应该应用在out方向
标准ACL、扩展ACL和命名ACL综合试验案例
首先搭建拓扑结构,规划IP地址,连接拓扑线路PC机全部使用的是添加网卡
使用软件GNS3下载地址:http://down.51cto.com/data/991235
GNS3的使用教程在我的网盘:http://pan.baidu.com/disk/home
先配置简单的最后配置复杂的,下面是路由交换的详细配置
R1上面的配置
Loopback接口地址123.0.1.1/24 模拟外网地址
下面是标准ACL语句配置,实现网络192.168.2.0网段允许通过telnet登录。并配置本地登录的属性。然后应用ACL到VTY远程登录配置。还有进入特权模式的密码。
W3上面的配置
首先配置一个管理IP地址,并创建一个VTP域用于共享vlan信息。
创建标准ACL语句,表示允许192.168.2.0网段telnet远程
SW2上面的配置
配置接口trunk模式、封装类型并创建一个VTP域
把端口加入到相应的vlan,配置管理IP地址和默认网关,这样在不是直连的PC机(也就是网关机)上面就可以远程登录进行管理了
SW1上面的配置
首先配置trunk模式,选择封装类型。配置各个vlan的管理IP地址。
创建VTP域,配置为服务模式。
上面创建了一条标准的ACL语句用于远程telnet管理交换机
下面创建的是为服务器C4创建的访问和限制的各种信息。并应用在了路由器的out接口上。
为C3机创建扩展ACL语句,并应用在VLAN3的in接口上
为C2机创建扩展ACL语句,并应用在vlan4的in接口上
最后在进行集体查看ACL语句
结果验证:由于本次实验没有用宿主机和虚拟机。后面又做了一个实验。实验结果请看:
配置ACL语句使用宿主机访问虚拟机的web服务和禁止FTP服务实验