
У меня есть Raspberrypi с E3531 UMTS Stick, подключенным к Интернету. Поскольку Rpi не имеет headless, я хотел сделать веб-интерфейс Stick доступным через IP Rpi.
Stick создает сеть 192.168.8.0/24, где интерфейс имеет 192.168.8.1, а Rpi всегда получает 192.168.8.100. Веб-интерфейс доступен через простой http. Rpi может быть доступен либо через wiregurad vpn (построенный через Stick), где у него есть 10.253.3.4/24, либо через его физический интерфейс локальной сети eth0 с 192.168.13.24/24. В идеале веб-интерфейс должен быть доступен в обоих направлениях.
Мой первый подход заключался в том, что интерфейс локальной сети следовал двум правилам:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.8.1:80
iptables -t nat -A POSTROUTING -o enx001e101f0000 -j MASQUERADE
Первое правило перенаправляет http-запросы eth0 самого Rpi на веб-интерфейс, а второе — маскирует исходный адрес для интерфейса флешки (enx001e101f0000)
К сожалению, это не работает. Если я обращаюсь к Rpi в браузере с помощью
http://192.168.13.24
Запрос меняется на и отображается http://192.168.8.1/html/index.html?url=192.168.13.24
ошибка .ERR_ADDRESS_UNREACHABLE
Что я здесь упускаю и откуда берется этот параметр запроса «url»?
заранее спасибо
решение1
Это связано с конфигурацией http-сервера на флешке, которую вы не можете изменить (по крайней мере, навсегда и без модификации прошивки).
Один из вариантов — запустить обратный прокси-сервер и переписать URL-адрес, возвращаемый флешкой.
Вопрос более высокого уровня: зачем вам вообще нужны три DHCP-сервера? Рассмотрите возможность отключения одного из них, чтобы упростить настройку.