Você disse "com apenas a porta 80 aberta". Se outras portas estiverem bloqueadas por algum firewall externo (por exemplo, um roteador com NAT, somente a porta 80 é encaminhada para você), uma regra básica pode ser assim:
iptables -t nat -A PREROUTING -p TCP --dport 80 -s 192.168.1.7 -j REDIRECT --to-port 1234
Tomando todo o tráfego que entra na porta 80
, ele redireciona o que for de 192.168.1.7
para a porta 1234
, deixando o restante intacto.
Observação iptables
opera na primeira fase , portanto, convém fazer
iptables -t nat -I PREROUTING …
em vez disso.
Para várias formas de especificar vários possíveis endereços de origem, consulte as respostas a esta pergunta: iptables
IPs de várias origens .
Mas se "com apenas a porta 80 aberta" significa que você tem iptables -A INPUT …
regras que só permitem a porta 80, espero que o acima, por si só, não funcione. Isso ocorre porque nat/PREROUTING
funciona primeiro. Nesse caso, você também deve desbloquear a outra porta.