连接不同网络的客户端,我无法更改其网络配置

连接不同网络的客户端,我无法更改其网络配置

我有两个客户

Android 手机使用热点(192.168.43.1/24)另一台设备使用静态 ip(192.168.1.10/24)我无法更改任何人的网络配置,首先因为 android 热点是硬编码在里面的(用 root 是可能的但这不是一个有效的解决方案)和其他工业设备现在无法更改 ip。

我需要做的是让它们之间进行通信,例如简单的 ping。我知道使用网络掩码这很容易,但正如我所说,不可能更改任何网络配置。

您将如何解决这个问题?我的想法是在它们之间放置另一个设备,例如 Raspberry Pi,并捕获发往网络 1 的 IP 的数据包,然后将其修改为网络 2 的 IP。这是一个可行的解决方案吗?

谢谢

答案1

最后的解决方案是混合使用 IPTABLES 和虚拟 IP,所有这些都是在它们之间的中间 Linux 网关中完成的。它们之间的这个 Linux 设备有两个 iface,wlan0 (43.20) 和 eth0 (1.1)

首先我添加了两个虚拟 IP

ifconfig wlan0:1 192.168.43.21/24
ifconfig eth0:1 192.168.1.2/24

然后我使用 IPTABLES 将这些虚拟 IP 重定向到网关的另一端:

iptables -t nat -A PREROUTING -i wlan0 -s 192.168.43.1 -d 192.168.43.21 -j DNAT --to-destination 192.168.1.10
iptables -t nat -A POSTROUTING -o eth0 -d 192.168.1.10 -j MASQUERADE

iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.10 -d 192.168.1.2 -j DNAT --to-destination 192.168.43.1
iptables -t nat -A POSTROUTING -o wlan0 -d 192.168.43.1 -j MASQUERADE

我希望这对某人有帮助。

相关内容