У меня есть два клиента
Телефон Android делает точку доступа (192.168.43.1/24) Другое устройство со статическим IP (192.168.1.10/24) Я НЕ МОГУ изменить конфигурацию сети у кого-либо, во-первых, потому что точка доступа Android жестко запрограммирована внутри (с root можно, но это не допустимое решение) и другое промышленное устройство, IP-адрес которого пока изменить нельзя.
Что мне нужно сделать, так это установить между ними связь, например, простой пинг. Я знаю, что с сетевыми масками это очень просто, но, как я уже сказал, изменить конфигурацию сети невозможно.
Как бы вы это решили? Моя идея заключалась в том, чтобы поместить между ними другое устройство, например Raspberry Pi, и захватить пакеты, идущие на IP-адрес network1, и изменить их на IP-адрес network2. Это возможное решение?
Спасибо
Наконец, решение представляет собой смесь IPTABLES и VIRTUAL 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
Надеюсь, это кому-то поможет.