Eu nunca usei o UFW para minha configuração do iptables. Eu sempre usei scripts iptables / bash da linha cmd para realizar meu firewall. Então minha resposta aqui vai estar nesse formato.
Esta regra é para realizar o NAT que você deseja:
iptables -t nat -A PREROUTING -d 91.121.XXX.XXX -p tcp --dport 2121 -j DNAT --to 192.168.122.59:21
O que ele faz é aceitar conexões TCP no IP 91.121.XXX.XXX:2121 e NAT-los para a sua VM na porta 21.
Supondo que sua política FORWARD
esteja definida como DROP
, você também precisará garantir que está permitindo conexões com sua VM por meio de:
iptables -A FORWARD -d 192.168.122.59 -p tcp --dport 21 -j ACCEPT
Ambas as regras são REQUERIDAS para que o NAT / encaminhamento funcione corretamente em seu cenário (embora, se a sua política FORWARD
for ACCEPT
, a segunda regra na cadeia FORWARD
seja desnecessária).
Se isso não funcionar, poste a saída de iptables -vnL
, bem como iptables -t nat -vnL
, e eu posso ajudar ainda mais.
Espero que isso ajude.