SOCKS5 прокси через Putty

Обзор программы: 
Putty

Многим из вас наверняка известно, что такое SOCKS5 proxy. Это программное обеспечение, посредством которого реализуется подключение к различным серверам не напрямую, а через промежуточное звено: через компьютер (прокси-сервер), на котором работает SOCKS5 прокси.

Многие программы, такие как все популярные веб-браузеры, почтовые программы, а также и другие популярные программы, так или иначе работающие с Интернет, поддерживают стандарт SOCKS5, что позволяет этим программам работать с Интернет через прокси-сервер.

Стандарт SOCKS5 реализован в ряде серверных программных продуктов, таких как Dante, DeleGate. Эти программы, работающие на компьютере, превращают его в прокси-сервер, через который можно будет подключиться внешним серверам. Может оказаться неожиданным для некоторых, что SOCKS5 прокси можно организовать и с помощью программы Putty, которая служит для доступа по протоколу SSH!

Суть реализации SOCKS5 в Putty состоит в том, что на локальном компьютере, на котором запущен Putty или Plink, открывается "слушающий" порт, подключения к которому работают по протоколу SOCKS5 и туннелируются через уже установленное подключение SSH. А это означает, что для такого подключения обеспечивается надёжное шифрование и сжатие, поддерживаемое протоколом SSH.

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

Запускаем SOCKS5 proxy через Putty

Чтобы запустить SOCKS5-прокси через Putty, достаточно указать параметр командной строки -D (port):

putty -D 1080 username@my.server

Где 1080 - номер порта, на котором SOCKS5 прокси будет ждать подключений, а username@my.server - имя пользователя и хоста сервера SSH, к которому вы подключаетесь. Программа plink, входящая в пакет Putty, точно так же умеет работать в качестве SOCKS5 proxy, параметр -D поддерживается.

Для того, чтобы была возможность пользоваться SOCKS5 через Putty, разумеется, нужен SSH сервер, в настройках которого разрешено туннелирование TCP-подключений. Именно этот сервер и будет промежуточным звеном, под IP-адресом которого Вас будет видеть весь Интернет.

Настраиваем браузер

С SOCKS5-прокси умеет работать любой современный браузер, но для определённости рассмотрим пример с браузером Firefox.

Чтобы настроить SOCKS5 прокси в Firefox, достаточно открыть настройки доступа к сети (Tools - Options - Advanced - Network - Settings...) и указать адрес вашего компьютера и номер порта, который вы ранее указали в параметре -D командной строки putty:

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

Если необходимость в использовании прокси возникает лишь время от времени, удобно воспользоваться плагином к браузеру, который включает или выключает использование прокси одним кликом мышки. Например, такой плагин для Firefox - QuickProxy. Этот плагин добавляет иконку, отображающую состояние настройки прокси (использовать прокси / не использовать). Клик по этой иконке включает или выключает использование прокси.

Аналогичные настройки прокси есть и у почтовых программ.

SOCKS5 прокси через Putty