Skip to content


PuTTY: делаем Windows полезным

В данной статье будет описано как строить SSH-туннели с помощью PuTTY.

1. Локальный проброс порта

Рассмотрим следующую ситуацию. Мы находимся внутри корпоративной сети, у нашего компьютера адрес 192.168.0.2, доступ во внешний мир полностью закрыт (то есть никакого NAT-а, proxy и т.п.). Влиять на политику ограничения доступа у нас возможности нет, но зато есть SSH-доступ на один из серверов с маршрутизируемым IP-адресом, который доступен из Интернет. Внутренний адрес этого сервера, пусть будет для примера 192.168.0.3. Структура сети изображена на рисунке:

Схема сети
Предположим, что нам очень нужно подключиться, к примеру, по SSH на некоторый удалённый сервер с IP-адресом 212.212.212.212 где-то далеко в Интернет. Для этого запускаем PuTTY, создаём SSH-подключение к серверу 192.168.0.3 (далее по тексту SSH-сессия 1), идем в пункт Tunnels:
Local port forwarding
и указываем, что локальный порт 2222 нашего компьютера должен быть поставлен в соответствие порту 22 на сервере с IP-адресом 212.212.212.212. Далее жмем кнопку "Open", авторизуемся на сервере 192.168.0.3. Затем создаём ещё одно подключение (далее по тексту SSH-сессия 2), но уже на localhost, порт 2222 и жмём кнопку "Open":Окно создания нового подключения


В результате SSH-сессия 2 будет туннелироваться (т.е. будет установлена внутри ранее установленной SSH-сессии 1). Для удалённого сервера 212.212.212.212 всё будет выглядеть так, как будто к нему подключается 111.111.111.111:
Схема подключения через SSH-туннель

2. Удалённый проброс порта

В этом случае подключение внутри SSH-туннеля устанавливается в другую сторону – от удаленного сервера на наш локальный компьютер. Может быть полезно, если требуется открыть доступ к локальным сервисам нашего компьютера. Рассмотрим ту же сеть, что и в пункте 1, но для простоты предположим, что теперь у нас есть NAT:
Локальная сеть с NAT, remote port forwarding
Здесь уже у нас есть возможность подключаться через SSH напрямую к 212.212.212.212 благодаря наличию NAT-а. А вот 212.212.212.212 подключиться на 192.168.0.2 без специальных ухищрений, понятное дело, не сможет, т.к. 192.168.0.2 не подключен к Интернет непосредственно. Предположим, что пользователю, сидящему под X-ами на 212.212.212.212 нужно через remote desktop попасть на наш компьютер 192.168.0.2. Для этого в SSH-сеансе подключения с 192.168.0.2 на 212.212.212.212 нужно изменить настройки в разделе Tunnels следующим образом:
Remote ssh port forwarding setup
В результате после успешной авторизации на 212.212.212.212 можно увидеть следующее:

#lsof -i -nP | grep 3333
sshd  18598   avz   11u  IPv4 592868957   TCP 127.0.0.1:3333 (LISTEN)

То есть sshd ожидает подключений на TCP-порт 3333, которые затем по SSH-туннелю будут перенаправлены на 192.168.0.2 порт 3389. И юзер сидящий за 212.212.212.212 сможет с помощью rdesktop увидеть наш рабочий стол:

Remote port forwarding via putty

3. Socks-proxy

В этом случае мы можем использовать сервер с SSH-демоном как промежуточный (proxy). Схема сети как в случае #1 (без NAT и штатных прокси):
Схема сети
Чтобы заставить PuTTY испольнять роль socks-прокси, нужно параметры SSH-сессии с 192.168.0.2 на 192.168.0.3 изменить следующим образом:
DynamicВ результате после успешной авторизации со стороны клиента можно будет наблюдать следующее:

C:\>netstat -ano | find "1080"
  TCP    127.0.0.1:1080     0.0.0.0:0      LISTENING       2392
C:\>tasklist | find /i "2392"
putty.exe                2392 Console        0             5420 КБ

То есть putty, выполняющийся с PID-ом 2392, начинает слушать порт 1080, ожидая подключений. Далее берем любое приложение, умеющее работать с SOCKS-прокси, например Firefox, и указываем ему использовать наш прокси:
Firefox proxy configuration dialogТеперь все запросы от броузера будут проходить через сервер 192.168.0.3. В логах веб-сайтов, по которым мы таким образом будем ходить, будет отображаться внешний IP-адрес нашего сервера - 111.111.111.111.

P.S. Из help-файла Putty 0.58:
Question A.10.3: What does ‘PuTTY’ mean?
It's the name of a popular SSH and Telnet client. Any other meaning is in the eye of the beholder. It's been rumoured that ‘PuTTY’ is the antonym of ‘getty’, or that it's the stuff that makes your Windows useful...
:)


P.P.S. Другой способ туннелирования трафика описан в заметке Разворачивание трафика на основе policy routing. Весьма рекомендую к прочтению.

Posted in *nix, Windows.

Tagged with , , , .


52 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Харон says

    отличная статья. Хочу добавить, что под Линуксом есть замечательная программа proxychains, которая позволяет через http и socks-прокси проводить любую программу. В т.ч. и через описанный в твоей статье socks-прокси. Лично мне она пригодилась для Оперы, которая socks не умеет.

  2. teres says

    Отличная полезная статья

  3. PuTTY подсветка кода says

    Скажите как сделать подсветку кода в PuTTY?
    На сайте (http://putty.me) есть заметка, но конкретных примеров не нашел :( Подскажите в какую сторону капать?

  4. Admin says

    Подсветка кода настраивается не в Putty, а в конкретном приложении (например, редакторе), которое используется для правки кода. В VIM-е, к примеру, подсветка кода включается командой ":syntax on"

  5. denn says

    Подскажите как настроить PuTTY для игры в WoW :) ?
    Домашний комп, динамический ip, фаервола нет, но постоянные проблемы с пингом. Трассеровка запинается где то после ростелекома на telia. Подскажите как распределить пакеты и уменьшить пинг в обход проблемным участкам )
    Есть такая прога wowping но она ПЛАТНАЯ((

    "WoW Ping - это прокси сервис для понижения пинга в игре, может работать через файрвол, что позволит вам запускать игру на работе или других местах где администратор ограничил сетевые соединения.
    Использование программы очень простое, с новой версией WoW Ping 1.5 вам не нужно настраивать кучу дополнительных программ для игры через туннель даже если вы используете Windows Vista, Windows 7 и x64 версии данных операционных систем.
    Все работает "из коробки"!
    По сути это SSH сервер обслуживающий туннели, направляющий сетевые пакеты от игры до серверов WoW не по прямому маршруту как смаршрутизировал их ваш провайдер, а в обход проблемных участков где часто теряются пакеты (особенно актуально для Сибири и Дальневосточных регионов).
    WoW Ping состоит из следующих компонентов: Putty - SSH клиент для Windows, и SuperSocks5Cap - программы для прозрачной переадресации через прокси сервер. Вместе они объединены графической оболочкой WoW Ping."

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

  6. Admin says

    Дело в том, что wowping - это не просто программа, это сервис. Скачать и настроить putty и SuperSocks5Cap недостаточно, нужно еще иметь shell-доступ на определенные сервера, удовлетворяющие условию Pcs+Psw < Pcw, где Pcs - пинг от Вас до SSH-сервера, Psw - пинг от промежуточного SSH-сервера до WOW-сервера, Pcw - пинг от Вас до WOW-сервера при подключении напрямую. Если такой SSH-доступ у Вас есть, могу подробнее рассказать как всё построить.

  7. User says

    Спасибки. Единственная статья , которая дала понятие проброса портов. А то как напишут ....

    Но все же...:
    Есть PC1 (ЗА НАТОМ), PC2 и SERVER с демоном sshd. Подскажите , каким образом с PC2 попасть на PC1(remote desctope) использую SERVER как промежуточный ?

  8. Admin says

    Пусть для примера будет так:
    - у PC1 IP-адрес 10.10.10.10
    - у PC2 IP-адрес 88.88.88.88
    - у SERVER внешний IP-адрес 99.99.99.99 и внутренний 10.10.10.9

    1. Подключаемся по SSH через putty c PC2 на SERVER, предварительно в настройках в разделе tunnels настроив локальный проброс порта как описано в статье в случае 1. В поле "Source port" указать например 4899 (не особо важно что именно, главное чтобы этот порт был не занят на PC2), в поле "Destination" указываем 10.10.10.10:3389.

    2. На PC2 запускаем клиент remote desktop (mstsc) и подключаемся им на 127.0.0.1 порт 4899 (который был указан в поле "source port").

    Естественно, по дороге этот трафик нигде не должен блокироваться firewall-ами.

  9. User says

    Admin
    19.11.2010
    Весьма полезный ответ. Спасибо.

    .....................
    Еще вариант.
    - PC1 IP-адрес 99.99.99.99 (sshd)- провайдер 1
    - PC2 IP-адрес 88.88.88.88 - провайдер 2
    - PC3 IP-адрес 55.55.55.55 (putty)- провайдер 3
    Чтобы попасть c PC2 на PC1(remote desctope) через PC3 сделать нужно следующее:
    1. Подключаемся по SSH через putty с PC3 на PC1, предварительно в настройках в разделе tunnels настроив локальный проброс порта как описано в статье в случае 1. В поле «Source port» указать например 4899 (не особо важно что именно, главное чтобы этот порт был не занят на PC3). А также поставить галочку "Local ports accept connections from other hosts" (что дает возможность принимать подключения на указанный порт из других хостов).

    2. На PC2 запускаем клиент remote desktop (mstsc) и подключаемся им на 55.55.55.55 (PC3) порт 4899 (который был указан в поле «source port»).

    Теперь хочу уточнить вопрос в комментарии User
    19.11.2010
    - PC1 находится за NAT'ом IP-адрес 10.10.10.10 (внутренний) 99.99.99.99(внешний) при чем этот внешний один на всю локальную сеть провайдера. - провайдер 1
    - PC2 IP-адрес 88.88.88.88 провайдер 2
    - PC3 (shhd) IP-адрес 55.55.55.55 провайдер 3
    Все три компьютера находятся в разных точках, обслуживаются разными провайдерами и не связаны локальной сетью.

    Как в таком случае попасть с PC2 на PC1(remote desctope) через PC3? Может есть еще какие решения по данному вопросу ? Интересует схема именно в таком порядке PC2 --> через PC3 (промежутчный) --> PC1(remote desctope).

  10. Admin says

    Ответ на вопрос User от 25.11.2010:
    1. Подключаемся через putty по SSH с PC1 на PC3, предварительно в настройках в разделе "Tunnels" сделав так:
    - Source port: 4389 (должен быть не занят на PC3)
    - Destination: 127.0.0.1:3389
    - radiobutton ставим в позицию "Remote"

    2. Подключаемся через putty по SSH с PC2 на PC3, предварительно в настройках в разделе "Tunnels" сделав так:
    - Source port: 5389 (должен быть не занят на PC1)
    - Destination: 127.0.0.1:4389
    - radiobutton ставим в позицию "Local"

    3. На PC1 запускаем клиент Remote Desktop (mstsc) и подключаемся им на localhost:5389. В результате должно появится окошко логона от PC2.

  11. Spec says

    Подскажите как сделать:
    - PC1 IP-адрес (локалка) (linux(sshd))
    - PC2 IP-адрес(локалка, внешка) (windows)
    - PC3 IP-адрес (внешка) (windows)
    PC1 и PC2 находятся в локальной сети, PC2 имеет выход во внешку(в инет) а PC1 нет. PC3 не в локальной сети и имеет выход во внешку. Как с PC3 подконектиться по ssh к PC1 через PC2? Т.е. чтобы посылать команды с PC3 через PC2 на PC1.

  12. Admin says

    Ответ на вопрос Spec от 17.12.2010.
    Чтобы PC3 мог подключаться к PC1 через PC2, на PC2 нужно настроить DNAT (проброс порта из мира в локальную сеть). Сделать это можно, например, через Kerio Winroute. Может даже получиться с помощью стандартных средств Windows XP ("Сетевые подключения"->"Свойства"->"Дополнительно"->поставить галочку "Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера", далее выбрать сетевой интерфейс, смотрящий в сторону PC1, нажать кнопку "Параметры", потом "Добавить" и настроить проброс порта). И Putty вам в этом деле врядли пригодится.

  13. Spec says

    Спасибо за ответ. Ещё:
    Допустим я настроил проброс порта из внешки в локальную сеть, как мне далее подключиться с PC3 к PC1 через PC2 по ssh. Т.е. чтобы мне на PC3 открылась удалённая консоль PC1. Можете подсказать конкретно что делать?

  14. Admin says

    На PC3 запустить Putty, в поле "Host name" вбить внешний IP-адрес PC2, а в поле "Port" указать тот, порт, который вы настроили в процессе проброса портов на PC2.

  15. hexkey says

    Windows - среда для запуска Putty... ;]

  16. Gamer says

    А вы можете все это удаленно настроить на моем компьютере?

  17. Admin says

    2Gamer: отпишите в почту детально что именно нужно сделать. Посмотрим.

  18. X-FuckT0R says

    Спасибо) Как раз инфу о пробросе портов искала... ))

  19. hunnyr says

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

  20. Admin says

    Насколько я знаю, Putty не умеет сворачиваться в трей (в область с иконками в правом нижнем углу возле часов). Если Вы это делаете с помощью какой-то стронней программы типа TrayIt, то попробуйте этого не делать и просто сворачивать putty в Панель задач. Если важно именно убрать окно putty с экрана, то можно использовать plink.exe (идет в архиве вместе с putty.exe).

  21. Константин says

    Отличная статья! Много чего узнал из нее.
    Хотелось бы рассмотреть еще один вариант.

    Я (клиент 1) сижу на обычном интернете с динамическим ip.
    Где-то далеко, есть человек (клиент 2) который сидит в своей локальной сети с точно таким же доступом в интернет.
    У клиента 2 есть в сети сервер с ssh на который можно попасть только из его локалки.
    Как сделать что бы клиент 1 мог зайти на сервер с ssh?

    пс. На данный момент между клиент 1 и клиент 2 поднят vpn. У клиента 2 стоит прокси с поддержкой connect. Вроде бы все должно решаться элементарно, добавлением в параметры proxy самой putty этого прокси... но не работает =((
    Через прокси клиент 1 без проблем заходит на https сайты, а в ssh нет.

    Заранее спасибо за ответ!

  22. Admin says

    2Константин: есть 2 уточняющих вопроса.
    1. Если между клиентами 1 и 2 поднят VPN, то, по-идее, они в общей сети. И если клиент 2 может попасть на SSH-сервер, то и клиент 1 тоже должен попасть (при правильно настроенном роутинге и при соответствующей конфигурации firewall-а на SSH-сервере. Клиенты 1 или 2 могут менять правила firewall-а на SSH-сервере?
    2. В качестве прокси squid или что-то другое? Если squid, то хотелось бы взглянуть его конфиг для более полного понимания задачи. Возможно, прокси блокирует метод CONNECT на порты отличные от 443. Если есть возможность, попробуте на SSH-сервере заставить sshd слушать 443-ий порт вместо 22-го и еще раз попробуйте с клиента 1 подключаться через прокси.

  23. Константин says

    1. Да, наверное это можно реализовать, перенастроив конфигурацию фаерволла, но честно говоря не разбираюсь как это сделать =)
    VPN поднимается программой TeamViewer
    Клиенты не могут менять правила фаерволла на сервере. От сервера есть только логин, пароль и порт 22 :)

    2. В качестве прокси выступает ESPS. Из настроек почти все по умолчанию, кроме "Enable HTTPS Port: 0 :".

  24. Admin says

    Extra systems proxy server? Если да, то почитайте здесь: http://www.esps.org.ua/docs/route.htm Думаю, аналогичным образом можно настроить на этом чудо-прокси и возможость подключения к SSH-серверу.

  25. Serg says

    Разрешите вопрос? Самому разобраться не хватает знаний матчасти. Есть:
    РС1(рабочая, линукс, ssh, corkscrew)
    РС2(proxy-squid:3128, разрешены порты 80,443,метод connect, больше ничего не знаю)
    РС3(домашняя, windows XP, openssh(слушает 443), apache+mod_proxy, модуль прокси слушает 6666)
    На работе получаю доступ к интернету пробросом локального порта на домашнюю машину через corkscrew:
    ssh -L 5555:localhost:6666 userРС3@РС3 -p 443
    Как, КАК сделать себе sock-сервер из ssh?! то что мне кажется (ssh -N -D 2345 userРС3@РС3) не работает...
    А да, в .ssh/config такая строка: ProxyCommand /usr/bin/corkscrew РС2 3128 %h %p ~/.ssh/myauth в myauth логин-пароль для РС2.
    Спамтбо за помощь.

  26. Admin says

    2Serg: мне кажется, вам стоит попробовать несколько упростить схему получения socks-прокси, убрав из неё corkscrew:
    1. На PC1 поставьте Putty (да-да, putty есть и под линукс)
    2. Настройте Putty в разделе Connection-Proxy на использование в качестве прокси PC2.
    3. В разделе Tunnels в поле Source port поставьте 2345 и переключатель в положение Dynamic.
    4. Подключайтесь с PC1 на PC3 по SSH через Putty.

    Другой вариант - поставить на PC1 proxychains, на PC3 - squid (или заюзать тот же mod_proxy апача) и ходить с рабочего компа в Интернет через цепочку двух проксей (PC1->PC2->PC3->Internet)

  27. Serg says

    Уф! Проблемы решил и в благодарность за статью, оставлю комментарии может кому пригодятся.
    2Admin: Умом понимаю что ваша схема должна работать, но в моем конкретном случае, когда из-под винды(есть в виртуалке) пытаюсь putty, настроив в прокси РС2, выйти на свой РС3 получаю: Network Error: connection refused.
    Под линукс конечно есть putty, по-крайней мере в убунте точно. Но вот в генте весь putty - это plink без всякого gui. Это то что в портежах, а искать строннее просто неохота.
    Так что вместо putty подходит(и работает!) связка openssh+corkscrew. Один фиг командная строка что тут, что там.
    2Всем: В плане интернета настроить socks-прокси действительно просто - это ssh -N -D 2345 userРС3@РС3 Ваше приложение должно уметь работать с sokcs-прокси(например firefox хоть и умеет, но ему ещё надо в about:config network.proxy.socks_remote_dns поставить true), а скажем в deluge(торрент клиент, нам же нужны на работе торренты!) пускать треккер через http-proxy, а не socks(участника через socks), впрочем это куже мелочи.

  28. Korben says

    Спасибо автору за статью, довольно познавательно.
    У меня вопрос, схожий с вопросом denn'a: касательно игры WoW, только моя цель не снизить задержку.
    Дело в том, что на моём тарифе внешний трафик учитывается как платный (точнее, есть лимит) и потому мне бы очень хотелось пустить трафик игры через имеющийся в моём распоряжении сервер (в Дата Центре трафик бесплатный).
    На сервере стоит CentOS 5.5, у меня рутовый доступ.
    Подскажи, пожалуйста, как настроить доступ для игрового клиента через этот сервер.
    Я так понимаю, нужен SOCKS5 сервер, но нужен ли тогда туннелинг через SSH? Если взять какую-нибудь прогу, типа FreeCap или SocksCap, то можно заставить приложение работать через соксы, так ведь?
    В любом случае, буду признателен за любой совет.
    Спасибо.

  29. Admin says

    2korben: подключаемся к серверу через putty, как описано в статье в пункте 3. В результате Putty станет socks-прокси. Далее берем FreeCap или SocksCap и настраиваем его на работу с socks-прокси 127.0.0.1 порт 1080 (или какой там укажешь в конфигурации Putty)

  30. Павел says

    Автору статьи респект! Но у меня возникла проблема. Есть сеть компании с http-проксей и есть домашний ssh-сервер за натом с реальным ip. Проброс портов и туннель между машиной компании и домашним серваком создаются без проблем. Но проблема с настройкой браузеров. Так мозила может ходить по ip сайтов, но разрешение имен не происходит. Посоветуйте где копать. ssh также ставил в DMZ - эффект тот же.

  31. Admin says

    Попробуйте поиграться со значением параметра network.proxy.socks_remote_dns в firefox. Его можно менять если набрать в строке броузера about:config

  32. Павел says

    Автору спасибо! В самом деле изменил параметр firefox network.proxy.socks_remote_dns и сразу заработало разрешение DNS имён, сайты стали грузится. Если автор подскажет, где такой же параметр в IE подкрутить, то буду ещё больше благодарен!!!

  33. Admin says

    IE - это такая небольшая утилита, предназначенная для того, чтобы загрузить из Интернет веб-броузер :) ? Пользуюсь ею весьма редко и только с единственной вышеописанной целью, поэтому где чего подкрутить на эту тему в IE - не знаю.

  34. Alexandr says

    Очень заинтересован wow настроить. "Если такой SSH-доступ у Вас есть, могу подробнее рассказать как всё построить."
    Пробовал через Http туннель и SC не работает.

  35. Admin says

    Что такое SC? Каким образом создавался этот HTTP-туннель? Если хотите каких-то конкретных советов, детально опишите проблему.

  36. Александр says

    проблема поиграть в вов на работе.
    стоит прокся (http://titan:8080/corp_site/deny.php) которая не дает доступ к сайтам по выбору админа(((
    в том числе и к вов.
    попробовал несколькими программами (http туннель, SockCaps )не получилось, у наших админов очень прямые ручки и пива не пьют)))

  37. bialix says

    Отличная статья, большое спасибо. Помогите разобраться с такой конфигурацией. Аналогично варианту 2 удаленный проброс порта. Можно ли указать в поле Destination вместо 127.0.0.1 адрес машины в локальной сетке за NAT? Я хочу установить соединение из интернета внутрь локальной сети, но машина назначения не имеет прямого выхода в интернет, но подключена через кросс-кабель к лаптопу, который имеет выход в интернет.

    Чтобы было понятнее.

    Есть целевая машина D на которую хотим попасть извне (ее адрес 192.168.1.5. там крутится Линукс). У нее нет выхода в тырнет. К ней подключаем лаптоп L с Windows/Putty у которого есть выход в интернет через мобильный интернет. При соединении с машиной D лаптоп L имеет IP адрес 192.168.1.100. С лаптопа L по SSH можно зайти на машину D, но благодаря файерволу на лаптопе он не виден для машины D.

    Теперь в интернете есть сервер S с FreeBSD, для примера его адрес 555.555.555.555. Лаптоп L может по SSH зайти на сервер S. Моя цель организовать при помощи лаптопа L связь между машиной D и сервером S.

    Я думаю, что с лаптопа нужно организовать туннель в виде Удаленный проброс порта, но при этом указать Destination как адрес машины D -- т.е. 192.168.1.5:22 -- я правильно рассуждаю? А source порт в настройках Putty например как в вашем примере 3333.

    Тогда вроде бы я смогу зайти с сервера S на машину D по команде а-ля

    ssh 192.168.1.5 -p 3333

    или не так?

  38. Admin says

    2bialix: Вы почти правильно всё поняли. Вы можете при удалённом пробросе порта указать в поле Destination вместо 127.0.0.1 адрес машины в локальной сетке. То есть с лаптопа L подключаемся на сервер S как описано в п.2 но в качестве destination указываете 192.168.1.5. После этого с сервера S по команде "ssh localhost -p 3333" Вы сможете залогиниться на машинку D (нужно указывать именно localhost, а не 192.168.1.5, поскольку адрес 192.168.1.5 для сервера S на уровне IP недостижим).

  39. Окна says

    Большое спасибо, Отличная статья. все разжовано будем догонять

  40. VIjaran says

    А у меня такая проблема. На работе доступ в интернет только в браузере чрез HTTP прокси. Поставил програму Proxifire. Смог с помощью нее войти но пинг был чудовищьно велик. Самый минимальный 5000 мс. Хотя по страничкам летает очень быстро и качает тоже нормально. Протестировал скорость соединения. Средняя 500 кбит\с. Этого вполне достаточно( играл даже на 256) Что можно сделать? Подскажите пожалуйста.
    P.S имею в виду WoW
    Заранее спасибо.

  41. Admin says

    2VIjaran: попробуйте найти промежуточный прокси, у которого хорошая связность одновременно с серверами WoW и с вашим офисом и используйте цепочку из 2-х прокси: ваш офисный + этот (настраивается в менюшке "Proxy settings"). Но если Вы действительно с Сахалина (судя по IP-адресу), то мне кажется, что эта задачка будет не из лёгких :)

  42. alampw says

    Есть рабочий сервер под Linux. Через это сервер можно выходить на удаленные объекты для сопровождения и по SSH и по HTTP. Доступ на сервер снаружи только через SSH. На сервере установлен прокси. Настраивая Putty я цепочкой выхожу на любой объект из домашнего компьютера. И под HTTP выхожу только на сервер. Есть необходимость выходить на удаленные объекты по HTTP через «рабочий» сервер из домашнего компьютера. Мне не удается настроить putty, чтобы работать по HTTP с удаленными объектами из домашнего компьютера. Находясь на работе – все без проблем. Как-то не получается прорваться через прокси. Проконсультируйте, пожалуста

    • Admin says

      2alampw: Вы пишете, что доступ на рабочий сервер с проксёй у вас есть через SSH. Используйте конфигурацию из первой части статьи с локальным пробросом порта.

  43. Lexx says

    Здравствуйте,
    подскажите пожалуйста как решить данную ситуацию:
    РС1(домашний, выхода в мир -нет) подключен к РС2(рабочий, выход в мир- через proxy) через VPN, connect к нему по remote desktop. Как пользоваться интернетом с РС1 через РС2 по существующему каналу VPN?
    Заранее Спасибо!

  44. Admin says

    2Lexx: Если Вы из дому подключаетесь по VPN к офисной сети, то Ваш PC1 становится частью этой офисной сети. Следовательно, ему тоже доступен Ваш офисный прокси-сервер (если доступ к нему для VPN-пользователей специально не был ограничен администратором сети). Поэтому после подключения через VPN, теоретически, если Вы укажете в настройках броузера IP-адрес офисного прокси, то сможете ходить по сайтам.

  45. Lexx says

    Cпасибо за Ваше внимание, но
    ...офисный прокси -недоступен, поэтому и вопрос в этот пост.
    возможно-ли решить проблему функционалом putty ? по схеме
    РС1->VPN->PC3->Internet

  46. Admin says

    2Lexx: тут лучше вместо putty использовать какой-то прокси-сервер, установив его на рабочем PC2 (этот прокси должен уметь сам ходить через прокси). Тогда сможете работать по схеме: PC1 -> VPN -> proxy@PC2 -> proxy@office -> Internet

  47. Алекс says

    Статья супер. Но не открыла занавес перед моей проблемой. ситуация такая. Есть:
    PC1 (винда, работа, стоит за фаерволом в локальной сети имеется выход в интернет по строго разрешенным портам)
    PC2 (винда, дом, поднят ssh в cygwin есть интернет и статичный ИП)
    хочу с PC2 подцепиться по RDP к PC1. в вашей статье вроде бы это описано. но проблема. с рабочей машины через фаервол не проходит соединение ssh по 22 порту с домашним сервером. подозреваю порт закрыт. можно ли это обойти если доступа к настройкам фаервола нет ?

  48. Admin says

    2Алекс: почти в каждой корпоративной сети всегда открыт на исход TCP-порт 443 (по которому работает протокол HTTPS). Повесьте дома SSH-сервер на порт 443 и подключайтесь на него с PC1.

  49. Евгений says

    А как выполнить де-проксирование?
    Не все программы поддерживают работы через прокси..
    Какими программными или аппаратными средствами
    можно выполнить обратную операцию?
    Чтобы в приложении был просто default gateway - адрес сервера с DHCP и всё.
    Т.е. чтобы все настройки на клиенте поднимались автоматически и безо всякого прокси был доступ в интернет.
    При условии что на сервере интернет организуется с помощью putty проброской SSH до удалённой машины с безлмитным доступом в публичную сеть.

    • Admin says

      Евгений, мне не совсем понятен Ваш вопрос. Где вы видели приложения, в которых нужно указывать default gateway или адрес сервера с DHCP? Это настройки уровня операционной системы, а не приложений. Вы же нигде не указываете в Firefox-е или Photoshop-е default gateway... А "чтобы все настройки на клиенте поднимались автоматически и безо всякого прокси был доступ в интернет" - для этого, как вариант, можно использовать VPN-подключение.

  50. Евгений says

    ок, спасибо. сработало. т.е. putty убрал, создал vpn штатными виндовыми средствами, все работает.

    ps: конечно в приложении ничего не указывается,
    неправильно сформулировал.

1 2

You must be logged in to post a comment.