iptables如何使用通配符
iptables中IP地址通配符可用192.168.0.*或CIDR,端口通配符用冒号或连字符范围,协议通配符用all。规则按顺序匹配,通用规则后置、具体规则前置,以优化过滤效率。
在配置 iptables 规则时,经常需要批量匹配 IP 地址、端口或协议。很多人会问:能不能像文件通配符那样用 `*` 号直接搞定?答案是肯定的,只是写法上有些小讲究。下面就把几种常见的通配符用法拆开讲清楚。

IP 地址通配符
最常用的有两种方式:
- 点分十进制 + 星号:比如
192.168.0.*表示 192.168.0.x 整个网段。注意这里的星号不具备正则通配能力,只是 iptables 对内建模式的一种约定用法。 - CIDR 表示法:更标准也推荐的做法是写
192.168.0.0/24,一眼就能看出子网掩码,不容易出错。
端口号通配符
端口号本身没有“星号”打法,但可以通过范围来实现类似效果:
- 冒号范围:比如
80:100表示从 80 到 100 的所有端口。 - 连字符范围:写法类似
80-100,效果与冒号相同。 - 星号+端口:比如
*:80并不是标准的 iptables 语法,实际不要这样用。要匹配任意源 IP 访问 80 端口,直接写--dport 80即可,不用指定源地址。
协议通配符
协议字段可以用 all 表示所有协议,例如 -p all。也可以直接用 -p tcp 或 -p udp 指定具体协议。其实多数情况下,规则里都会显式指定协议,因为你不写 tcp/udp 的话,端口匹配会失效。
看完理论,直接上几个常见场景的规则示例,感受一下实际怎么配:
允许所有来源 IP 访问本机的 80 端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT允许来自 192.168.0.0/24 网段的 IP 访问本机的 22 端口(SSH)
iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT允许任意来源 IP 访问本机的任意端口(仅限新连接)
iptables -A INPUT -m state --state NEW -j ACCEPT阻止来自特定 IP 范围的访问,例如 192.168.0.0/24 网段
iptables -A INPUT -s 192.168.0.0/24 -j DROP
最后提醒一句:iptables 规则是按顺序从上到下匹配的,遇到匹配的规则就停止后续处理。所以通用规则放后面,具体规则放前面,这是最基本的规矩,否则可能出现意料之外的放行或拦截。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。





