专栏首页网络技术联盟站网络工程师从入门到精通-通俗易懂系列 | 访问控制列表-ACL原来还可以这样理解,果断收藏!

网络工程师从入门到精通-通俗易懂系列 | 访问控制列表-ACL原来还可以这样理解,果断收藏!

访问控制列表-ACL

两大功能

流量控制

匹配感兴趣流量

ACL的3P规则

在每一个接口的每一个方向上,只能针对每种第三层协议应用一个ACL

· 每种协议一个 ACL :要控制接口上的流量,必须为接口上启用的每种协议定义相应的 ACL。

· 每个方向一个 ACL :一个 ACL 只能控制接口上一个方向的流量。要控制入站流量和出站流量,必须分别定义两个 ACL。

· 每个接口一个 ACL :一个 ACL 只能控制一个接口上的流量。

ACL的规范

· 每个接口,每个方向,每种协议,你只能设置1 个ACL。

· ACL的语句顺序决定了对数据包的控制顺序。在ACL中各项语句的放置顺序是很重要的。当路由器决定某一数据包是被转发还是被丢弃时,会按照各项语句在ACL中的顺序,根据各语句的判断条件,对数据包进行检查,一旦找到了某一匹配条件就结束比较过程,不再检查以后的其他条件判断语句

· 把最有限制性的语句放在ACL语句的首行或者语句中靠近前面的位置上,把“全部允许”或者“全部拒绝”这样的语句放在末行或接近末行,可以防止出现诸如本该拒绝(放过)的数据包被放过(拒绝)的情况。

· 你不可能从ACL 从除去1 行,除去1 行意味你将除去整个ACL。

· 默认ACL 结尾语句是deny any,所以你要记住的是在ACL 里至少要有1 条permit 语句

· 创建了ACL 后要把它应用在需要过滤的接口上,

· ACL只能过滤穿过路由器的数据流量,不能过滤由本路由器上发出的数据包。

· 在路由选择进行以前,应用在接口in方向的ACL起作用。

· 在路由选择决定以后,应用在接口out方向的ACL起作用。

标准访问控制列表

只能根据源地址做过滤

针对整个协议采取相关动作(允许或禁止)

建议将标准访问控制列表放在里目的地址近的地方,因为标准访问控制列表只能对源IP地址进行过滤

扩展访问控制列表

能根据源、目的地地址、端口号等等进行过滤

能允许或拒绝特定的协议

建议将扩展的访问控制列表放在离源IP地址近的地方,因为扩展访问控制列表可以进行更细化的一些过滤

ACL范围

ACL的入站及出站

入站

在路由选择进行以前,应用在接口in方向的ACL起作用。

当接口入方向收到一个数据包,首先检查接口是否有调用ACL:

· 没有ACL,则根据IP包头中的目的地址查路由

· 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为permit,查路由

· 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为deny,则丢弃

· 有ACL,则根据语句顺序进行匹配,如果一条语句都没有匹配中,最后会被被deny any匹配中,则丢弃

出站

在路由选择决定以后,应用在接口out方向的ACL起作用

· 根据IP包头中的目的地址查路由,有路由,则选择出接口,没有路由,则直接丢弃

· 根据路由查到出接口,出接口out方向是否调用ACL?

· 没有ACL,则直接从接口送出去

· 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为permit,则从出接口送出去

· 有ACL,则根据语句顺序进行匹配,如果匹配中,动作为deny,则丢弃

· 有ACL,则根据语句顺序进行匹配,如果一条语句都没有匹配中,最后会被被deny any匹配中,则丢弃

ACL的匹配流程

· 根据语句顺序进行匹配,如果匹配中一条语句,则直接执行动作

· 如果第一条语句没有匹配中,则匹配第二条

· 末尾隐含deny any

通配符掩码

0 表示严格匹配

1 表示无所谓

简写1:

access-list 1 permit 192.168.1.1 0.0.0.0

access-list 1 permit host 192.168.1.1

简写2:

access-list 1 permit 0.0.0.0 255.255.255.255
access-list 1 permit any

标准ACL配置

access-list 1 deny 192.168.1.1 0.0.0.0
access-list 1 permit 0.0.0.0 255.255.255.255
!
interface e0
ip access-group 1 in

记住:“no access-list access-list-number” 将会删除整个ACL列表

配置了ACL一定要在接口下调用,否则不生效,或者接口下调用了ACL,但是全局下没有这

个ACL,也不生效

扩展ACL配置

access-list 100 deny tcp any host 192.168.2.200 eq 23
access-list 100 permit ip any any
!
interface e1
ip access-group 1 out

记住:“no access-list access-list-number” 将会删除整个ACL列表

命名标准ACL配置

ip access-list standard 1 (可以是序号,也可以是名字)
10 permit host 192.168.1.1
20 permit any

命名扩展ACL配置

ip access-list extended 100 (可以是序号,也可以是名字)
10 deny tcp any host 192.168.2.200 eq 23
20 permit ip any any

命名序列号步长默认为10

ACL语句修改

ip access-list extended 100

no 10 //删除语句10

11 deny tcp any host 192.168.2.200 eq 80 //在语句20前插入一条,序号为11

从定义ACL序列号步长:

ip access-list resequence xxxx(ACL序号或命名) 10 10 (递增数值)

ACL几个示例

· 拒绝192.168.2.0 网段,使用TCP协议,去访问其他网段的23端口

ip access-list extended 101
10 deny tcp 192.168.2.0 0.0.0.255 any eq telnet
20 permit ip any any

· 禁止所有网段访问192.168.1.1的snmp端口

ip access-list extended 110
10 deny udp any host 192.168.1.1 eq snmp
s20 permit ip any any

· 拒绝172.16.4.0 网段,使用TCP协议,去访问172.16.3.0网段的20,21端口,放行其他流量

ip access-list extended 101
10 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21
20 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20
30 permit ip any any

· 禁止172.16.0.0-172.16.255.0/24之间所有偶数子网访问192.168.1.1的80端口

ip access-list extended 101
10 deny tcp 172.16.0.0 0.0.254.255 host 192.168.1.1 eq 80
20 permit ip any any

一个练习而已,不要当真!!

· 禁止192.168.1.0网段使用 6666端口访问192.168.2.0的3389端口

ip access-list extended 101
10 deny tcp/udp 192.168.1.0 0.0.0.255 eq 6666 192.168.2.0 0.0.0.255 eq 3389

查看ACL

show run | section access-list
show ip access-lists
show ip access-lists interface vlan 10
show ip interface vlan 10
 
Vlan10 is up, line protocol is up
Outgoing access list is not set
Inbound access list is 100

限制设备管理

access-list 1 permit 192.168.1.1
access-list 1 permit 192.168.2.1
!
line vty 0 4
transport input telnet
access-class 1 in

注意事项

  • 交换机的二层接口只能调用in方向的ACL
  • 二层交换机有能力查看ACL中的匹配条件,如源目IP,端口号等等,只是是否有必要而已
  • 交换机ACL可以调用在SVI,或者三层接口上,方法与路由器三层接口一样

努力学习,勤奋工作,让青春更加光彩

再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达

本文分享自微信公众号 - 网络技术联盟站(it666lmz),作者:夏轩

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 网络工程师入门系列 | ACL基础详解

    为了更安全的公司网络环境,可以使用ACL提供的基本通信流量过滤能力来实现。

    网络技术联盟站
  • 华为网络工程师 | 如何配置ACL?

    ACL,是Access Control List的简称,中文名称叫“访问控制列表”。

    网络技术联盟站
  • 网络安全之访问控制列表ACL详解和配置案例(全)

    ACL(Access Control List)称为访问控制列表,顾名思义它是一个列表形式的一组规则。ACL能够识别一个IP数据包中的源IP地址、目的IP地址、...

    网络技术联盟站
  • 浅谈ACL(访问控制列表)

    ACL(访问控制列表)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器,那些数据包可以接收,那些数据包需要拒绝。 基本原理为:ACL使用包过滤技术,在路...

    小手冰凉
  • 网络安全之访问控制列表ACL详解和配置案例(全)

    ACL(Access Control List)称为访问控制列表,顾名思义它是一个列表形式的一组规则。ACL能够识别一个IP数据包中的源IP地址、目的IP地址、...

    网络技术联盟站
  • 【网络技术联盟站】网络安全之访问控制列表ACL详解和配置案例(全)

    ACL(Access Control List)称为访问控制列表,顾名思义它是一个列表形式的一组规则。ACL能够识别一个IP数据包中的源IP地址、目的IP地址、...

    网络技术联盟站
  • YCbCr422 转 RGB888 的 HDL 实现

    ITU-R BT.601 和 ITU-R BT.656 是 国 际 电 信 联 盟 ( International Telecommunication Unio...

    碎碎思
  • 记一次servlet项目启动

    安装之后,输入 catalina -h,可以看到各种命令,如run、start、stop等。

    xiaoxi666
  • Invoke 和 BeginInvoke 的区别

    在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate

    yaphetsfang
  • 滚动条插件

    最近项目中 老板需要 将聊天界面 的滚动条美化一下,所以主编海百了一波,发现一个样式和兼容性不错的滚动条插件 jQuery自定义滚动条样式插件mCustomSc...

    冯杰宁

扫码关注云+社区

领取腾讯云代金券