iptables否定:它影响哪些部分?

时间:2017-03-01 07:33:13

标签: port iptables negation

当我在iptables中使用否定时,它是否仅影响“!”之后的参数,还是会影响之后的所有内容?例如,如果我只允许ip地址1.2.3.4只执行ssh而不执行任何其他操作,我使用

iptables -I INPUT ! -s 1.2.3.4 -dport 22 -j DROP

“!”意味着

(1) NOT ( ip-1.2.3.4 AND port-22 AND target-DROP), or
(2) (NOT ip-1.2.3.4) OR port-22 OR target-DROP, or
(3) NOT ( ip-1.2.3.4 AND port-22 ) OR target-DROP
(4) NOT ( ip-1.2.3.4 AND port-22 ) AND target-DROP
(n) ...

我想要它的意思是:丢弃每个不是的数据包(1.2.3.4和端口-22)。从逻辑上讲,不是两者都等同于任何一个或者没有。因此,1.2.3.4-port-80满足(不是(1.2.3.4和端口-22)),但我不希望1.2.3.4连接到端口80。

距离“!”多远做“!”影响?我需要添加额外的“!”喜欢

iptables -I INPUT ! -s 1.2.3.4 ! -dport 22 -j DROP

感谢您的帮助!

lisprog

1 个答案:

答案 0 :(得分:0)

否定仅影响"!"

之后的参数