【笔记】ACL学习笔记

前言

ACL包过滤技术学习笔记
ACL主要基于三层IP地址和四层端口号进行过滤
ACL可以在路由器上配置,也可以在防火墙上配置

ACL的原理

  • ACL表必须应用到接口的进或出方向才生效
  • 一个接口的一个方向只能应用一张表
  • 进还是出方向取决于流量控制的总方向
  • ACL表是严格自上而下检查每一条,所以要注意书写顺序
  • 每一条策略是由条件和动作组成,当某流量没有满足某条件,则继续检查下一条
  • 标准ACL尽量写在靠近目标的地方
  • 扩展ACL尽量写在靠近起始的地方
  • 一般情况下,标准ACL和扩展ACL一旦写好,无法修改某一条,也无法删除某一条,也无法修改顺序,也无法在中间插入新的项目,只能一直在最后添加新的条目。如想修改、插入、删除,只能删除正常表,重新写

基本命令

标准ACL

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

  • 在全局配置模式下

<num>:表号,范围:1-99
<status>:允许还是拒绝

permit:允许
deny:拒绝

<ip>:源IP地址或者网段
<mask>:反子网掩码

1
access-list <num> <status> <ip> <mask>

简写

  • <ip> <mask><ip> 0.0.0.0时,可以简写为host <ip>

  • <ip> <mask>0.0.0.0 255.255.255.255时,可以简写为any

扩展ACL

  • 可以基于源IP、目标IP、端口号、协议等对包进行过滤

  • 在全局配置模式下

<num>:表号,范围:100-199
<protocol>:协议,tcp/udp/icmp/ip。如果不过滤端口号,协议通常为icmp/ip
<ip_source>:源IP地址或网段
<mask_source>:对应源IP的反子网掩码
<ip_target>:目标IP地址或网段
<mask_target>:对应目标IP的反子网掩码

1
access-list <num> <status> <protocol> <ip_source> <mask_source> <ip_target> <mask_target>

过滤端口号

  • 如果过滤端口号,协议为tcp或者udp

<protocol>:协议,tcp/udp/icmp/ip。如果过滤端口号,协议通常为tcp/udp
<port>:端口号
<scope>:范围

eq:等于
gt:大于
lt:小于
ge:大于等于
le:小于等于

1
access-list <num> <status> <protocol> <ip_source> <mask_source> <ip_target> <mask_target> <scope> <port>

简写

  • <ip> <mask><ip> 0.0.0.0时,可以简写为host <ip>

  • <ip> <mask>0.0.0.0 255.255.255.255时,可以简写为any

删除整张表

1
no access-list <num>

查看所有表

1
show ip access-list

查看单张表

1
show ip access-list <num>

应用到指定接口

  • 进入到接口配置模式

<status>:进规则或出规则

in:进规则
out:出规则

1
ip access-group <num> <status>

反子网掩码

概念

  • 将正子网掩码二进制的0和1倒置
正子网掩码 反子网掩码
255.255.255.255 0.0.0.0
255.255.255.0 0.0.0.255
255.255.0.0 0.0.255.255
255.0.0.0 0.255.255.255

作用

  • 用来匹配源IP地址或者网段,与0对应的位置需要严格匹配,与1对应的位置忽略匹配

完成

参考文献

哔哩哔哩——千锋教育网络安全学院