📌 iptables — это утилита для настройки брандмауэра в Linux, основанного на Netfilter. Используется для фильтрации пакетов и организации NAT.
🛠 Основные цепочки
🔹
INPUT — обработка входящего трафика 🔹
OUTPUT — обработка исходящего трафика 🔹
FORWARD — пересылаемый трафик (маршрутизация) 🔹
PREROUTING — изменения пакетов до маршрутизации 🔹
POSTROUTING — изменения пакетов после маршрутизации 📖 Базовые команды
🔍 Посмотреть текущие правила:
iptables -L -v -n # Краткий список правил
iptables -S # Вывести правила в виде команд
🚀 Добавить правило:
iptables -A ЧЕЙН -p ПРОТОКОЛ --dport ПОРТ -j ДЕЙСТВИЕ
Пример: Разрешить SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
❌ Удалить правило (по номеру):
iptables -D ЧЕЙН НОМЕР
Пример:
iptables -D INPUT 1
🔥 Сброс всех правил:
iptables -F # Очистить все цепочки
iptables -X # Удалить кастомные цепочки
iptables -Z # Сбросить счетчики
💾 Сохранение правил:
iptables-save > /etc/iptables.rules
🔄 Загрузка сохраненных правил:
iptables-restore < /etc/iptables.rules
🔒 Примеры настроек брандмауэра
📌 Блокировка IP-адреса:
iptables -A INPUT -s 192.168.1.100 -j DROP
📌 Открыть доступ к порту (например, HTTP 80):
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
📌 Блокировка всех подключений кроме определенного IP:
iptables -P INPUT DROP
iptables -A INPUT -s 192.168.1.50 -j ACCEPT
📌 Лимит соединений (не более 10 за минуту с IP):
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
📌 SNAT (Замена исходного IP-адреса, NAT):
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
📌 Редирект (Port Forwarding, DNAT):
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
🏆 Полезные советы
✅ Проверка логов iptables:
dmesg | grep iptables
journalctl -k | grep DROP
✅ Добавление правил с логированием:
iptables -A INPUT -p tcp --dport 23 -j LOG --log-prefix "Telnet blocked: "
iptables -A INPUT -p tcp --dport 23 -j DROP
✅ Автозагрузка iptables при старте системы:
netfilter-persistent save
netfilter-persistent reload
(Пакет
iptables-persistent должен быть установлен: apt install iptables-persistent) 💡 Совет: Всегда проверяйте правила перед сохранением! Ошибка может заблокировать вам доступ к серверу.
@sysadmin1