options
当这 3 条规则的顺序改变时,有什么区别吗?
iptables -A INPUT -p tcp --syn --dport 9000 -m set --match-set someSet src -j ACCEPT
iptables -A INPUT -m set --match-set someSet src --dport 9000 -p tcp --syn -j ACCEPT
iptables -A INPUT --dport 9000 -p tcp --syn -m set --match-set someSet src -j ACCEPT
遍历是否遵循规则中的选项顺序?
以此规则为例:
iptables -A INPUT -p tcp --syn --dport 9000 -m set --match-set someSet src -j ACCEPT
这是否意味着 iptables 首先查找SYN
然后检查目标端口是否等于 9000 最后在集合中查找匹配项?
在此示例中:
iptables -A INPUT -m set --match-set someSet src --dport 9000 -p tcp --syn -j ACCEPT
这是否意味着 iptables 首先在集合中查找匹配项,然后检查目标端口是否等于 9000,最后查找SYN
?
尽管它们在被接受时都会给出相同的结果,但如果在 iptables 中进行排序,它们在被拒绝时可能会得到更优化options
。
答案1
选项的顺序大部分是不相关的。
您可以通过保存规则来验证这一点,您应该看到它们最终都以相同的方式结束。
逻辑顺序是:协议、端口、状态、模块