Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

ip_tables by Mind Map: ip_tables
0.0 stars - reviews range from 0 to 5

ip_tables

commands

-L, --list

iptables -L INPUT

Вывод списка правил в заданной цепочке. Если не указать, то всех цепочек.

-A, --append

iptables -A INPUT ...

Добавляет новое правило в конец заданной цепочки.

-D, --delete

iptables -D INPUT --dport 80 -j DROP, iptables -D INPUT 1, Новый узел

Удаление правила из цепочки. По критерию или по номеру(2й пример).

-I, --insert

iptables -I INPUT 1 --dport 80 -j ACCEPT

Вставляет новое правило в цепочку, цифра за именем цепочки указывает перед каким правилом вставить новое.

-F, --flush

iptables -F [INPUT] [-t table]

Сброс (удаление) всех правил из заданной цепочки (таблицы), без параметров -- все правила всех цепочек в таблице filter

-P, --policy

iptables -P INPUT (DROP|ACCEPT)

Задает политику по-умолчанию для заданной цепочки. т.е. если не применилось ни одно правило

-N, --new-chain

iptables -N allowed

создать новую цепочку, имя-- уникальное.В нее потом можно добавлять правила.

-X, --delete-chain

iptables -X allowed

Удаление заданной цепочки из заданной таблицы. Удаляемая цепочка не должна иметь правил и не должно быть ссылок из других цепочек на удаляемую цепочку. Если имя цепочки не указано, удалятся все цепочки заданной таблице кроме встроенных.

Критерии совпадения

Общие критерии

-p, --protocol, iptables -A INPUT -p tcp, Этот критерий используется для указания типа протокола(см /etc/protocols) можно юзать как имена так и числовые обозначения, -p ! tcp==(все кроме TCP)

-s, --src, --source, iptables -A INPUT -s 192.168.1.1[/<mask>], IP-адрес(а) источника пакета. -s ! 192.168.1.0/24 -- все кроме подсетки

-d, --dst, --destination, -d, --dst, --destination, same as prev)

-i, --in-interface, iptables -A INPUT -i eth0, Интерфейс, с которого был получен пакет. т.е. на который фактически пришел в систему.олько в цепочках INPUT, FORWARD и PREROUTING

-p, --protocol, iptables -A INPUT -p tcp, Этот критерий используется для указания типа протокола(см /etc/protocols) можно юзать как имена так и числовые обозначения, -p ! tcp==(все кроме TCP)

Неявные Критерии

TCP, --sport, --source-port, iptables -A INPUT -p tcp --sport 22, Исходный порт, с которого был отправлен пакет. 22:80 диапазон портов; "! 22", "! 22:80" -- инверсия;, --dport, --destination-port, iptables -A INPUT -p tcp --dport 22, Порт или диапазон портов, на который адресован пакет., --tcp-flags, iptables -p tcp --tcp-flags SYN,FIN,ACK SYN, Определяет маску и флаги tcp-пакета. Пакет считается удовлетворяющим критерию, если из перечисленных флагов в первом списке в единичное состояние установлены флаги из второго списка. Так для вышеуказанного примера под критерий подпадают пакеты у которых флаг SYN установлен, а флаги FIN и ACK сброшены.

UDP, --sport, --source-port, iptables -A INPUT -p udp --sport 53, Исходный порт, с которого был отправлен пакет. В качестве параметра может указываться номер порта или название сетевой службы. варианты: :80, 20:80, 80: Если есть "!" то инверсия "--sport ! :80" -- все кроме 0-80, --dport, --destination-port, iptables -A INPUT -p udp --dport 53, Порт, на который адресован пакет. Формат аргументов полностью аналогичен принятому в критерии --source-port.

ICMP, --icmp-type, iptables -A INPUT -p icmp --icmp-type 8, Тип сообщения ICMP определяется номером или именем. iptables --protocol icmp --help ; ! == инвертирование

Явные Критерии

--limit, limit-burst, iptables -A INPUT -m limit --limit 3/hour, Устанавливается средняя скорость "освобождения емкости" за единицу времени, iptables -A INPUT -m limit --limit-burst 5 -j DROP, Устанавливает максимальное значение числа burst limit для критерия limit., Предположим наличие правила, содержащего критерий -m limit --limit 5/second --limit-burst 10. Ключ limit-burst установил объем "емкости" равный 10-ти. Каждый пакет, который подпадает под указанное правило, направляется в эту емкость. Допустим, в течение 1/1000 секунды, мы получили 10 пакетов, тогда с получением каждого пакета "уровень" в "емкости" будет возрастать: 1-2-3-4-5-6-7-8-9-10. Емкость наполнилась. Теперь пакеты, подпадающие под наше ограничительное правило, больше не смогут попасть в эту "емкость" (там просто нет места), поэтому они (пакеты) пойдут дальше по набору правил, пока не будут явно восприняты одним из них, либо подвергнутся политике по-умолчанию. Каждые 1/5 секунды "уровень" в воображаемой емкости снижается на 1, и так до тех пор, пока "емкость" не будет опустошена. Через секунду, после приема 10-ти пакетов "емкость" готова будет принять еще 5 пакетов. Само собой разумеется, что "уровень" в "емкости" возрастает на 1 с каждым вновь пришедшим пакетом.

--mac-source, iptables -A INPUT -m mac --mac-source 00:00:00:00:00:01, MAC адрес сетевого узла, передавшего пакет. ! -- для инверсии

Muliport, --source-port, iptables -A INPUT -p tcp -m multiport --source-port 22,53,80,110, С помощью данного критерия можно указать до 15 различных портов, только совместно с критериями -p tcp или -p udp, --destination-port, iptables -A INPUT -p tcp -m multiport --destination-port 22,53,80,110, same, --port, iptables -A INPUT -p tcp -m multiport --port 22,53,80,110, проверка портов обоих направлений

Owner, --uid-owner, iptables -A OUTPUT -m owner --uid-owner 500, Производится проверка "владельца" по User ID (UID)., --gid-owner, iptables -A OUTPUT -m owner --gid-owner 0, Производится проверка "владельца" пакета по Group ID (GID)., --pid-owner, iptables -A OUTPUT -m owner --pid-owner 78, Производится проверка "владельца" пакета по Process ID (PID), --sid-owner, iptables -A OUTPUT -m owner --sid-owner 100, Производится проверка Session ID пакета.

--state, iptables -A INPUT -m state --state RELATED,ESTABLISHED, Проверяется признак состояния соединения (state): INVALID, ESTABLISHED, NEW и RELATED

Действия и переходы

Переход на своб цепочку

iptables -N tcp_packets Теперь мы можем выполнять переходы на эту цепочку подобно: iptables -A INPUT -p tcp -j tcp_packets

ACCEPT

Если над пакетом выполняется действие ACCEPT, то пакет прекращает движение по цепочке (и всем вызвавшим цепочкам, если текущая цепочка была вложенной) и считается ПРИНЯТЫМ в данной таблице, но может быть отвергнут в другой

DROP

Игнорирует текущий пакет, но оставляет открытым соединение, лучше использовать REJECT

REJECT

--reject-with, iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset, REJECT используется, как правило, в тех же самых ситуациях, что и DROP, но в отличие от DROP, команда REJECT выдает сообщение об ошибке на хост, передавший пакеттипы ответов: icmp-net-unreachable, icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unreachable, icmp-net-prohibited и icmp-host-prohibited.