Você poderia tentar isso (o tráfego de entrada para a porta 1234
será redirecionado para 4321
no host local, onde você pode ter seu script escutando):
iptables -I INPUT -p tcp --dport 1234 -j ACCEPT
iptables -I INPUT -p tcp --dport 4321 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 1234 -j REDIRECT --to-ports 4321
Se você quiser acessar a porta 1234
da mesma máquina, precisará adicionar uma regra OUTPUT
, já que PREROUTING
não é usado pela interface de loopback:
iptables -t nat -I OUTPUT -p tcp -o lo --dport 1234 -j REDIRECT --to-ports 4321
Agora, no servidor, você pode tentar ouvir com nc -l 4321
(aqui você pode usar seu próprio script). Em um cliente, tente nc server_host_name_or_ip 1234
e escreva qualquer coisa para verificar se o servidor está fazendo corretamente o redirecionamento.
Não se esqueça de salvar a configuração iptables
!