定期从动态公共 IP 向公共 IP X:20000 发送 UDP 消息。
需要一个在 IP X:20000 中侦听的代理,然后将复制/克隆数据包转发到 X:20001 和位于 IP Y:20000 的另一台机器。现在,当应用程序在 X:20001 上侦听时,响应到 X:20001 的消息,我希望将该消息从 X:20000 转发回 PC A。
如何在 Linux 中实现此功能?(试图避免自定义脚本)
试图让一个无头服务器中的一个应用程序响应消息,并让一台带有监视器的计算机在需要时实时调试消息。
如果您使用足够新的内核来支持该表,我认为您可以使用
iptables
该工具完成此操作。samplicator
raw
首先,为什么
socat
行不通:处理数据包流socat
相当容易。你只需这样做:这将流量复制到
X.X.X.X:20001
和Y.Y.Y.Y:20000
。但是,这对您没有帮助,因为在 XXXX:20001 上侦听的服务将“看到” 127.0.0.1 作为源地址。那是
samplicator
可以提供帮助的地方。引用samplicator
Google 代码页:这听起来正是我们需要的:源地址。(话虽如此,我还没有真正测试过这个工具。我正在测试的盒子没有安装编译器,我现在不会为了服务器故障而启动一些东西。>微笑<)
您需要做的最后一件事是处理来自 的流量
X.X.X.X:20001
,使其看起来像是来自X.X.X.X:20000
。X.X.X.X:20001
然后,对来自“来自”的回复进行 NATX.X.X.X:20000
:当心:我还没有一起测试所有这些。我用它模拟了它
socat
,它工作正常减去提供的源地址“欺骗”samplicator
。