Я хочу настроить Raspberry Pi в своей домашней сети, чтобы я мог использовать его в качестве прокси-сервера для работы с работы или из другого места (дома родителей). Другими словами, я хочу перемещаться по сети, и мне кажется, что это происходит из моей домашней сети независимо от того, откуда я подключаюсь.

Я знаю, что этот вопрос задавался несколько раз, но я просто не могу понять, что я делаю неправильно или отсутствует.

Я близок к тому, чтобы заставить это работать, но после многих часов поисков и попыток, я не могу собрать все это вместе.

Вот что у меня так далеко.

RPi дома ----> Linux VPS <----- я, на коробке Windows

Из RPI я выдаю команду:

ssh -f -N -T -R 2210:localhost:22 me@myVPS.com

Это похоже на настройку обратного туннеля на VPS (я вижу, что он прослушивает порт 2210 на VPS):

tcp  0   0 0.0.0.0:2210      0.0.0.0:*         LISTEN

С моей локальной рабочей станции Windows я могу использовать Putty для запуска ssh в Linux VPS и выполнить команду:

ssh -p 2210 RPi-account@localhost

или же

ssh -l RPi-account -p 2210 localhost

У меня настроены ключи на RPI и VPS, чтобы они могли входить друг в друга без пароля.

Это соединяет меня с моей рабочей станции Windows через VPS к RPI, и я могу получить SSH-соединение с RPi, но прокси socks не работает.

Что я не могу понять, так это как настроить команду SSH из VPS, а также Putty на моей рабочей станции, чтобы установить это соединение и пропустить соединение socks через RPI, чтобы я мог просматривать. Я пробовал много комбинаций конфигураций туннелей SSH в Putty (переадресация портов, динамические порты), но лучшее, что я могу сделать, это получить прокси-соединение socks, которое выходит в сеть из VPS Linux (средняя точка).

С VPS я пробовал:

ssh -p 2210 -D 8888 RPi-account@localhost

и затем из Putty на своих рабочих станциях я установил соединение с VPS с помощью туннеля:

L50000 127.0.0.1:8888

локальная настройка прокси-сервера socks на порт 12700.0.1 не дает браузеру доступ к внешнему миру.

Чего мне не хватает, чтобы позволить мне перехватывать прокси с моей локальной рабочей станции на VPS и связывать его с RPi и через него?

Спасибо!

1 ответ1

0

Вам не нужен SOCKS прокси на Linux VPS, вы хотите его на машине с Windows. Вы можете использовать обычную переадресацию портов на другую обычную переадресацию портов, но вы не можете использовать пересылку SOCKS на другую пересылку SOCKS.

Простым решением является использование Putty для подключения к Linux-VPS через порт 2210 при создании туннеля SOCKS в Putty. Соединение с Linux-VPS:2210 будет переадресовано на ваш PI, поэтому соединения с портом SOCKS будут перенаправлены на PI.

Как вы описали, регулярная пересылка в SOCKS пересылка также должна работать, но она более сложна. Вы должны убедиться, что второе соединение SSH от VPS к PI действительно установлено и имеет открытый порт 8888.

редактировать

Обратное перенаправление, которое вы создаете с помощью соединения SSH от PI до VPS, означает, что соединение SSH с Linux-VPS:2210 такое же, как соединение с PI:22, за исключением того, что вы не можете использовать последнее из-за firewall/ ограничения маршрутизации.

Итак, с точки зрения Unix, вам просто нужно подключиться к PI (через VPS) и сделать переадресацию портов:

ssh -D 50000 -p 2210 RPi-account@Linux-VPS

Это эквивалентно

ssh -D 50000 -p 22 RPi-account@PI

При использовании Putty вы настраиваете хост и порт (Linux-VPS:2210) на вкладке Session, имя пользователя (RPi-account) в «Connection-> Data» и переадресацию портов в «Connection-> SSH-> Tunnels». , Вы вводите исходный порт 50000, место назначения пустое, выбираете динамический и автоматический, а затем нажмите Добавить Переадресация должна быть указана как D50000 . Вы также можете настроить ключ для автоматического входа в систему PI. Вашему VPS не нужен ключ к PI, чтобы это работало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .