Каково различие между Локальным/Удаленным/Динамичным туннелированием SSH?

Вы могли попробовать сервер перенаправления rinetd сервис, доступный здесь http://www.boutell.com/rinetd/. Но не уверено, что это могло бы сделать материал. Вы могли дать ему выстрел.

27
задан 23 May 2011 в 17:16
5 ответов

Из документации ШПАКЛЕВКИ, а именно, 4.23 разделов The Tunnels Panel:

Установите один из переключателей 'Local' или 'Remote', в зависимости от того, хотите ли Вы передать локальный порт удаленному ('Локальному') месту назначения или передать удаленный порт локальному ('Удаленному') месту назначения. С другой стороны, выберите 'Динамичный', если Вы хотите, чтобы PuTTY обеспечил локальный SOCKS 4/4A/5, прокси на локальном порте (обратите внимание, что этот прокси только поддерживает соединения TCP; протокол SSH не поддерживает передачу UDP).

  • Локальный - Передают локальный порт удаленному хосту.
  • Удаленный - Передают удаленный порт локальному хосту.
  • Динамичный - используют SOCKS.
22
ответ дан 28 November 2019 в 20:05

Локальный / Удаленный выбирает, соединяетесь ли Вы с локальным портом или удаленным портом (Ваш собственный ПК или другой ПК)

Динамичный для прокси SOCKS

См. 4.19.2 Перенаправления портов http://the.earth.li/~sgtatham/putty/0.54/htmldoc/Chapter4.html

3
ответ дан 28 November 2019 в 20:05

локальный сервер, ну, локальный

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

-3
ответ дан 28 November 2019 в 20:05

Ответ от jscott правильный, однако после его прочтения мне все еще было не совсем понятно, когда мне следует использовать локальный, а когда удаленный. Итак, я продолжил исследование и нашел ответ здесь :

Используйте local , если у вас есть служба, запущенная на машине, к которой можно получить доступ с удаленной машины, и вы хотите получить к нему доступ прямо с локального компьютера. После настройки туннелирования вы сможете получить доступ к службе, используя IP-адрес локального хоста (127.0.0.1)

Используйте удаленный , если у вас есть служба, к которой можно получить доступ с локального компьютера, и вы необходимо сделать его доступным для удаленного компьютера. Он открывает прослушивающий сокет на машине, на которой вы использовали SSH для входа.

Динамический похож на локальный, но на стороне клиента он ведет себя как прокси-сервер SOCKS.

24
ответ дан 28 November 2019 в 20:05

Я нарисовал несколько скетчей

Машина, на которой набирается команда sshtunnel (или в вашем случае: Putty с туннелированием запущена) называется »ваш хозяин«.

ssh tunnel starting from local


ssh tunnel starting from remote

static (опции -L local и -R remote)

  1. local: -L Указывает, что данный порт на локальном (клиентский) хост должен быть переадресован на заданный хост и порт на удаленной стороне.

ssh -L sourcePort:forwardToHost:onPort connectToHost означает: подключиться по ssh к connectToHost и перенаправить все попытки подключения на локальный sourcePort на порт onPort на машине с именем forwardToHost, доступ к которой можно получить с машины connectToHost.

  1. remote: -R Указывает, что данный порт на удаленном (серверном) хосте должен быть переадресован на данный хост и порт на локальной стороне.

ssh -R sourcePort:forwardToHost:onPort connectToHost означает: подключиться по ssh к connectToHost и перенаправить все попытки подключения на удаленный sourcePort на порт onPort на машине с именем forwardToHost, к которой можно получить доступ с вашей локальной машины.

динамический (опция -D)

-D похож на -L (локальный), но вместо перенаправления на один и только один конкретный удаленный хост и порт, SSH действует как SOCKS-прокси для удаленного хоста. Ваша программа, использующая туннель, должна поддерживать прокси-серверы socks. Или нужно помочь ему с некоторыми хитростями (см. примеры ниже).

Что делает прокси-сервер Socks? Он принимает все ваши запросы и динамически пересылает их на удаленные хосты и порты, которые исходная программа хотела (см. примеры ниже).

Примеры использования -D (динамические / socks)

Если вы хотите туннелировать трафик браузера (например, с Firefox), вы не только хотите получить доступ к ОДНОМУ веб-сайту ( remotehost и порт), но свободно просматривайте сайт www. Итак, вам нужен динамический туннель, socks-прокси.

На вашем компьютере (вашем хосте) вы делаете:

ssh -D 5000 remotehost   # or the equivalent option "dynamic" with putty

Туннелирование трафика Firefox

Для этого вы можете отредактировать конфигурацию Firefox, чтобы ваш браузер использовал ваш socks-прокси. Введите в адресной строке Firefox:

about:config

Теперь отредактируйте следующие значения:

network.proxy.socks             string localhost
network.proxy.socks_port        integer 5000
network.proxy.socks_remote_dns  boolean true
network.proxy.type              integer 1   (0 ist default)
media.peerconnection.enabled    boolean false (true ist default)

Теперь вы можете путешествовать по Интернету так, что никто в незнакомом месте не узнает, что вы делаете.

более общее: используйте приложение tsocks с файлом /etc/tsocks.conf

Содержимое файла конфигурации:

local = 192.168.1.0/255.255.255.0   # no proxy for local network
server = localhost    # proxy-server (your host)
server_type = 5       # socks5
server_port = 5000

Теперь вы можете запускать программу с tsocks перед ним , чтобы он использовал прокси-сервер socks.

tsocks thunderbird
tsocks mplayer -playlist http://bassdrive.com/bassdrive.m3u

curl

Легко использовать с curl:

ALL_PROXY="socks5h://localhost:5000" curl http://blabbla.abc

или просто

curl --proxy socks5h://localhost:5000 http://blabbla.abc

объединить ALL_PROXY и tsocks

wget требует tsocks, потому что wget не поддерживает прокси. Если вы делаете и то, и другое, вы в безопасности (в основном): скрипт будет использовать переменную tsocks или ALL_PROXY:

ALL_PROXY="socks5h://localhost:5000" tsocks script

для youtube-dl

youtube-dl --proxy socks5://127.0.0.1:5000 http://blaaaa.bla

для настройки с помощью Putty (local пример вперед)

Запустите Putty и введите свои обычные настройки подключения (имя хоста или IP-адрес) В дереве слева перейдите к

Connection → SSH → Туннели

и создайте новый локальный туннель с исходным портом 123 и целевым localhost:456.

Не забудьте нажать Добавить.

Затем вернитесь к сеансу и нажмите Сохранить, чтобы сохранить настройки в следующий раз. Теперь вы можете использовать сохраненное соединение для входа на свой сервер, и после успешного входа каждый раз, когда вы подключаетесь к порту 123 на своем хосте, вы фактически будете подключаться к порту 456 на сервер.

create forward tunnel with putty

8
ответ дан 12 February 2021 в 16:57

Теги

Похожие вопросы