Eu tenho a seguinte configuração com 2 redes e 3 clientes:
Rede A: 192.168.0.0/16
Rede B: 172.16.0.0/12
O cliente 1 está conectado à rede A (192.168.0.1)
O cliente 2 (Windows Server) está conectado à rede A (192.168.0.2) e à rede B (172.16.0.2)
O cliente 3 está conectado à rede B (172.16.0.1)
Na minha configuração o Client 2 funciona como uma ponte entre as duas redes. Não posso modificar a estrutura de rede existente, instalar qualquer software no Cliente 1 ou 3 ou modificar o sistema de forma alguma.
O cliente 1 está enviando pacotes UDP para o cliente 2 (192.168.0.2) para a porta 1202. Agora quero encaminhar os pacotes para o cliente 3 (172.16.0.1) para a porta 1202. Se possível, isso também deve funcionar na direção oposta.
O comando a seguir usando netsh deve ter feito isso funcionar.
netsh interface portproxy add v4tov4 listenaddress=192.168.0.2 listenport=1202 connectaddress=172.16.0.1 connectport=1202
No entanto, isso só funciona para tráfego TCP e não para UDP.
Eu também encontrei um programa chamado Simple UDP proxy/pipe encontrado neste site , mas não consegui fazer com que ele encaminhe nenhum tráfego.
Eu recomendaria usar socat... este programa também existe para windows link . Leva um pouco de tempo para ler essa ferramenta, mas é realmente poderosa.
Aqui está uma explicação de como encaminhar o tráfego udp com socat.
Existe outra maneira: você pode transformar seu servidor Windows em um roteador de rede. Este artigo explica como. Você precisaria das rotas corretas instaladas nos clientes 1 e 3 - portanto, essa opção é mais complicada.