Основные команды iptables для DevOps-инженеров
iptables — это мощная утилита командной строки для настройки фаервола ядра Linux. Она широко используется для управления сетевым трафиком и защиты систем на базе Linux.
Зачем использовать iptables?
- Блокировка нежелательного трафика
- Разрешение нужных портов
- Перенаправление трафика
- Защита сервисов от несанкционированного доступа
Основной синтаксис iptables
iptables -[A|D|I|R|L] [CHAIN] [ОПЦИИ]
-A: Добавить правило-D: Удалить правило-I: Вставить правило-R: Заменить правило-L: Показать правила
Основные цепочки
INPUT: Входящий трафик на хостOUTPUT: Исходящий трафик с хостаFORWARD: Трафик, проходящий через хост
Примеры
Показать все правила
iptables -L -v -n
Разрешить SSH (порт 22)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Запретить весь входящий трафик по умолчанию
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
Разрешить loopback и установленные соединения
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Удалить правило
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
Сохранение и восстановление правил
Сохранить правила
iptables-save > /etc/iptables/rules.v4
Восстановить правила
iptables-restore < /etc/iptables/rules.v4
Заключение
Понимание iptables позволяет вам контролировать поток трафика в вашей системе. Эти базовые команды помогут вам защитить инфраструктуру и решать сетевые проблемы.