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

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

  • Вывод установленных настроек (выведет настройки для таблицы по умолчанию):
     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...