理论部分


访问控制列表概述:

访问控制列表(ACL)是应用在路由器接口的指令列表(即规则)

其基本原理:ACL使用包过滤技术,在路由器上读取OSI七层参考模型的第三层和第四层包头中的信息。根据预先定义好的规则,对包进行过滤从而达到访问控制的目的。

ACL通过在路由器接口处控制数据包是转发还是丢弃。

路由器根据ACL中指定的条件来检测通过路由器的数据包

标准访问控制列表:检查数据包的源IP地址。其结果基于IP地址,来决定允许还是拒绝转发数据包。它使用1~99之间的数字作为表号。

扩展访问控制列表:对数据包的源IP地址和目的IP地址、指定协议、端口和标志来允许或拒绝数据包。使用100~199之间的数字作为表号。

命名访问控制列表:允许在标准和扩展中使用名称代替表号(更友好)。

访问控制列表的工作原理:ACL是一组规则的集合。应用在路由器的某个接口上,对路由器而言有两个方向:

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

入:已到达路由器接口的数据包,将被路由器处理

如果对接口应用了ACL,那么路由器将对数据包进行该组规则的顺序进行检查。

如果匹配某一条规则路由器将决定该数据包允许或拒绝通过

如果最后没有任何一条规则匹配,则路由器根据默认的规则将丢弃该数据包。要注意是逐条匹配,按顺序来的

标准访问控制列表的配置:

R1(config)#access-list access-list-numberpermit丨deny} sourcesource 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

将ACL应用到相应的VLAN上_IP

先配置简单的最后配置复杂的,下面是路由交换的详细配置

R1上面的配置

Loopback接口地址123.0.1.1/24 模拟外网地址

将ACL应用到相应的VLAN上_IP_02

下面是标准ACL语句配置,实现网络192.168.2.0网段允许通过telnet登录。并配置本地登录的属性。然后应用ACL到VTY远程登录配置。还有进入特权模式的密码。

将ACL应用到相应的VLAN上_访问控制列表_03

将ACL应用到相应的VLAN上_服务器_04

W3上面的配置

首先配置一个管理IP地址,并创建一个VTP域用于共享vlan信息。

将ACL应用到相应的VLAN上_访问控制列表_05

将ACL应用到相应的VLAN上_访问控制列表_06

创建标准ACL语句,表示允许192.168.2.0网段telnet远程

将ACL应用到相应的VLAN上_将ACL应用到相应的VLAN上_07

SW2上面的配置

配置接口trunk模式、封装类型并创建一个VTP域

将ACL应用到相应的VLAN上_访问控制列表_08

把端口加入到相应的vlan,配置管理IP地址和默认网关,这样在不是直连的PC机(也就是网关机)上面就可以远程登录进行管理了

将ACL应用到相应的VLAN上_服务器_09

SW1上面的配置

首先配置trunk模式,选择封装类型。配置各个vlan的管理IP地址。

创建VTP域,配置为服务模式。

将ACL应用到相应的VLAN上_将ACL应用到相应的VLAN上_10

将ACL应用到相应的VLAN上_将ACL应用到相应的VLAN上_11

上面创建了一条标准的ACL语句用于远程telnet管理交换机

下面创建的是为服务器C4创建的访问和限制的各种信息。并应用在了路由器的out接口上。

将ACL应用到相应的VLAN上_服务器_12

为C3机创建扩展ACL语句,并应用在VLAN3的in接口上

将ACL应用到相应的VLAN上_将ACL应用到相应的VLAN上_13

为C2机创建扩展ACL语句,并应用在vlan4的in接口上

最后在进行集体查看ACL语句

将ACL应用到相应的VLAN上_IP_14

结果验证:由于本次实验没有用宿主机和虚拟机。后面又做了一个实验。实验结果请看:

配置ACL语句使用宿主机访问虚拟机的web服务和禁止FTP服务实验

将ACL应用到相应的VLAN上_将ACL应用到相应的VLAN上_15



转载于:https://blog.51cto.com/zhang2015/1617339