Ubuntu 的 IPtables 是否有 IP 地址通配符

Ubuntu 的 IPtables 是否有 IP 地址通配符

我需要设置 IPtables 来接受许多内部 IP 上的流量。是否有可用于部分 IP 地址的通配符?例如:192.168。

或者有更好的选择吗?

答案1

iptables 不认识通配符,但使用了 CIDR 方法。Fe: -s 192.168.0.0/24 将覆盖从 192.168.0.1 到 192.168.0.254 的所有主机。

您可以找到有关 CIDR 的更多信息这里

答案2

本身没有通配符,但您可以指定 CIDR 网络掩码:

192.168.0.0/16

以上就是您所给出的示例的 CIDR 等效内容。

答案3

这并不是真正的通配符,您可以通过子网匹配 IP 地址:

192.168.0.0/16 192.168.1.0/24 192.168.2.0/25

另一种方法是使用 ipranges,如下所示:iptables -A INPUT --destination-port 80 -m iprange --src-range From_IP-To_IP -j ACCEPT

还有用于--dest-range的第二个模块。

答案4

对于未来的 Google 用户,截至当前版本的 iptables 1.4.7

单端口 IP 范围

iptables -A INPUT -p tcp --dport 8080 -m iprange --src-range 192.168.0.0-192.168.254.254 -j ACCEPT

多端口 IP 范围

iptables -A INPUT -p tcp -m multiport --dports 21,8080 -m iprange --src-range 192.168.0.0-192.168.254.254 -j ACCEPT

相关内容