iptables Основные команды. Шпаргалка

Основные понятия iptables

  • Цепочки -- независимые списки правил (действий обработки пакетов).
  • Таблицы -- независимые группы цепочек.

Формат команды iptables

iptables -t таблица действие цепочка дополнительные_параметры

Основные действия:

  • -A - добавить правило в цепочку;
  • - проверить все правила;
  • -D - удалить правило;
  • -I - вставить правило с нужным номером;
  • -L - вывести все правила в текущей цепочке;
  • -S - вывести все правила;
  • -F - очистить все правила;
  • -N - создать цепочку;
  • -X - удалить цепочку;
  • -P - установить действие по умолчанию.

Основные команды

  • Вывод установленных настроек (выведет настройки для таблицы по умолчанию):
     iptables -L

    также можно указать имя таблицы настроек, напр. отвечающую за маршрутизацию nat:

     iptables -t nat -L
  • Редирект/перенаправление порта:
    iptables -A PREROUTING -t nat -i enp0s8 -p tcp --dport 80 -j REDIRECT --to-port 9721
    

    где:

    • enp0s8 - имя вашего интерфейса.
    • 80 -- входящий порт
    • 9721 -- порт, на который перенаправляется трафик со входящего

Добавление правила без дублирования

Для добавления правила без дублирования (надежно если нет других процессов делающих то же самое, иначе не надежно), можно использовать флаг -C, напр. вместо:

iptables -A PREROUTING -t nat -i enp0s8 -p tcp --dport 80 -j REDIRECT --to-port 9755

писать:

iptables -C PREROUTING -t nat -i enp0s8 -p tcp --dport 80 -j REDIRECT --to-port 9755

Об опции:

-C, --check chain rule-specification
Check whether a rule matching the specification does exist in the selected chain. This command uses the same logic as -D to find a matching entry, but does not alter the existing iptables configuration and uses its exit code to indicate success or failure.

Удаление правила

Если вы добавляли правило командой вроде:

  iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

То для удаления делаем то же самое, только с флагом -D:

 iptables -D INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Полезные источники. Что почитать

  1. How to configure iptables on Debian: https://upcloud.com/community/tutorials/...
  2. Пример команды редиректа, перенаправления портов: https://askubuntu.com/a/1119096
  3. Настройка iptables для чайников: https://losst.ru/nastrojka-iptables-dlya...
  4. A Deep Dive into Iptables and Netfilter Architecture (в т.ч. назначение таблиц): https://www.digitalocean.com/community/t...
  5. Перечисление и удаление правил брандмауэра Iptables: https://www.digitalocean.com/community/t...
  6. Iptables Викиучебник: https://ru.wikibooks.org/wiki/Iptables
  7. 21 пример использования iptables для администраторов: http://vasilisc.com/21-examples-iptables
  8. Настройка межсетевого экрана в Linux (викиучебник): https://ru.wikibooks.org/wiki/%D0%9D%D0%...