ACL访问控制实验——CISCO

本文深入讲解访问控制列表(ACL)的基础概念及应用方法,包括标准ACL与扩展ACL的区别,命名ACL的优势及其配置语法,并探讨了如何利用ACL实现网络流量控制与安全保障。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

访问控制列表的定义       

访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,也可以配置在防火墙上,一般称为策略。借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。
        访问控制列表(Access Control ListsACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
        访问控制列表具有许多作用,如限制网络流量、提高网络性能;通信流量的控制,例如ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量;提供网络安全访问的基本手段;在路由器端口处决定哪种类型的通信流量被转发或被阻塞。

ACL作用

ACL可以限制网络流量、提高网络性能。
ACL提供对通信流量的控制手段。
ACL是提供网络安全访问的基本手段。
ACL可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞

ACL分类

标准ACL:

表号为1-99

只能基于源IP地址对包进行过滤

扩展ACL:

表号为100-199

以源IP地址、目的IP地址、源端口号、目的端口号、协议号作为过滤标准,可以精确的限制到某一种具体的协议。

ACL原理

ACL表的条目是由动作和条件组成的
当数据满足条件时,执行动作
当数据不满足条件时,检测下一个条目
ACL表是严格自上而下检查的
ACL表必须应用在接口的inout方向才会生效
一个接口的一个方向只能调用一个ACL表

标准ACL语法

access-list  表号  permit/deny   IP或源网段  反子网掩码

access-list   1   deny   192.168.1.0   0.0.0.255    (000的反掩码表示严格匹配1网段的包)# 并且给拒绝的是网段

access-list 1 permit any                     # 允许所有流量通过

access-list   1   deny   host 192.168.1.3        #拒绝单个主机通过

标准ACL完整应用

acc 1 deny 192.168.1.0 0.0.0.255    # 拒绝1网段的流量通过

acc 1 permit any         # 还得加一个允许所有通过

查看acl表

show access-list  //查看所有ACL
show access-list <表号>  //查看某个ACL

之后将ACL应用到接口

int f0/0

ip access-list  <表号> in/out

注:一个接口的一个方向只能调用一个ACL表。

拓扑

需求

1.0网段拒绝3.0网段的访问

部署

配置PC16终端地址

配置PC18地址

配置PC17

之后配置路由器各个接口地址以及配置跨段路由;可参考前面的nat笔记,此处时间问题不再列出

配置R5路由

Router(config)#access-list 1 deny 192.168.3.0 0.0.0.255

 Router(config)#access-list 1 permit any

之后可以查看创建的acl表

Router(config)#do show acc

‘’

之后将其表应用接口使其生效

Router(config)#int f0/0                 # 应用于所选接口的最末端的接口使其影响最小

Router(config-if)#ip access-group 1 out      # 流量方向为出方向所以为out

效果测试

此时我们可以发现主机不可达 (访问控制效果生效)

扩展ACL

access-list 表号 permit/deny  协议  源IP或源网段  反子网掩码  目标IP或源网段  反子网掩码  <eq 端口号>

access-list 100 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255  # 拒绝1网段的所有主机访问2网段

access-list 100 permit ip host 192.168.1.2 192.168.2.0 0.0.0.255  # 允许1.2的主机访问2网段

access-list 100 permit tcp 192.168.1.2 0.0.0.0 192.168.2.254 0.0.0.0 eq 80  #允许1.2的主机访问服务器的80端口;可简写为:access-list 100 permit tcp host 192.168.1.2 host  192.168.2.254 eq 80

拓扑

需求

192.168.5.254只允许PC18(3.2)访问;允许1.0网段全部访问;其他主机都拒绝

部署

先配置服务器地址

 

下面三条命令创建ACL表

Router(config)#access-list 100 permit ip host 192.168.3.2 host 192.168.5.254

Router(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 host 192.168.5.254

Router(config)#access-list 100 deny ip any host 192.168.5.254

将建的acl控制表应用到路由器7的F0/1接口(出)

Router(config-if)#ip access-group 100 out

效果图

我们可以看到没应用规则前其他主机也是可以访问的

应用acl规则之后主机不可达

命名ACL

命名ACL是以列表名称代替列表编号来定义ACL,同样包括标准和扩展两种列表。命名ACL还可以被用来从某一特定的ACL中删除个别的控制条目,这样可以使网络管理员方便修改ACL

命名ACL分类

命名标准ACL

命名扩展ACL

命名ACL优点

方便记忆
命名控制列表就是给控制列表取个名字,而不是使用访问控制列表号。
方便管理

        通过命令访问控制列表可以很方便的管理ACL规则,可以随便添加、插入和删除规则,而无需删除整个访问控制列表了

语法

命名标准ACL

Router(config)#ip access-list standard vlan10

Router(config-std-nacl)#permit 192.168.1.0 0.0.0.255

Router(config-std-nacl)#deny 192.168.2.0 0.0.0.255

命名扩展ACL

Router(config)#ip access-list extended WW

Router(config-ext-nacl)#permit tcp host 192.168.1.2 host 192.168.5.254 eq telnet

Router(config-ext-nacl)#permit tcp host 192.168.2.3 host 192.168.5.254 eq www

Router(config-ext-nacl)#permit icmp host 192.168.3.2 host 192.168.5.254

Router(config-ext-nacl)#deny ip any any

### Cisco ACL 配置与测试 #### 实验环境搭建 为了完成Cisco ACL的配置与测试,首先需要构建一个简单的网络拓扑结构。在这个例子中,有两台路由器(R1, R2),以及两个PC终端(pc1, pc2)[^2]。 - **R1接口配置** ```shell int G 0/0/1 ip address 192.168.2.1 255.255.255.0 exit int g 0/0/0 ip address 192.168.1.1 255.255.255.0 ``` - **R2接口配置** ```shell int g 0/0/0 ip address 192.168.2.2 255.255.255.0 ``` - **PC端口配置** - PC1: ```shell int g 0/0/0 ip address 192.168.1.10 255.255.255.0 ``` - PC2: ```shell int g 0/0/0 ip address 192.168.1.11 255.255.255.0 ``` 接着,在R2上设置一条指向R1所在网段(192.168.1.0/24)的静态路由,以便于不同子网间的通信能够正常工作: ```shell [R2]ip route-static 192.168.1.0 255.255.255.0 192.168.2.1 ``` #### 访问控制列表(ACL)创建 现在来定义一个扩展型IP标准访问列表(access-list),用于阻止来自特定主机向另一指定目标发送ICMP回显请求(ping命令): ```shell access-list 199 deny icmp host 192.168.10.10 host 172.16.1.1 echo ``` 这条语句表示拒绝源地址为`192.168.10.10`的目标地址为`172.16.1.1`之间的ping操作[^1]。 注意这里的IP地址并不匹配上述实验环境中所使用的IP范围;实际应用时应调整这些数值以适应具体的网络布局需求。 #### 应用ACL到接口 为了让刚才建立好的ACL生效,还需要将其绑定至相应的物理或逻辑接口之上。假设希望限制从LAN侧发起的数据流,则可以在进入方向(inbound direction)施加此规则给连接内网用户的GigabitEthernet0/0/0接口: ```shell int GigabitEthernet0/0/0 ip access-group 199 in exit ``` 此时任何尝试通过该链路传输并符合前述条件的数据包都将被丢弃而不做进一步处理。 #### 测试验证 最后一步就是检验配置效果了。可以利用ping工具来进行简单测试——比如让位于同一局域网内的PC机互相试探连通状况,观察是否有预期的行为发生。如果一切顺利的话,当试图从某一台机器ping另一个特定目的地址时应该会收到超时提示而不是正常的回应消息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值