商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > iptables如何使用通配符

iptables如何使用通配符

  发布于2026-06-30 阅读(0)

扫一扫,手机访问

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

iptables如何使用通配符

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 的话,端口匹配会失效。

看完理论,直接上几个常见场景的规则示例,感受一下实际怎么配:

  1. 允许所有来源 IP 访问本机的 80 端口(HTTP)

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  2. 允许来自 192.168.0.0/24 网段的 IP 访问本机的 22 端口(SSH)

    iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
  3. 允许任意来源 IP 访问本机的任意端口(仅限新连接)

    iptables -A INPUT -m state --state NEW -j ACCEPT
  4. 阻止来自特定 IP 范围的访问,例如 192.168.0.0/24 网段

    iptables -A INPUT -s 192.168.0.0/24 -j DROP

最后提醒一句:iptables 规则是按顺序从上到下匹配的,遇到匹配的规则就停止后续处理。所以通用规则放后面,具体规则放前面,这是最基本的规矩,否则可能出现意料之外的放行或拦截。

本文转载于:https://www.yisu.com/ask/70013090.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注