Отрицание 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

1 ответ

Отрицание влияет только на параметр после "!"

Другие вопросы по тегам