项目五 配置访问控制列表(ACL)V1.0

更新时间:2023-05-25 07:09:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

[项目五]配置访问控制列表(ACL)

[项目内容]

如图5.1所示的网络拓扑,要求实现以下任务:

1. 配置EIGRP路由协议,保证网络通信正常;

2. 在R1配置ACL,要求完成以下功能:

(1) 拒绝主机A所在的网络访问Web服务器;

(2) 拒绝主机A所在的网络ping到外部网络的任何地址。

3. 配置R2,使得只允许主机C telnet到路由器R2;

图5.1 网络拓扑

[操作步骤]

一.EIGRP路由协议的配置

1.搭建网络环境

绘制如图5.1所示的网络拓扑并配置好路由器和计算机的端口及IP地址。

2.配置EIGRP路由协议

(1)配置R1

R1(config)#router eigrp 100

R1(config-router)#net 10.1.1.0 0.0.0.255

R1(config-router)#net 12.12.12.0 0.0.0.255

R1(config-router)#no auto-summary

(2)配置R2

R2(config)#router eigrp 100

R2(config-router)#net 12.12.12.0 0.0.0.255

R2(config-router)#net 23.23.23.0 0.0.0.255

R2(config-router)#net 172.16.1.0 0.0.0.255

R2(config-router)#no auto-summary

(3)配置R3

R3(config)#router eigrp 100

R3(config-router)#net 23.23.23.0 0.0.0.255

R3(config-router)#net 192.168.1.0 0.0.0.255

R3(config-router)#no auto-summary

3. 认证

R1#show ip route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 1 subnets

C 10.1.1.0 is directly connected, FastEthernet0/0

12.0.0.0/24 is subnetted, 1 subnets

C 12.12.12.0 is directly connected, Serial1/0

23.0.0.0/24 is subnetted, 1 subnets

D 23.23.23.0 [90/21024000] via 12.12.12.2, 00:47:41, Serial1/0

172.16.0.0/24 is subnetted, 1 subnets

D 172.16.1.0 [90/20514560] via 12.12.12.2, 00:47:41, Serial1/0

D 192.168.1.0/24 [90/21026560] via 12.12.12.2, 00:47:41, Serial1/0

R2#show ip route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 1 subnets

D 10.1.1.0 [90/20514560] via 12.12.12.1, 00:49:02, Serial1/0

12.0.0.0/24 is subnetted, 1 subnets

C 12.12.12.0 is directly connected, Serial1/0

23.0.0.0/24 is subnetted, 1 subnets

C 23.23.23.0 is directly connected, Serial1/1

172.16.0.0/24 is subnetted, 1 subnets

C 172.16.1.0 is directly connected, FastEthernet0/0

D 192.168.1.0/24 [90/20514560] via 23.23.23.3, 00:49:07, Serial1/1

R3#show ip route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 1 subnets

D 10.1.1.0 [90/21026560] via 23.23.23.2, 00:51:11, Serial1/1

12.0.0.0/24 is subnetted, 1 subnets

D 12.12.12.0 [90/21024000] via 23.23.23.2, 00:51:16, Serial1/1

23.0.0.0/24 is subnetted, 1 subnets

C 23.23.23.0 is directly connected, Serial1/1

172.16.0.0/24 is subnetted, 1 subnets

D 172.16.1.0 [90/20514560] via 23.23.23.2, 00:51:16, Serial1/1

C 192.168.1.0/24 is directly connected, FastEthernet0/0

二、在R1配置ACL

1. 配置

R1(config)#access-list 101 deny tcp 10.1.1.0 0.0.0.255 host 192.168.1.100 eq 80

R1(config)#access-list 101 deny icmp 10.1.1.0 0.0.0.255 any

R1(config)#access-list 101 permit ip any any

R1(config)#int f0/0

R1(config)#ip access-group 101 in

2. 认证

R1#show access-list

Extended IP access list 101

deny tcp 10.1.1.0 0.0.0.255 host 192.168.1.100 eq www

deny icmp 10.1.1.0 0.0.0.255 any

permit ip any any

R1#show ip interface

FastEthernet0/0 is up, line protocol is up (connected)

Internet address is 10.1.1.1/24

Broadcast address is 255.255.255.255

Address determined by setup command

MTU is 1500 bytes

Helper address is not set

Directed broadcast forwarding is disabled

Outgoing access list is not set

Inbound access list is 101

……

如图5.2所示,主机A无法访问Web服务器。

图5.2 主机A访问Web服务器

如图5.3所示,主机A无法ping通主机C。

图5.3 主机A ping主机C

三.在R2配置ACL

.配置

R2(config)# access-list 100 permit tcp host 172.16.1.100 host 172.16.1.2 eq 23

R2(config)# access-list 100 permit tcp host 172.16.1.100 host 12.12.12.2 eq 23

R2(config)# access-list 100 permit tcp host 172.16.1.100 host 23.23.23.2 eq 23

R2(config)# access-list 100 deny tcp any host 23.23.23.2 eq 23

R2(config)# access-list 100 deny tcp any host 12.12.12.2 eq 23

R2(config)# access-list 100 deny tcp any host 172.16.1.2 eq 23

R2(config)# access-list 100 permit ip any any

R2(config)#int s1/0

R2(config)#ip access-group 100 in

R2(config)#int s1/1

R2(config)#ip access-group 100 in

R2(config)#int f0/0

R2(config)#ip access-group 100 in

1

2.认证

R2#show ip interface

FastEthernet0/0 is up, line protocol is up (connected)

Internet address is 172.16.1.2/24

Broadcast address is 255.255.255.255

……

Outgoing access list is not set

Inbound access list is 100

……

Serial1/0 is up, line protocol is up (connected)

Internet address is 12.12.12.2/24

Broadcast address is 255.255.255.255

……

Outgoing access list is not set

Inbound access list is 100

……

Serial1/1 is up, line protocol is up (connected)

Internet address is 23.23.23.2/24

Broadcast address is 255.255.255.255

……

Outgoing access list is not set

Inbound access list is 100

……

在R2上设置telnet登录密码:

R2(config)#line vty 0 4

R2(config-line)#password cisco

R2(config-line)#login

在主机C上telnet路由器R2:

PC>telnet 12.12.12.2

Trying 12.12.12.2 ...

User Access Verification

Password:

R2>

在主机A上telnet路由器R2:

PC>telnet 23.23.23.2

Trying 23.23.23.2 ...

% Connection timed out; remote host not responding

PC>telnet 12.12.12.2

Trying 12.12.12.2 ...

% Connection timed out; remote host not responding

PC>

[知识链接]

一.什么是ACL?

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

二.访问控制列表使用原则

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

1.最小特权原则

只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。

2.最靠近受控对象原则

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

3、默认丢弃原则

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

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

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

三.ACL工作过程

图5.4 ACL对数据包检查过程

图5.5 ACL工作过程

四.标准访问列表

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

1.标准访问控制列表的格式

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

它的具体格式如下:

access-list ACL号 permit | deny {test-condition}

如:

access-list 10 deny 192.168.1.0 0.0.0.255 // 将所有来自192.168.1.0网段的数据包丢弃

access-list 10 deny host 192.168.1.1 // 将所有来自192.168.1.1地址的数据包丢弃

access-list 10 permit any

{test-condition}中有三种情况:

(1) 网段地址 反掩码

(2) host ip地址

(3) any ,表示任何ip地址

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

注意,一旦添加了访问控制列表,最后默认为deny any,所以,一般,在ACL最后要加上permit any规则。

2.将访问控制列表应用到某一接口上

例如:

int e1 // 进入E1端口。

ip access-group 10 in // 将ACL 1宣告

标准ACL占用路由器资源很少,是一种最基本最简单的访问控制列表格式。应用比较广泛,经常在要求控制级别较低的情况下使用。如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求。

五.扩展访问控制列表

上面我们提到的标准访问控制列表是基于IP地址进行过滤的,是最简单的ACL。那么如果我们希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。这时候就需要使用扩展访问控制列表了。使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如WWW,FTP等)。扩展访问控制列表使用的ACL号为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地址后的子网掩码。

表5-1 常见端口号

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

扩展ACL功能很强大,他可以控制源IP,目的IP,源端口,目的端口等,能实现相当精细的控制,扩展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规则:

permit 1.1.1.1 0.0.0.0

permit 2.2.2.2 0.0.0.0

permit 3.3.3.3 0.0.0.0

如果我们发现第二条命令应该是2.2.2.1而不是2.2.2.2,如果使用不是基于名称的访问控制列表的话,使用no permit 2.2.2.2 0.0.0.0后整个ACL信息都会被删除掉。正是因为使用了基于名称的访问控制列表,我们使用no permit 2.2.2.2 0.0.0.0后第一条和第三条指令依然存在。

如果设置ACL的规则比较多的话,应该使用基于名称的访问控制列表进行管理,这样可以减轻很多后期维护的工作,方便我们随时进行调整ACL规则。

七.反向访问控制列表

我们使用访问控制列表除了合理管理网络访问以外还有一个更重要的方面,那就是防范病毒,我们可以将平时常见病毒传播使用的端口进行过滤,将使用这些端口的数据包丢弃。这样就可以有效的防范病毒的攻击。

不过即使再科学的访问控制列表规则也可能会因为未知病毒的传播而无效,毕竟未知病毒使用的端口是我们无法估计的,而且随着防范病毒数量的增多会造成访问控制列表规则过多,在一定程度上影响了网络访问的速度。这时我们可以使用反向控制列表来解决以上的问题。

反向访问控制列表格式非常简单,只要在配置好的扩展访问列表最后加上established即可。 例如:

access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.0 0.0.0.255 established

定义ACL101,容许所有来自172.16.3.0网段的计算机访问172.16.4.0网段中的计算机,前提是TCP连接已经建立了的。当TCP连接没有建立的话是不容许172.16.3.0访问172.16.4.0的。

八.基于时间的访问控制列表

上面我们介绍了标准ACL与扩展ACL,实际上我们数量掌握了这两种访问控制列表就可以应付大部分过滤网络数据包的要求了。不过实际工作中总会有人提出这样或那样的苛刻要求,这时我们还需要掌握一些关于ACL的高级技巧。基于时间的访问控制列表就属于高级技巧之一。

九.动态ACL

动态ACL是对传统访问表的一种重要功能增强。

动态ACL是能够自动创建动态访问表项的访问列表。传统的标准访问列表和扩展的访问列表不能创建动态访问表项。一旦在传统访问列表中加入了一个表项,除非手工删除,该表项将一直产生作用。而在动态访问表中,读者可以根据用户认证过程来创建特定的、临时的访问表项,一旦某个表项超时,就会自动从路由器中删除。

本文来源:https://www.bwwdw.com/article/q2t4.html

Top