2017-03-01 60 views
-1

当我在iptables中使用negation时,它是否仅影响“!”后面的参数,还是会影响后面的所有内容?例如,如果我只想让ip地址1.2.3.4只执行ssh而没有别的,我使用iptables否定:它影响哪些部分?

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

否定只影响“!”后的参数,

相关问题