ACL访问控制实验——CISCO

发布于:2023-01-22 ⋅ 阅读:(14) ⋅ 点赞:(0) ⋅ 评论:(0)

访问控制列表的定义       

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

ACL作用

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

ACL分类

标准ACL:

表号为1-99

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

扩展ACL:

表号为100-199

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

ACL原理

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