当我在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
答案 0 :(得分:0)
否定仅影响"!"
之后的参数