Após algumas noites de escavação, parece mais fácil do que eu pensava: good'ol socat
no Windows é a resposta. Assim, a máquina do Windows se torna o encaminhador de porta (e seu IP pode ser usado no dispositivo):
socat tcp-l:local-port,fork,reuseaddr tcp:remote-host:remote-port
por exemplo:
socat tcp-l:80,fork,reuseaddr tcp:google.com:80
Socat no modo tcp-listen
estabelece conexão sob demanda, aparentemente sempre resolvendo o nome do host no endereço (verificado no arquivo de modificação de hosts). As opções fork
e reuseaddr
para tcp-listen
não são necessárias, tornando o comando mais tranquilo em caso de problemas.