对于以下 iptables 规则:
iptables -A INPUT -p icmp -m icmp --icmp-type 255 -j ACCEPT
我不确定“-m”的意义是什么,因为“-p”已经存在。在这种情况下它有什么用吗?在保留所有功能的情况下,可以将上述简化为以下之一吗?
iptables -A INPUT -p icmp --icmp-type 255 -j ACCEPT
或者
iptables -A INPUT -m icmp --icmp-type 255 -j ACCEPT
感谢您的任何提示。
-p
指定协议,同时-m
指定使用的匹配模块。匹配的模块可能有不同的类型,或者您可以在那里指定多个模块。这就是为什么你需要单独的标志。有关 -m 的各种用途,请参阅 iptables 联机帮助页部分MATCH EXTENSIONS
。但是,在您的情况下
-p x
意味着-m x
,因此第二条规则与第一条规则同样有效。第三条规则无效。尽管 -m 在某些情况下可以独立使用,但您必须在此处与 -p 一起使用它,因为您不能在不显式指定协议的情况下使用(协议)匹配模块。