socat encaminhamento de pacotes udp com endereço de origem

1

Estou tentando usar socat (em vez de iptables) para o encaminhamento de porta UDP. Eu só preciso redirecionar algum tráfego da porta UDP 162 para 33162.

Estou usando algo assim: socat udp-listen:162,pktinfo,fork UDP:localhost:33162

O problema é que, no aplicativo que está escutando na porta 33162 como o endereço de origem, vejo 127.0.0.1 , o que não é desejável. Eu gostaria que o tráfego mantivesse seu endereço de origem.

Isso é possível com socat?

    
por RockyMM 10.06.2015 / 14:39

1 resposta

3

O Socat é um proxy, o que significa que ele faz conexões com uma porta / serviço / etc em nome de outra coisa. Isso significa que, da perspectiva do seu serviço, a conexão se origina com socat. Em geral, não há uma maneira fácil de contornar esse comportamento.

O Linux tem suporte a "proxy transparente", mas isso requer suporte explícito em seu aplicativo proxy e uma pesquisa rápida não revelou nada que funcionasse com o tráfego UDP.

O uso do iptables para redirecionar o tráfego forneceria uma solução mais limpa.

    
por 10.06.2015 / 15:30