Сначала вам следует обратиться к странице справочника команды, если вы не понимаете, почему / как она работает. От man iptables
:
[!] -p, --protocol протокол
Протокол правила или пакета для проверки. Указанный протокол может быть одним из tcp, udp, udplite, icmp, esp, ah, sctp или специальным ключевым словом "all", или может быть числовым значением, представляющим один из этих протоколов или другой.
Имя протокола из /etc /protocol также разрешено. А!msgstr "аргумент перед протоколом инвертирует тест. Число ноль эквивалентно всем. "all" будет соответствовать всем протоколам и будет использоваться по умолчанию, если эта опция не указана.
[!] -s, --source address [/mask] [, ...]
Спецификация источника. Адрес может быть сетевым именем, именем хоста, сетевым IP-адресом (с /mask) или обычным IP-адресом. Имена хостов будут разрешены только один раз, прежде чем правило будет отправлено в ядро. Обратите внимание, что указание любого имени для разрешения с помощью удаленного запроса, такого как DNS, является действительно плохой идеей. Маска может быть либо маской сети, либо простым числом, указывающим количество единиц в левой части маски сети. Таким образом, маска 24 эквивалентна 255.255.255.0. А!msgstr "аргумент перед спецификацией адреса инвертирует смысл адреса. Флаг --src является псевдонимом для этой опции. Можно указать несколько адресов, но это расширится до нескольких правил (при добавлении с -A) или приведет к удалению нескольких правил (с -D).
-j, --jump target
Это указывает цель правила; что делать, если пакет соответствует ему. Целью может быть определенная пользователем цепочка (отличная от той, в которой содержится это правило), одна из специальных встроенных целей, которые немедленно решают судьбу пакета, или расширение (см. Ниже ДОПОЛНЕНИЯ). Если эта опция опущена в правиле (и -g не используется), то совпадение с правилом не повлияет на судьбу пакета, но счетчики в правиле будут увеличены.
[!] -i, - в имени интерфейса
Имя интерфейса, через который был получен пакет (только для пакетов, входящих в цепочки INPUT, FORWARD и PREROUTING). Когда "!"аргумент используется перед именем интерфейса, смысл инвертирован. Если имя интерфейса заканчивается на «+», то любой интерфейс, начинающийся с этого имени, будет совпадать. Если эта опция не указана, любое имя интерфейса будет совпадать.
ТСР
Эти расширения могут использоваться, если указан `--protocol tcp '. Он предоставляет следующие возможности: [..]
[!] --destination-port, - dport port [: port]
Порт назначения или спецификация диапазона портов. Флаг --dport является удобным псевдонимом для этой опции. [..]
Поэтому команда iptables, о которой вы спрашиваете о прочтении: TCP-пакеты drop (-j DROP
) (-p tcp
) с IP-адресов 192.168.1.0-192.168.1.255 (-s 192.168.1.0/24
) направлены на порт 80 (--dport 80
) на этом хосте (-A INPUT
) и входит на интерфейс eth1 (-i eth1
).'
Обратите внимание, что, если флаг -t
не указан, подразумевается -t filter
(это также упоминается в руководстве).
Обновление (на основе комментария от ОП):
Приведенная выше строка iptables
не имеет ничего общего с пакетами, поступающими с IP-адреса 1.2.3.4, и, вероятно, должна быть пропущена, если серверу / маршрутизатору не нужно блокировать пакеты, исходящие из подсети 192.168.1.0/24.