Добрый вечер, коллеги :-) Вопрос элементарный, наверное - но что-то не могу разобраться: вот конфиг iptables сетевого шлюза:
*filter
-A FORWARD -s 192.168.1.0/24 -i eth0 -o eth1 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.10/32 -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -d 192.168.1.20/32 -i eth1 -p tcp -m tcp --dport 3390 -j ACCEPT
COMMIT
*nat
-A PREROUTING -d 192.168.0.178/32 -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.10:3389
-A PREROUTING -d 192.168.0.178/32 -i eth1 -p tcp -m tcp --dport 3390 -j DNAT --to-destination 192.168.1.20:3390
-A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
COMMIT
Политика такая - разрешено все, проброшены 2 порта на 2 рабочих станции, шлюз объединяет 2 сети - внутренняя (192.168.1.0/24) и «внешний мир», 192.168.0.0/24. Мне нужно в этот скрипт вписать правило для OUTPUT, чтобы на определенный внешний IP пакеты не проходили. Попробовал вот так (для упрощения - нужно заблокировать 8.8.8.8):
*filter
-A FORWARD -s 192.168.1.0/24 -i eth0 -o eth1 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.10/32 -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -d 192.168.1.20/32 -i eth1 -p tcp -m tcp --dport 3390 -j ACCEPT
-A OUTPUT -d 8.8.8.8 -j REJECT
COMMIT
Но в таком виде не сработало, пакеты успешно продолжают ходить. В чем тут ошибка, подскажите, пожалуйста :-)