Как подключиться удалено к прокси на Rasberry pi?
Задача удалено подключиться к прокси на расбери с выходом в интернет через USB модем (мегафон).
На расбери стоит прокси сервер с выходом в интернет через USB модем (мегафон)
Через ноутбук подключенный к домашнему wifi с прописанным в браузере прокси - все работает, сижу в интернете через мегафон. Параллельно с эти работает и домашний интернет "акадо". Внутри сети работает все как надо. Проблема в том что когда я пытаюсь подключиться удалено - не получается.
Поскольку на "Акадо" нет статического IP - пользуюсь DDNS (noip), проверял работает. На роутере стоит переброска порта. Методом проб и ошибок пришел к выводу что у меня получается дойти до прокси удалено но обратный ответ в расбери теряется и скорей всего выходит не туда. Если отключить USB модем, тогда получается войти в SSH расбери удалено. Как только вставляю USB модем - расбери автоматически подключает интерет мегафон и доступ к SSH прерывается. Не могу понять что мешает. Подскажите, пожалуйста.
конфигурационный файл 3proxy на расбери

вывод команды route на расбери

Ответы (1 шт):
Здесь похоже все не очень сложно.
При подключении PI черзе модем в качестве default gateway для PI вы имеете модем (а вернее тот интерфейс).
Зная основы маршрутизации вы знаете что все пакеты, приходящие с ip не принадлежащим ни одной из сети (подсети) какого либо интерфейса и не относящиеся к какой либо записи в таблице маршрутизации отправляются как раз в default gateway.
При пробросе порта роутером - PI видит в приходящих пакетах оригинальные адреса источников.
NoteBook.srcIp-->router.dnat-->(NoteBook.srcIp)-->PI--> Modem (default route)
Если посмотреть на то что я попытался изобразить, вы вероятно увидете что PI видит именно тот ip источника и согласно своей таблице маршрутизации отправляет ответ именно в default route и поступает правильно.
Ваша задача сделать так чтобы PI принимая запросы на прокси отправляло именно туда, куда нужно, т.е. назад на роутер.
Теперь решение вопроса. На самом деле можно придумать несколько, но в данной ситуации я бы порекомендовал реализовать самый простой путь, а именно окромя "проброса порта" на роутере нужно сделать еще nat во внутреннюю сеть для данных пакетов чтобы PI видел эти пакеты как приходящие от роутера. Т.е. смотрите, схема примерно должна быт тогда такая -
NoteBook.srcIp-->router.dnat->(srcnat)-->(routerIP)-->PI-->NoteBook-->router
Не уверен что все понятно, но словами это происходит так -
Ваш Роутер получает пакет, в таблице PREROUTING смотрит порт, видит что то порт прокси и прокидывает его на ip вашего PI, уже в таблице POSTROUTING согласно правилам которые вы напишете натит запрос.
Ваш PI в этом случае получает этот пакет и для PI этот пакет от роутера, он его обрабатывает и оптправляет согласно таблице маршрутизации роутеру и там процесс идет дальше.
Теперь в нескольких словах ответ - вам нужно сделать nat внутрь вашей сети. :) А вот позволяет ли ваш роутер это сделать, тут я уж не знаю.

