= Linux IPTables = Виды МЭ (условно): * линейный (ipfw) * табличный (pf) * графовый (iptables) == IPTables == Ключевая ссылка [[https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html|IPTables HowTo]] Общее устройство [[https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html]] ([[http://www.opennet.ru/docs/RUS/iptables/|довольно старый перевод]]): * ядерная часть + утилита управления `iptables` * «Пакеты» транспортного и сетевого уровня * Правила обработки пакетов: ''условие → действие'' по принципу «кто первый попал» * Правила объединены в цепочки (действие выглядит как переход в другую цепочку) * Цепочки бывают разного типа (это называется «цепочка из таблицы») * Переход между цепочками по умолчанию: Естественный граф обработки проходящих пакетов: {{attachment:LecturesCMC/LinuxNetwork2013/10-FireWalls/tables_traverse.jpg}} * Возврат из пользовательских цепочек Команды (над цепочками): * -A, -D, -R №, -I № * -F, -Z * -N, -X Параметры: * -t Table (по умолчанию — filter) Действия: * ACCEPT, DROP, REJECT, RETURN * SNAT, DNAT, MASQUERADE, NETMAP * LOG, ULOG * MARK, CONNMARK * QUEUE * … Условия: * -s, -d (IP); -i, -o (iface) * -p протокол, --sport, --dport * --icmp-type № * -m ''подмодуль'' * mark, connmark * conntrack, state (TCP) * helper (прикладной уровень) * owner (как имя процесса, так и IDs) * recent