garett пишет:А как это будет выглядеть применительно к цепочке FORWARD в моем случае?
garett, я же вам уже ответил на Linux.org.ru. Что вам непонятно?
В цепочке важна очерёдность правил, если пакет, проходящий через цепочку подходит под некоторое правило, правила перебираются по порядку, то пакет обрабатывается этим правилом и последующие правила в цепочке проверяться не будут.
Т.е. в вашем случае
*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
заместо OUTPUT должна быть цепочка FORWARD, это раз, два, правило должно быть первым, потому как транзитный пакет в начале будет обработан правилами
-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 FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT