Online Mind Mapping and Brainstorming

Create your own awesome maps

Online Mind Mapping and Brainstorming

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.