Шпаргалка по iptables — 27 сентября 2026 г. в 19:42:25.219
Шпаргалка по iptables Краткое руководство для управления брандмауэром на базе командной строки Linux. Основные команды 1. Просмотр правил: sudo iptables -L Показать текущие правила для всех цепочек (INPUT, OUTPUT, FORWARD). sudo iptables -L -v -n Показать правила с дополнительной информацией (количество пакетов, байты) и без разрешения DNS-имен (использует IP-адреса). 2. Добавление правила: sudo iptables -A [CHAIN] -p [PROTOCOL] --dport [PORT] -j [ACTION] Пример: Разрешить входящие соединения на 22 порт (SSH): sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT 3. Удаление правила: Чтобы удалить правило, необходимо сначала узнать его номер. Сначала выведите правила с номерами: sudo iptables -L --line-numbers После этого удалите правило по его номеру: sudo iptables -D [CHAIN] [NUMBER] Пример: Удалить правило номер 3 из цепочки INPUT: sudo iptables -D INPUT 3 4. Сброс всех правил: Чтобы очистить все правила: sudo iptables -F 5. Сохранение правил: После настройки правил сохраните их: sudo iptables-save > /etc/iptables/rules.v4 6. Загрузка сохраненных правил: sudo iptables-restore < /etc/iptables/rules.v4 Основные цепочки - INPUT: Правила для входящих пакетов. - OUTPUT: Правила для исходящих пакетов. - FORWARD: Правила для пересылаемых пакетов (маршрутизация). Основные действия (таргеты) - ACCEPT: Пропустить пакет. - DROP: Отклонить пакет (без уведомления отправителя). - REJECT: Отклонить пакет с отправкой уведомления. - LOG: Записать пакет в системный журнал. Примеры использования 1. Запретить все входящие пакеты, кроме тех, которые разрешены: sudo iptables -P INPUT DROP sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 2. Разрешить входящие пакеты только с конкретного IP: sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT 3. Блокировка конкретного IP: sudo iptables -A INPUT -s 192.168.1.100 -j DROP 4. Ограничение скорости на определенный порт: sudo iptables -A INPUT -p tcp --dport 22 -m limit --limit 10/min -j ACCEPT 5. Проброс портов (NAT): Для проброса порта с внешнего интерфейса на внутренний IP: sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:80 6. Постоянное логирование дропнутых пакетов: sudo iptables -A INPUT -j LOG --log-prefix "iptables DROP: " --log-level 4 Полезные опции - -A: Добавить правило в конец цепочки. - -I: Вставить правило в указанную позицию. - -D: Удалить правило. - -F: Очистить все правила. - -P: Установить политику для цепочки. - -t [table]: Выбрать таблицу (например, nat, filter). 👉 @i_odmin_book