我有一个应用程序在端口 Y (UDP) 上运行。是否可以在不接触应用程序 A 的情况下创建镜像,以在应用程序 A 中接收消息,并在不同端口 Y 上另外在应用程序 B(同一主机)中接收消息?
我尝试过
socat udp-listen:x,reuseaddr,fork udp:localhost:y
不幸的是,socat
在端口 X 上启动侦听器,并且应用程序 a 没有收到消息。
我还阅读了一些iptables
带有 mangle 的解决方案 - 我的版本似乎不再支持它iptables
。
它需要在两个不同的平台上运行:
- Ubuntu 20.04 与 iptables v1.8.4(旧版)
- SLES12SP5 v1.4.21
我无法在eth0
接口的子网中使用第二个 IP 地址。
答案1
啊,你可以这样做与IP表...
从该网站:
iptables -t mangle -A PREROUTING -p UDP --dport 162 -j TEE --gateway 127.0.0.2
iptables -t nat -A PREROUTING -d 127.0.0.2 -p UDP --dport 162 -j DNAT --to 127.0.0.1:1162
在我链接的网站上阅读更多相关信息。