ACL访问控制列表

本文详细介绍了ACL的基本概念、组成、作用及工作机制,并通过实例演示了标准ACL与扩展ACL的具体配置过程。

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

一、什么是ACL

     ACL是一个有序的语句集,它通过对比报文中的字段值与访问列表参数,来允许和拒绝报文通过某个接口,这种控制可以限制网络数据流和限制某些用户对网络的使用。它最直接的作用就是包过滤,一般在路由器和三层交换机上进行网络安全属性配置。

二、ACL组成

    ACL由条件和操作组成。

   1>条件:用来匹配数据包中的字段值。

   2>操作:条件匹配的时候,采取允许和拒绝两种操作。所有的ACL末尾都隐式的添加了一条拒绝所有的语句。

三、ACL的作用

   1>安全控制:允许符合条件的数据包进行转发,不符合条件的语句不进行转发。例如:在一个公司的内部,财务部的数据是比较机密的,它的数据不应该是谁都可以访问的。这个时候需要进行ACL设置,来控制那些数据是可以转发的。从而保证系统安全。

   2>流量过滤:这个功能是防止一些不必要的数据包通过路由器。提高网络带宽的利用率

   3>数据流量标识:当一个公司有两条以上出口线路的时候,才会用到这个功能,这个功能是为了和路由策略一起实现对流量转发的分工。

四、ACL的工作机制

      ACL一般是部署在接口上,分为in或者out。分别对应数据流进入接口实施ACL和数据流出接口实施ACL。

      如果在接口上配置的是进入的ACL,那么它的工作流程如下:路由器会查看该接口上是否配置了ACL,如果没有配置,直接查找路由表进行转发,如果配置了且允许通过,则查找路由表进行转发,否则拒绝,发送ICMP信息。

      

     下面是在出站接口上配置的ACL,它的具体工作流程如下:首先查看路由是否存在,如果存在且没有配置ACL,直接进行转发。否则,要查看是否允许转发,如果进行配置允许,则转发,否则拒绝转发,发送ICMP信息。

     

五、ACL的种类

   ● 标准IP访问控制列表

   ● 扩展IP访问控制列表

   ● MAC访问控制列表

   ● MAC扩展访问控制列表

   ● Expert访问控制列表

   ● Ipv6访问控制列表

六、ACL的命令格式:

    访问控制列表需要一个访问控制列表号:所有的访问控制列表号都在下表中列出:

IP标准ACL1-99,1300-19999
IP扩展ACL100-199,2000-2699
MAC扩展ACL700-799
专家扩展ACL2700-2899
IPX标准ACL800-899
IPX扩展ACL900-999
IPX SAP1000-1099

     同时,还需要注意两个单词,一个是host表示主机的意思,host 192.168.1.1 这时候就不用写成192.168.1.1 0.0.0.0 这样的形式,还有一个是any表示任意网段。同时配置ACL的时候,需要注意ACL放置的位置。

标准ACL配置命令:

        (config)#access-list 访问控制列表号  permit|deny  host 主机IP地址

        (config)#access-list 访问控制列表号  permit|deny  网段  反掩码

        (config-if)#ip access-group 访问控制列表号 {in|out}

        在配置标准ACL的时候,同样可以基于名称的ACL 

        (config)#ip access-list standard 名称

        (config-std-nacl)#permit|deny  网段  反掩码

 扩展ACL:

         (config)#access-list 访问控制列表号  permit|deny  协议  原地址网段 掩码 目的地址网段  反掩码   端口号

         (config-if)#ip access-group 访问控制列表号 {in|out}

         扩展ACL同样可以基于名称配置

         (config)#ip access-list extended 名称

         (config-ext-nacl)#permit|deny  协议  原地址网段 掩码 目的地址网段  反掩码   端口号

下面列出了常用的端口号,方便进行扩展ACL的配置

    下面给出的是tcp的端口号

名称端口号描述
bgp179边界网关协议
cmd514远程命令
domain53域名系统区域传输
ftp21文件传输协议控制通道
ftp-data20FTP数据通道
pop3110邮局协议V3
smtp25简单邮件传输协议
telnet23Telnet
www80www服务
     下面是给出的UDP的端口号:

      

名称端口号描述
domain53DNS查询和回复
ntp123网络时间协议
rip520RIP路由协议
snmp161简单网络管理协议
tftp69简单文件传输协议

七、实验配置实例

1.标准的ACL

下面是一个标准的ACL配置方案。图中各个主机的和路由器的IP地址在图上已经标注。下面来部署ACL,在左边的路由器上f0/1的接口上部署标准ACL。允许192.168.1.100主机和192.168.3.0网段的主机访问192.168.2.100这个主机。下面是具体的配置命令。


Router(config)#access-list 1 permit host 192.168.1.100

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

Router(config)#interface f0/1

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

完成上述配置之后,即可完成192.168.1.100和192.168.3.0网段对主机192.168.2.100的访问。在这里要注意一下接口上

2.配置扩展的ACL

      上面是本次实验的拓扑图,PC0的Ip地址为192.168.1.2 掩码为255.255.255.0 网关为192.168.1.1,PC1的Ip地址为192.168.2.2 掩码为255.255.255.0 网关为192.168.2.1。三层交换机上,创建VLan2和VLan3,IP地址分别为192.168.1.1和192.168.2.1。f0/1的IP地址为192.168.3.1/24,路由器上f0/1的Ip地址为192.168.3.2/24,f0/0的IP地址为192.168.4.1/24.
      现在要做如下配置:PC0可以访问服务器的www服务,但是不能访问FTP服务。
                                   PC1可以访问服务器的FTP服务,但是不能访问WWW服务。
下面是具体的配置命令:
在三层交换机上的配置命令:
Switch(vlan)#vlan database
Switch(vlan)#vlan 2 name 2
Switch(vlan)#vlan 3 name 3
Switch(vlan)#exit
Switch#configure terminal
Switch(config)#interface FastEthernet0/1
Switch(config-if)#exit
Switch(config)#interface FastEthernet0/2
Switch(config-if)#exit
Switch(config)#interface FastEthernet0/2
Switch(config-if)#switchport access vlan 2
Switch(config-if)#exit
Switch(config)#interface FastEthernet0/3
Switch(config-if)#switchport access vlan 3
Switch(config-if)#exit
Switch(config)#interface FastEthernet0/1
Switch(config-if)#switchport mode trunk

Switch(config)#interface vlan 2

Switch(config-if)#ip address 192.168.1.1 255.255.255.0

Switch(config-if)#exit

Switch(config)#interface vlan 3

Switch(config-if)#ip address 192.168.2.1 255.255.255.0

Switch(config-if)#exit

Switch(config)#interface f0/1

Switch(config-if)#no switchport

Switch(config-if)#ip address 192.168.3.1 255.255.255.0

Switch(config)#ip routing

Switch(config)#ip address 0.0.0.0 0.0.0.0 192.168.3.2

在路由器上的配置命令:

Router(config)#interface FastEthernet0/1

Router(config-if)#no shutdown

Router(config-if)#ip address 192.168.3.2 255.255.255.0

Router(config-if)#exit

Router(config)#interface FastEthernet0/0

Router(config-if)#no shutdown

Router(config-if)#ip address 192.168.4.1 255.255.255.0

Router(config-if)#exit

Router(config)#ip router 0.0.0.0 0.0.0.0 192.168.3.1

上述配置完成之后,整个网络可以全部ping通。下面要在路由器上配置ACL

Router(config)#access-list 110 permit tcp host 192.168.1.2 host 192.168.4.2 eq 80

Router(config)#access-list 110 permit tcp 192.168.2.0 0.0.0.255 host 192.168.4.2 eq 21

Router(config)#access-list 110 permit tcp 192.168.2.0 0.0.0.255 host 192.168.4.2 eq 20

Router(config)#interface f0/1

Router(config-if)#ip access-group 110 in


八、注意事项

    在配置ACL的时候,要注意ACL的放置位置,一般来说,标准ACL放置的离目的近,扩展ACL放置的离源近。下面,我用一个例子来说明为什么要这么配置:

   

如果要进行如下配置,允许PC0访问所有资源,除了访问服务器。 

        根据配置规则,配置标准的ACL,应离目标近,应该把他放置在Router4的f0/0出口上,但是现在如果我们不放在那个出口,换一个放置的位置,比如Router3的f0/0接口上,由于标准ACL只查看源地址,这样会导致PC0不能访问所有的主机和服务器。

       如果是扩展ACL的话,尽量放置离源近的地方,比如Router3的f0/0接口上,否则,会浪费网络带宽。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值