Основные команды 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 позволяет вам контролировать поток трафика в вашей системе. Эти базовые команды помогут вам защитить инфраструктуру и решать сетевые проблемы.