当我尝试运行此命令时:
iptables -A FORWARD -p tcp --dport 22 -s 1.2.4.0/24,9.2.3.0/24 -d 1.2.3.1,1.2.3.2 -j ACCEPT
我收到此错误:
iptables v1.4.1.1: host/network `1.2.4.0/24,9.2.3.0' not found
但是,如果我使用 4 个单独的命令运行所有 4 条规则,则不会出现问题。iptables 不支持使用逗号的多个源和目标地址吗?
谢谢
答案1
iptables1.4.1.1 于 2008-06-06 发布:差不多 12 年前。因此,在检查手册时,应检查其自身版本的手册。从https://netfilter.org/projects/iptables/files/iptables-1.4.1.1.tar.bz2或查看:https://git.netfilter.org/iptables/tree/iptables.8.in?h=v1.4.1.1#n271,以下是手册页源代码的内容:
-s, --source [!] address[/mask]
源规范。地址可以是网络名称、主机名
[...]
1.8.2 的手册页:
[!] -s, --source address[/mask][,...]
源规范。地址可以是网络名称、主机名
[...]
可以指定多个地址,但是这将扩展到多个规则
[...]
旧版本根本不支持多个地址。最终没有技术差异:它与提供 4 (2x2) 条规则相同。
请升级您的操作系统。可能不再受支持。