Когда-то я размещал у себя в блоге статью по основам применения такого мощного инструмента как 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