Несколько примеров использования Iptables

Когда-то я размещал у себя в блоге статью по основам применения такого мощного инструмента как Iptables. Сейчас же я хочу добавить несколько примеров, которые чаще всего использую.

Открыть доступ в интернет для компьютеров в локальной сети используя NAT:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

eth0 — внешний сетевой интерфейс.

Пробросить порт снаружи на внутреннюю машину с помощью NAT:

iptables -t nat -A PREROUTING -p tcp -d 222.222.222.222 --dport 7777 -j DNAT --to-destination 192.168.1.5:3389

«222.222.222.222» — внешний ip шлюза, «7777» — порт, на шлюзе для подключений из интернета (любой), «3389» — целевой порт на внутренней машине 192.168.1.5. В данном случае при подключении из вне на айпи 222.222.222.222 и порт 7777, мы попадем на 192.168.1.5:3389.

Просмотреть нумерованный список правил NAT для исходящих трансляций:

iptables -t nat -L POSTROUTING --line-numbers

или для входящих:

iptables -t nat -L PREROUTING --line-numbers

для удаления конкретного правила NAT (обязательно явно указывать PREROUTING или POSTROUTING):

iptables -t nat -D POSTROUTING <номер правила>

или

iptables -t nat -D PREROUTING <номер правила>

соответственно.

Заблокировать все попытки подключения на все порты конкретному ip адресу:

iptables -A INPUT -p ALL -s <ip-адрес> -j DROP