ACL访问控制列表配置

ACL访问控制列表配置
ACL访问控制列表配置

ACL的使用

ACL的处理过程:

1. 它是判断语句,只有两种结果,要么是拒绝(den y ,要么是允许(permit)

2. 语句顺序

按照由上而下的顺序处理列表中的语句

3. 语句排序

处理时,不匹配规则就一直向下查找,一旦某条语句匹配,后续语句不再处理。

4. 隐含拒绝

如果所有语句执行完毕没有匹配条目默认丢弃数据包,在控制列表的末尾有一条

默认拒绝所有的语句,是隐藏的(deny)

要点:

1. ACL能执行两个操作:允许或拒绝。语句自上而下执行。一旦发现匹配,后续语句就不再

进行处理---因此先后顺序很重要。如果没有找到匹配,ACL末尾不可见的隐含拒绝语句将丢

弃分组。一个ACL应该至少有一条permit语句;否则所有流量都会丢弃,因为每个ACL末尾都有隐藏的隐含拒绝语句。

2. 如果在语句结尾增加deny any的话可以看到拒绝记录

3. Cisco ACL有两种类型一种是标准另一种是扩展,使用方式习惯不同也有两种方式一种是编

号方式,另一种是命名方式。

示例:

编号方式

标准的ACL使用1 ~ 99以及1300~1999之间的数字作为表号,扩展的ACL使用100 ~ 199以及2000~2699之间的数字作为表号

一、标准(标准ACL可以阻止来自某一网络的所有通信流量,或者允许来自某一特定网络的

所有通信流量,或者拒绝某一协议簇(比如IP)的所有通信流量。)

允许172.17.31.222通过,其他主机禁止

Cisco-3750(co nfig)#access-list 1 (策略编号)(1-99、1300-1999) permit host 172.17.31.222 禁止172.17.31.222通过,其他主机允许

Cisco-3750(co nfig)#access-list 1 de ny host 172.17.31.222

Cisco-3750(c on fig)#access-list 1 permit any

允许172.17.31.0/24通过,其他主机禁止

Cisco-3750(config)#access-list 1 permit 172.17.31.0 0.0.0.254 (反码255.255.255.255 减去子网

掩码,如172.17.31.0/24 的255.255.255.255 —255.255.255.0=0.0.0.255)

禁止172.17.31.0/24通过,其他主机允许

Cisco-3750(co nfig)#access-list 1 deny 172.17.31.0 0.0.0.254

Cisco-3750(c on fig)#access-list 1 permit any

二、扩展(扩展ACL比标准ACL提供了更广泛的控制范围。例如,网络管理员如果希望做到

“允许外来的Web通信流量通过,拒绝外来的FTP和Telnet等通信流量”,那么,他可以使

用扩展ACL来达到目的,标准ACL不能控制这么精确。)

允许172.17.31.222访问任何主机80端口,其他主机禁止

Cisco-3750(config)#access-list 100 permit tcp host 172.17.31.222 (源)any (目标).eq www 允许所有主机访问172.17.31.222主机teInet (23)端口其他禁止

Cisco-3750(config)#access-list 100 (100-199、2000-2699) permit tcp any host 172.17.31.222 eq 23 接口应用(入方向)(所有ACL只有应用到接口上才能起作用)

Cisco-3750(co nfig)#i nt g1/0/1

Cisco-3750(config-if)#ip access-group 1 in (出方向out)

命名方式

一、标准

建立标准ACL命名为test、允许172.17.31.222通过,禁止172.17.31.223通过,其他主机禁止Cisco-3750(c on fig)#ip access-list sta ndard test

Cisco-3750(config-std-nacl)#permit host 172.17.31.222

Cisco-3750(co nfig-std-nacl)#de ny host 172.17.31.223

建立标准ACL命名为test、禁止172.17.31.223通过,允许其他所有主机。

Cisco-3750(c on fig)#ip access-list sta ndard test

Cisco-3750(co nfig-std-nacl)#de ny host 172.17.31.223

Cisco-3750(c on fig-std-nacl)#permit any

二、扩展

建立扩展ACL命名为test1,允许172.17.31.222访问所有主机80端口,其他所有主机禁止

Cisco-3750(c on fig)#ip access-list exte nded test1

Cisco-3750(co nfig-ext-nacl)#permit tcp host 172.17.31.222 any eq www

建立扩展ACL命名为test1,禁止所有主机访问172.17.31.222主机tel net( 23)端口,但允

许访问其他端口

Cisco-3750(c on fig)#ip access-list exte nded test1

Cisco-3750(co nfig-ext-nacl)#de ny tcp any host 172.17.31.222 eq 23

Cisco-3750(c on fig-ext-n acl)#permit tcp any any

接口应用(入方向)(所有ACL只有应用到接口上才能起作用)

Cisco-3750(co nfig)#i nt g1/0/1

Cisco-3750(config-if)#ip access-group test in (出方向out)

接口应用原则

标准ACL,的应用靠近目标地址

扩展ACL,的应用靠近源地址

网上资料:

Cisco ACL原理及配置详解

什么是ACL?

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

访问控制列表使用原则

由于ACL涉及的配置命令很灵活,功能也很强大,所以我们不能只通过一个小小的例子就完全掌握全部ACL的配置。在介绍例子前为大家将ACL设置原则罗列出来,方便各位读者更好的消化ACL知识。、

1?访问控制列表的列表号指出了是那种协议的访问控制列表,各种协议有自己的访问控

制列表,而每个协议的访问控制列表又分为标准访问控制列表和扩展访问控制列表,通过访问控制列表的列表号区别。

2?访问控制列表的语句顺讯决定了对数据包的控制顺序。

3.限制性语句应该放在访问控制列表的首行。把限制性语句放在访问控制列表的首行或

者语句中靠近前面的位置上,把“全部允许”或者“全部拒绝”这样的语句放在末行或者接近末行,可以防止出现诸如本该拒绝的数据包却被放过的情况。

3?最小特权原则

只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交

集,只满足部分条件的是不容许通过规则的。

4?新的表项只能被添加到访问控制列表的末尾,这意味着不可能改变已有访问控制列表

的功能。如果必须改变,只能先删除原有访问控制列表,再重新创建、应用。

5?在访问控制列表应用到接口之前,一定要先建立访问控制列表。首先在全局模式下建立访问控制列表,然后把它应用在接口的进口或者出口方向上。在接口上应用一个不存在的

访问控制列表是不可能的。

6?访问控制列表的语句不肯能被逐条的删除,只能一次性删除整个访问控制列表。

7?在访问控制列表的最后有一条隐含的“全部拒绝”的命令,所以在访问控制列表里一定要至少有一条“允许”的语句。

8?访问控制列表智能过滤通过路由器的数据包,不能过滤从路由器本身发出的数据包。

9?在路由选择进行以前,应用在接口进入方向的访问控制列表起作用。

10. 在路由选择决定以后,应用在接口离开方向的访问控制列表起作用

11. 最靠近受控对象原则

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

12?默认丢弃原则

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

由于ACL是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息,这种技术具有一些固有的局限性,如无法识别到具体的人,无法识别到应用内部

的权限级别等。因此,要达到端到端的权限控制目的,需要和系统级及应用级的访问权限控

制结合使用。

一.标准访问列表:

访问控制列表ACL分很多种,不同场合应用不同种类的ACL。其中最简单的就是标准访问控制列表,标准访问控制列表是通过使用IP包中的源网络、子网或主机的IP地址进行过

滤,使用的访问控制列表号1到99来创建相应的ACL

标准访问控制列表只能检查数据包的原地址,使用的局限性大,但是配置简单,是最简

单的ACL。

它的具体格式如下:access-list ACL号permit|deny host ip 地址

例如:access-list 10 deny host 192.168.1.1 这句命令是将所有来自192.168.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。

(1)通配符any

为表示任何IP地址通过,网络管理员输入0.0.0.0;然后,还要指出访问控制列表将要忽略的任何值,相应的通配符掩码位是“ 1 “( 255.255.255.255).此时,网络管理员可以使

用缩写字“ any” 代替0.0.0.0 255.255.255.255

例如:Router(co nfig)#access-list 1 permit 0.0.0.0 255.255.255.255

等于Router(config)#access-list 1 permit any

(2)通配符host

若网络管理员想要与整个IP主机地址的所有位相匹配,可以使用缩写字“ host ”。在访

问控制列表拒绝一个特定的主机地址时,为了表示这个主机IP地址,网络管理员要输入全

部的地址,相应的通配符掩码全为0.

例如:Router(co nfig)#access-list 1 de ny 172.33.160.29 0.0.0.0

等于Router(config)#access-list 1 deny host 172.33.160.29

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

标准访问控制列表实例一(只允许某个IP地址,否定其它的)

172.16.4.0

572.16.4,13

E0

我们采用如图所示的网络结构。路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24网段中有一台服务器提供WWW 服务,IP地址为172.16.4.13。

实例1:禁止172.16.4.0/24网段中除172.16.4.13这台计算机访问172.16.3.0/24的计算机。172.16.4.13 可以正常访问172.16.3.0/24。

路由器配置命令:

Router( config)#access-list 1 permit host 172.16.4.13 // 设置ACL,容许172.16.4.13 的

数据包通过

( 定义访问控制列表命令: Router (config ) #access-list access-list-number {permit|deny} {test-c on diti on})

Router (config ) #access-list 1 deny any //设置ACL 阻止其他一切 IP 地址进行通讯传输。 Router (config )#interface e 1 // 进入 E1 端口。 Router ( config )#ip access-group 1 in // 将 ACL 1 宣告

(访问控制歹U 表应用至U 某一端口上的命令: Router ( config )#ip access-group access-list-number { in |out}

经过设置后E1端口就只容许来自172.16413这个IP 地址的数据包传输出去了。 来自其

他IP 地址的数据包都无法通过

E1传输。

小提示:由于CISCO 默认添加了 DENY ANY 的语句在每个 ACL 中,所以上面的access-list 1 deny any 这句命令可以省略。另外在路由器连接网络不多的情况下也可以在 E0端口使用ip access-group 1 out 命令来宣告,宣告结果和上面最后两句命令效果一样。 通常ACL 被应用

在出站接口比应用在入站接口效率要高,因此大多把它应用在出站接口。

标准访问控制列表实例二(否定其中一个 IP 地址,其它的都允许访 问)

配置任务:禁止 172.16.4.13这个计算机对 172.16.3.0/24网段的访问,而 172.1640/24 中的其他计算机可以正常访问。

路由器配置命令:

Router ( config ) #access-list 1 deny host 172.16.4.13 // 设置 ACL ,禁止 172.16.4.13 的数据包

通过

Router ( con fig ) #access-list 1 permit any //设置ACL ,容许其他地址的计算机进行通讯 #interface e 1 // 进入 E1 端口 #ip access-group 1 in // 将 ACL1 宣告

(同理可以进入 E0端口后使用ip access-group 1 out 来完成宣告。)

配置完毕后除了 172.16.4.13其他IP 地址都可以通过路由器正常通讯,传输数据包。

标准访问控制列表实例三(允许一个网络范围内的 IP 地址访问)

配置允许源地址为172.16.0.0/255.255.0.0子网上的主机登陆路由器

Router (co nfig )#access-list 1 permit 172.16.0.0 0.0.255.255 // 访问控制列表允许 172.16.0.0网段的主机访问

(0.0.255.255是采用子网掩码的反码)

Router (config )#_ //路由器处于全局配置模式 配置应用接口:

Router (config )#line vty 0 5 //

是最大允许 5 个人同时 telnet Router 登陆

(vty 是虚拟终端的意思,参见: VTY )

Router (con fig ) Router (con fig )

Router(config-line)#access-class 1 in //将条件施加在虚拟终端线路上,配置在路由器的进口处,将ACL1宣告

(用access-class 将访问控制列表施加于VTY线路,或WEB接口,access-group 则施加到接口)

在特权模式下,查看访问控制列表配置信息:

Router #show con figurati on

!

Access-list 1 permit 172.16.0.0 0.0.255.255

!

!

line vty 0 5

access-class 1 in

标准访问控制列表实例四(允许几个IP地址访问)

配置只允许源地址为192.168.2.2和192.168.10.2的两台主机登陆路由器

Router(config)#access-list 10 permit 192.168.2.2 // 访问控制列表允许IP 地址为192.168.2.2的主机访问

Router(config)#access-list 10 permit 192.168.10.2 // 访问控制列表允许IP 地址为192.168.10.2的主机访问

Router(config)#_ access-list 10 deny any // 其它主机都不允许访问 _

配置应用接口:

Router(config)#line vty 0 5 // 是最大允许5 个人同时telnet Router 登陆

(vty是虚拟终端的意思,参见:VTY)

Router(config-line)#access-class 10 in //将条件施加在虚拟终端线路上,配置在路由器的进口处,将ACL10宣告

(用access-class 将访问控制列表施加于VTY线路,或WEB接口,access-group

则施加到接口)

在特权模式下,查看访问控制列表配置信息:

Router #show con figurati on

!

Access-list 10 permit 192.168.2.2

Access-list 10 permit 192.168.10.2

!

!

line vty 0 5

access-class 10 in

在特权模式下查看访问控制列表:

相关主题
相关文档
最新文档