将本地主机收到的 UDP 数据包克隆到另一个 IP

将本地主机收到的 UDP 数据包克隆到另一个 IP

我有一个machine A本地 IP 192.168.0.199- 我想克隆本地机器上收到的所有 udp 数据包并转发到机器 A

我在 IP 表中尝试了以下操作

sudo iptables -A OUTPUT -t nat -p udp -s 127.0.0.1 --dport 32000 -j TEE --gateway 192.168.0.199

on machine A- 我开始监听 UDP 数据包netcat -l -u -p 32000

在我的本地机器上 - 我发送了一个测试 UDP 数据包

echo 'ved' | nc -u 127.0.0.1 32000

该数据包似乎到达了我的本地实例端口,但我似乎无法接收克隆的数据包machine A-

我还需要做其他什么事吗?

编辑- 所以如果我执行tcpdumpon machine A- 数据包似乎确实到达了端口 - 但不确定为什么 netcat 没有捕获到 - 我也尝试监听所有接口

sudo tcpdump -n udp port 32000 -e

在此处输入图片描述

似乎确实显示了传入的数据包 - 但为什么 netcat 没有捕获到它

这可能与源 IP 没有改变有关吗?tcpdump 仍然显示 127.0.0.1 作为源 IP

答案1

因此,问题似乎是machine A由于目标 IP 没有被 TEE 模块更改,导致数据包被丢弃

因此在Machine AIP 表中我必须运行这个 sudo iptables -t nat -A PREROUTING -p udp --dport 32000 -j NETMAP --to 192.168.0.199

相关内容