Você estava pensando na direção certa, mas usou uma regra errada.
$ iptables -t nat -A PREROUTING -p tcp -d your_static_ip_of_eth1 \
--dport 8888 -j DNAT --to-destination 192.168.1.90:8888
Esta regra irá encaminhar todo o tráfego que chega ao seu servidor com a porta de destino 8888 e com o ip de destino da sua interface eth1 para o seu servidor interno. Se você desejar alterá-lo para que seu servidor responda na porta 80
, substitua o número da porta da opção --dport
. Se você gosta de alterar a porta do servidor, altere a porta da opção --to-destination
.
Eu assumo que você protegeu o seu sistema com um conjunto adequado de regras do iptables, mas para completar, por favor considere estas regras também:
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth2 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -o eth0 -j ACCEPT
-A FORWARD -o eth1 -j ACCEPT
-A FORWARD -i eth2 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
Além disso, você precisa do roteamento ipv4 ativado, então edite /etc/ufw/sysctl.conf e descomente:
net/ipv4/ip_forward=1