我正在尝试使用socat(而不是iptables)进行UDP端口转发。 我只需要将一些stream量从UDP端口162redirect到33162。
我使用的是这样的: socat udp-listen:162,pktinfo,fork UDP:localhost:33162
麻烦的是,在监听端口33162的应用程序中,我看到127.0.0.1 ,这是不合理的。 我希望stream量保持其源地址。
这可能与socat?
Socat是一个代理,这意味着它代表别的东西连接到一个port / service / etc。 这意味着从你的服务angular度来看,这个连接源于socat。 一般来说,没有简单的方法来解决这个问题。
Linux确实具有“透明代理”的支持,但是这需要在代理应用程序中提供明确的支持,而且快速search并没有透露任何可以用于UDP通信的东西。
使用iptablesredirect通信将提供一个更干净的解决scheme。