Отрицание iptables: на какие части это влияет?
Когда я использую отрицание в 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). По логике вещей, not-оба эквивалентны или-или-нет. Итак, 1.2.3.4-port-80 удовлетворяет (нет (как 1.2.3.4, так и port-22)), но я не хочу, чтобы 1.2.3.4 подключался к порту 80.
Как далеко вниз от "!" делает "!" влияют? Нужно ли добавлять лишние "!" лайк
iptables -I INPUT ! -s 1.2.3.4 ! -dport 22 -j DROP
Спасибо за помощь!
lisprog