我有一台 Linux 服务器 S,带有两张网卡,一张(“netA”)在 192.168.1.x 上,另一张(netB)在 192.168.2.x 上。netB 通过点对点 wifi 连接到 netB 的其余部分。
为了让 netB 卡找到 netA,我必须在 netB 卡上启用 proxyARP。一切都很顺利,直到我尝试了两个使用 UDP 相互通信的程序(一个在 netA 上,另一个在 netB 上)。
服务器好像把netA端应用请求的源IP改成了netB的IP。(用tcpdump远程监控):
# On netA's card:
11:42:36.107179 IP 192.168.1.102.4321 > 192.168.2.101.4321: UDP, length 17
# One netB's side:
11:43:02.172829 IP 192.168.2.115.4321 > 192.168.2.101.4321: UDP, length 17
结果是 netB 上的客户端程序无法识别发送方。
服务器上未启用任何 NAT。
有人能想到造成这种 IP 转换的原因吗?而我,在 netB 端,能确定真正的数据包来源吗?