发布于2026-06-30 阅读(0)
扫一扫,手机访问
在配置 iptables 规则时,经常需要批量匹配 IP 地址、端口或协议。很多人会问:能不能像文件通配符那样用 `*` 号直接搞定?答案是肯定的,只是写法上有些小讲究。下面就把几种常见的通配符用法拆开讲清楚。

最常用的有两种方式:
192.168.0.* 表示 192.168.0.x 整个网段。注意这里的星号不具备正则通配能力,只是 iptables 对内建模式的一种约定用法。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 规则是按顺序从上到下匹配的,遇到匹配的规则就停止后续处理。所以通用规则放后面,具体规则放前面,这是最基本的规矩,否则可能出现意料之外的放行或拦截。
下一篇:Debian中C++库文件在哪找
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8