网络技术二十一:ACL包过滤

ACL包过滤

ACL

定义

访问控制列表

用于数据流的匹配和筛选

常见功能

访问控制:ACL+Packet-filter

路由控制:ACL+Route-policy

流量控制:ACL+QOS

引入

ACL (Access Control List,访问控制列表)是用来实现数据包识别功能的

ACL可以应用于诸多方面:

包过滤防火墙功能

NAT (Network Address Translation,网络地址转换)

QoS (Quality of Service,服务质量) 的数据分类

路由策略和过滤

按需拨号

基于ACL的包过滤

ACL包过滤的局限性

定义

对进出的数据包逐包检查,丢弃或允许通过

包过滤必须配置在接口的某个方向上才能生效

一个接口的一个方向只能配置一个包过滤策略

包过滤的方向

入方向:只对从外部进入的数据包做过滤

出方向:只对从内部发出的数据包做过滤

包过滤的工作流程

1.数据包到达接口检查是否应用了ACL,是则进入匹配,否则放行

2.按照ACL编号匹配第一条规则,匹配则进一步检查该条规则动作,否则与下一条规则进行匹配

3.继续进行匹配,如匹配则检查规则动作,否则与下一条进行匹配

...

4.所有规则都不匹配,检查默认动作

注意事项

如果默认动作是允许,至少需要一条拒绝规则

如果默认动作是拒绝,至少需要一条允许规则

H3C的ACL用于包过滤默认允许,用于其他默认拒绝

把小范围的规则分配一个靠前的顺序

在不影响实际效果前提下,把包过滤尽量配置在离源地址最近的接口的入方向

入站包过滤流程

ACL分类

基本ACL

只对数据包的源地址进行匹配

编号2000-2999

高级ACL

对数据包的五元组进行匹配(源IP,目的IP,源端口,目的端口,协议)

编号3000-3999

常用命令

h3c\]acI basic'acl-number' 创建基本ACL,进入ACL视图 \[h3cJacl advanced 'acl-number' 创建高级ACL,进入ACL视图 \[h3c-acI-basic-2000\]rule 'rule id' 'permit/deny' source 'ip address' 'wild-mask' 创建基本ACL规则 如不写ruleid,则系统自动从0开始以5的倍数增加序号 \[h3c-acl-advanced-3000\]rule 'rule id''permit/deny' 'protocol' source 'ip address''wild-mask' source-port 'port' destination 'ip address' 'wild-mask' destination-port 'eg/t/gt/neq/range' 'port' 创建高级ACL规则 \[h3c-GigabitEthernet 0/0\]packet-filter 'acl number' 'inbound/outbound' 配置包过滤 \[h3c\]packet-filter default deny 更改默认动作为拒绝

相关推荐
IT成长日记1 天前
【Nginx开荒攻略】Nginx虚拟主机配置:从域名、端口到IP的完整指南
linux·运维·服务器·nginx·虚拟主机
迎風吹頭髮1 天前
UNIX下C语言编程与实践53-UNIX 共享内存控制:shmctl 函数与共享内存管理
服务器·c语言·unix
猫头虎1 天前
如何查看局域网内IP冲突问题?如何查看局域网IP环绕问题?arp -a命令如何使用?
网络·python·网络协议·tcp/ip·开源·pandas·pip
黑马金牌编程1 天前
Linux 服务器常见的性能调优
linux·运维·服务器·性能优化
liuyao_xianhui1 天前
Linux_基本指令1
linux·运维·服务器
liliangcsdn1 天前
LLM时代基于unstructured解析非结构化pdf
linux·服务器·数据分析
hello_2501 天前
动手模拟docker网络-bridge模式
网络·docker·桥接模式
武文斌771 天前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
爱吃喵的鲤鱼1 天前
仿mudou——Connection模块(连接管理)
linux·运维·服务器·开发语言·网络·c++
爱吃小胖橘1 天前
Unity网络开发--超文本传输协议Http(1)
开发语言·网络·网络协议·http·c#·游戏引擎