ACL配置大全及命令.docx

上传人:b****6 文档编号:8418040 上传时间:2023-01-31 格式:DOCX 页数:25 大小:383.46KB
下载 相关 举报
ACL配置大全及命令.docx_第1页
第1页 / 共25页
ACL配置大全及命令.docx_第2页
第2页 / 共25页
ACL配置大全及命令.docx_第3页
第3页 / 共25页
ACL配置大全及命令.docx_第4页
第4页 / 共25页
ACL配置大全及命令.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

ACL配置大全及命令.docx

《ACL配置大全及命令.docx》由会员分享,可在线阅读,更多相关《ACL配置大全及命令.docx(25页珍藏版)》请在冰豆网上搜索。

ACL配置大全及命令.docx

ACL配置大全及命令

ACL的使用

ACL的处理过程:

1、语句排序

一旦某条语句匹配,后续语句不再处理。

2、隐含拒绝

如果所有语句执行完毕没有匹配条目默认丢弃数据包

要点:

ACL能执行两个操作:

允许或拒绝。

语句自上而下执行。

一旦发现匹配,后续语句就不再进行处理---因此先后顺序很重要。

如果没有找到匹配,ACL末尾不可见的隐含拒绝语句将丢弃分组。

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

如果在语句结尾增加denyany的话可以看到拒绝记录

CiscoACL有两种类型一种是标准另一种是扩展,使用方式习惯不同也有两种方式一种是编号方式,另一种是命名方式。

示例:

编号方式

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

一、标准(标准ACL可以阻止来自某一网络的所有通信流量,或者允许来自某一特定网络的所有通信流量,或者拒绝某一协议簇(比如IP)的所有通信流量。

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

Cisco-3750(config)#access-list1(1-99、1300-1999)permithost172.17.31.222

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

Cisco-3750(config)#access-list1denyhost172.17.31.222

Cisco-3750(config)#access-list1permitany

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

Cisco-3750(config)#access-list1permit172.17.31.00.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(config)#access-list1deny172.17.31.00.0.0.254

Cisco-3750(config)#access-list1permitany

二、扩展(扩展ACL比标准ACL提供了更广泛的控制范围。

例如,网络管理员如果希望做到“允许外来的Web通信流量通过,拒绝外来的FTP和Telnet等通信流量”,那么,他可以使用扩展ACL来达到目的,标准ACL不能控制这么精确。

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

Cisco-3750(config)#access-list100permittcphost172.17.31.222(源)any(目标)eqwww

允许所有主机访问172.17.31.222主机telnet(23)端口其他禁止

Cisco-3750(config)#access-list100(100-199、2000-2699)permittcpanyhost172.17.31.222eq23

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

Cisco-3750(config)#intg1/0/1

Cisco-3750(config-if)#ipaccess-group1in(出方向out

命名方式

一、标准

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

Cisco-3750(config)#ipaccess-liststandardtest

Cisco-3750(config-std-nacl)#permithost172.17.31.222

Cisco-3750(config-std-nacl)#denyhost172.17.31.223

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

Cisco-3750(config)#ipaccess-liststandardtest

Cisco-3750(config-std-nacl)#denyhost172.17.31.223

Cisco-3750(config-std-nacl)#permitany

二、扩展

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

Cisco-3750(config)#ipaccess-listextendedtest1

Cisco-3750(config-ext-nacl)#permittcphost172.17.31.222anyeqwww

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

Cisco-3750(config)#ipaccess-listextendedtest1

Cisco-3750(config-ext-nacl)#denytcpanyhost172.17.31.222eq23

Cisco-3750(config-ext-nacl)#permittcpanyany

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

Cisco-3750(config)#intg1/0/1

Cisco-3750(config-if)#ipaccess-grouptestin(出方向out)

接口应用原则

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

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

网上资料:

CiscoACL原理及配置详解

什么是ACL?

  访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。

该技术初期仅在路由器上支持,近些年来已经扩展到三层交换机,部分最新的二层交换机也开始提供ACL的支持了。

  访问控制列表使用原则

  由于ACL涉及的配置命令很灵活,功能也很强大,所以我们不能只通过一个小小的例子就完全掌握全部ACL的配置。

在介绍例子前为大家将ACL设置原则罗列出来,方便各位读者更好的消化ACL知识。

  1、最小特权原则

  只给受控对象完成任务所必须的最小的权限。

也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。

  2、最靠近受控对象原则

  所有的网络层访问权限控制。

也就是说在检查规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。

  3、默认丢弃原则

  在CISCO路由交换设备中默认最后一句为ACL中加入了DENYANYANY,也就是丢弃所有不符合条件的数据包。

这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。

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

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

  标准访问列表:

  访问控制列表ACL分很多种,不同场合应用不同种类的ACL。

其中最简单的就是标准访问控制列表,标准访问控制列表是通过使用IP包中的源IP地址进行过滤,使用的访问控制列表号1到99来创建相应的ACL

  标准访问控制列表的格式

  访问控制列表ACL分很多种,不同场合应用不同种类的ACL。

其中最简单的就是标准访问控制列表,他是通过使用IP包中的源IP地址进行过滤,使用的访问控制列表号1到99来创建相应的ACL。

  标准访问控制列表是最简单的ACL。

  它的具体格式如下:

access-listACL号permit|denyhostip地址

  例如:

access-list10denyhost192.168.1.1这句命令是将所有来自192.168.1.1地址的数据包丢弃。

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

命令如下:

access-list10deny192.168.1.00.0.0.255

  通过上面的配置将来自192.168.1.0/24的所有计算机数据包进行过滤丢弃。

为什么后头的子网掩码表示的是0.0.0.255呢?

这是因为CISCO规定在ACL中用反向掩玛表示子网掩码,反向掩码为0.0.0.255的代表他的子网掩码为255.255.255.0。

  小提示:

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

标准访问控制列表实例一

  我们采用如图所示的网络结构。

路由器连接了二个网段,分别为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。

  路由器配置命令

  access-list1permithost172.16.4.13设置ACL,容许172.16.4.13的数据包通过。

  access-list1denyany设置ACL,阻止其他一切IP地址进行通讯传输。

  inte1进入E1端口。

  ipaccess-group1in将ACL1宣告。

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

来自其他IP地址的数据包都无法通过E1传输。

小提示:

由于CISCO默认添加了DENYANY的语句在每个ACL中,所以上面的access-list1denyany这句命令可以省略。

另外在路由器连接网络不多的情况下也可以在E0端口使用ipaccess-group1out命令来宣告,宣告结果和上面最后两句命令效果一样。

标准访问控制列表实例二

  配置任务:

禁止172.16.4.13这个计算机对172.16.3.0/24网段的访问,而172.16.4.0/24中的其他计算机可以正常访问。

  路由器配置命令:

  access-list1denyhost172.16.4.13设置ACL,禁止172.16.4.13的数据包通过

  access-list1permitany设置ACL,容许其他地址的计算机进行通讯

  inte1进入E1端口

  ipaccess-group1in将ACL1宣告,同理可以进入E0端口后使用ipaccess-group1out来完成宣告。

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

  总结:

标准ACL占用路由器资源很少,是一种最基本最简单的访问控制列表格式。

应用比较广泛,经常在要求控制级别较低的情况下使用。

如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求。

  扩展访问控制列表:

  上面我们提到的标准访问控制列表是基于IP地址进行过滤的,是最简单的ACL。

那么如果我们希望将过滤细到端口怎么办呢?

或者希望对数据包的目的地址进行过滤。

这时候就需要使用扩展访问控制列表了。

使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如WWW,FTP等)。

扩展访问控制列表使用的ACL号为100到199。

  扩展访问控制列表的格式

  刚刚我们提到了标准访问控制列表,他是基于IP地址进行过滤的,是最简单的ACL。

那么如果我们希望将过滤细到端口怎么办呢?

或者希望对数据包的目的地址进行过滤。

这时候就需要使用扩展访问控制列表了。

使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如WWW,FTP等)。

扩展访问控制列表使用的ACL号为100到199。

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

  扩展访问控制列表是一种高级的ACL,配置命令的具体格式如下:

  access-listACL号[permit|deny][协议][定义过滤源主机范围][定义过滤源端口][定义过滤目的主机访问][定义过滤目的端口]

  例如:

access-list101denytcpanyhost192.168.1.1eqwww这句命令是将所有主机访问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。

  配置任务:

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

  路由器配置命令:

  access-list101permittcpany172.16.4.130.0.0.0eqwww设置ACL101,容许源地址为任意IP,目的地址为172.16.4.13主机的80端口即WWW服务。

由于CISCO默认添加DENYANY的命令,所以ACL只写此一句即可。

  inte1进入E1端口

  ipaccess-group101out将ACL101宣告出去

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

而172.16.4.0的计算机访问172.16.3.0的计算机没有任何问题。

  扩展ACL有一个最大的好处就是可以保护服务器,例如很多服务器为了更好的提供服务都是暴露在公网上的,这时为了保证服务正常提供所有端口都对外界开放,很容易招来黑客和病毒的攻击,通过扩展ACL可以将除了服务端口以外的其他端口都封锁掉,降低了被攻击的机率。

如本例就是仅仅将80端口对外界开放。

  总结:

扩展ACL功能很强大,他可以控制源IP,目的IP,源端口,目的端口等,能实现相当精细的控制,扩展ACL不仅读取IP包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口的IP。

不过他存在一个缺点,那就是在没有硬件ACL加速的情况下,扩展ACL会消耗大量的路由器CPU资源。

所以当使用中低档路由器时应尽量减少扩展ACL的条目数,将其简化为标准ACL或将多条扩展ACL合一是最有效的方法。

  基于名称的访问控制列表

  不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL信息都删除。

也就是说修改一条或删除一条都会影响到整个ACL列表。

这一个缺点影响了我们的工作,为我们带来了繁重的负担。

不过我们可以用基于名称的访问控制列表来解决这个问题。

  一、基于名称的访问控制列表的格式:

  ipaccess-list[standard|extended][ACL名称]

  例如:

ipaccess-liststandardsofter就建立了一个名为softer的标准访问控制列表。

  二、基于名称的访问控制列表的使用方法:

  当我们建立了一个基于名称的访问列表后就可以进入到这个ACL中进行配置了。

  例如我们添加三条ACL规则

  permit1.1.1.10.0.0.0

  permit2.2.2.20.0.0.0

  permit3.3.3.30.0.0.0

  如果我们发现第二条命令应该是2.2.2.1而不是2.2.2.2,如果使用不是基于名称的访问控制列表的话,使用nopermit2.2.2.20.0.0.0后整个ACL信息都会被删除掉。

正是因为使用了基于名称的访问控制列表,我们使用nopermit2.2.2.20.0.0.0后第一条和第三条指令依然存在。

  总结:

如果设置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这个服务器网段。

  路由器配置命令:

  access-list101permittcp172.16.3.00.0.0.255172.16.4.00.0.0.255established定义ACL101,容许所有来自172.16.3.0网段的计算机访问172.16.4.0网段中的计算机,前提是TCP连接已经建立了的。

当TCP连接没有建立的话是不容许172.16.3.0访问172.16.4.0的。

  inte1进入E1端口

  ipaccess-group101out将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规则,例如:

access-list101permittcp172.16.3.00.0.0.255172.16.4.130.0.0.0eqwww

  这样根据“最靠近受控对象原则”即在检查ACL规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。

172.16.3.0的计算机就可以正常访问该服务器的WWW服务了,而下面的ESTABLISHED防病毒命令还可以正常生效。

  笔者所在公司就使用的这种反向ACL的方式进行防病毒的,运行了一年多效果很不错,也非常稳定。

基于时间的访问控制列表:

上面我们介绍了标准ACL与扩展ACL,实际上我们数量掌握了这两种访问控制列表就可以应付大部分过滤网络数据包的要求了。

不过实际工作中总会有人提出这样或那样的苛刻要求,这时我们还需要掌握一些关于ACL的高级技巧。

基于时间的访问控制列表就属于高级技巧之一。

一、基于时间的访问控制列表用途:

可能公司会遇到这样的情况,要求上班时间不能上QQ,下班可以上或者平时不能访问某网站只有到了周末可以。

对于这种情况仅仅通过发布通知规定是不能彻底杜绝员工非法使用的问题的,这时基于时间的访问控制列表应运而生。

二、基于时间的访问控制列表的格式:

基于时间的访问控制列表由两部分组成,第一部分是定义时间段,第二部分是用扩展访问控制列表定义规则。

这里我们主要讲解下定义时间段,具体格式如下:

time-range时间段名称

absolutestart[小时:

分钟][日月年][end][小时:

分钟][日月年]

例如:

time-rangesofter

absolutestart0:

001may2005end12:

001june2005

意思是定义了一个时间段,名称为softer,并且设置了这个时间段的起始时间为2005年5月1日零点,结束时间为2005年6月1日中午12点。

我们通过这个时间段和扩展ACL的规则结合就可以指定出针对自己公司时间段开放的基于时间的访问控制列表了。

当然我们也可以定义工作日和周末,具体要使用periodic命令。

我们将在下面的配置实例中为大家详细介绍。

  配置实例:

  要想使基于时间的ACL生效需要我们配置两方面的命令:

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

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

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

网络环境介绍:

  我们采用如图所示的网络结构。

路由器连接了二个网段,分别为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资源。

  路由器配置命令:

  time-rangesofter定义时间段名称为softer

  periodicweekend00:

00to23:

59定义具体时间范围,为每周周末(6,日)的0点到23点59分。

当然可以使用periodicweekdays定义工作日或跟星期几定义具体的周几。

  access-li

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1