我有两个客户
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
我希望这对某人有帮助。