К счастью, с помощью бесплатной программы PuTTY, процесса, именуемого туннелированием SSH (SSH tunneling), и SOCKS-прокси почти каждый пользователь может обойти локальный брандмауэр и наслаждаться Web в свободной и первозданной форме. Дополнительное преимущество: в SSH-туннеле шифруются все данные, проходящие через локальную сеть и Интернет-провайдера, поэтому никто не может следить за обменом информацией.
PuTTY и SSH
Тот, кто в прошлом не занимался дистанционным администрированием сервера Unix или Linux, вряд ли слышал о Secure Shell (SSH). Secure Shell – всего лишь сетевой протокол, обеспечивающий шифрованную связь между двумя компьютерами (обычно ПК пользователя и удаленным сервером). «Shell» относится к интерфейсу командной строки, имеющемуся на компьютере почти любого типа, в том числе Mac OS X и Windows. Обычно SSH используется для безопасного доступа к интерфейсу командной строки удаленного компьютера, но может применяться и для копирования файлов или в качестве туннеля между вашим ПК и другим компьютером в Интернете.
PuTTY – клиент SSH. С его помощью можно обратиться к удаленному интерфейсу командной строки или организовать туннель – именно этим мы и займемся в данной статье.
Туннелирование
Когда пользователь вводит URL-адрес или щелкает на ссылке, запрос передается с компьютера, проходит через локальный маршрутизатор и модем, сеть Интернет-провайдера, Интернет и поступает на удаленный Web-сервер. Фильтровать запрос можно на любом из этих этапов, но, как правило, это происходит на локальном маршрутизаторе (школьном или корпоративном брандмауэре) или у Интернет-провайдера (ограничение полосы, государственная цензура).
Туннель позволяет обойти ограничения локального маршрутизатора, модема и сети Интернет-провайдера и подключиться непосредственно к Интернету. Например, передавая весь трафик через SSH-туннель в компьютер, находящийся в Америке, жители Китая могут обойти любые фильтры и цензуру на государственном уровне. Собственно передача Web-трафика через другой компьютер (и другой порт) называется применением SOCKS-прокси. Использование SOCKS-прокси возможно и без SSH, но в этом случае снижается надежность и увеличивается опасность фильтрации со стороны местного Интернет-провайдера.
Загрузите PuTTY (putty.exe). Эта бесплатная, автономная программа не требует установки. Просто разместите ярлык на Рабочем столе или Панели задач.
Затем необходимо найти удаленный сервер Linux, который будет конечной точкой SSH-туннеля. Можно выбрать бесплатный (для активации учетной записи придется, возможно, выполнить несколько несложных действий) или арендовать недорогой виртуальный частный сервер (VPS) приблизительно за 5 долл./мес, который можно использовать в качестве сервера разработки или сидбокса (seed box – выделенный сервер с установленным Torrent-клиентом) BitTorrent. В любом случае, необходима учетная запись SSH на удаленном сервере, а также IP-адрес и порт для подключения.
Откройте PuTTY и заполните поля Host Name и Port. Убедитесь в том, что в поле Connection Type указано SSH. Вид должен быть примерно следующий:
Putty: ввод имени узла и порта
В левой панели выполните переход Connection | SSH | Tunnels. Введите 8080 в поле Source Port и нажмите кнопку с зависимой фиксацией Dynamic. Щелкните на Add, и в списке Forwarded Ports появится D8080.
Putty: отправная точка и место назначения туннеля
Вернитесь в раздел Session в верхней левой панели, введите имя в поле Saved Sessions («tunnel») и щелкните на Save, затем – на Open в нижней части PuTTY. На экране всплывет новое окно с запросом учетного имени; введите его и нажмите клавишу Enter. Введите пароль и нажмите Enter.
Putty: имя входа оболочки
Готово! В вашем распоряжении открытый SSH-туннель.
Использование туннеля
Теперь, когда имеется открытый SSH-туннель, необходимо направить через него трафик, представив туннель в качестве SOCKS-прокси. Начнем с браузера Firefox.
Щелкните на Tools | Options [или Большая Оранжевая Кнопка (Big Orange Button) | Options], а затем на Advanced. Щелкните на Settings… в панели Connection: Firefox | Advanced | Connection.
Выберите Manual Proxy Configuration, а затем впишите адрес 127.0.0.1 и порт 8080 к узлу SOCKS Host. Убедитесь в том, что выбран SOCKS v5, и нажмите OK. Хотите верьте, хотите нет: вы вышли в Web через SSH-туннель.
Настройки прокси-сервера в Chrome, IE
Internet Explorer можно настроить таким же способом (Internet Options | Connections | LAN Settings), а настройки прокси-сервера браузера Chrome находятся в разделе Wrench | Options | Under the Hood (Bonnet) | Change Proxy Settings | LAN Settings. В обоих случаях необходимо включить режим Use a proxy server for your LAN (Использовать прокси-сервер для подключений LAN) и щелкнуть на Advanced:
Chrome/Internet Explorer, использование прокси-сервера
Введите 127.0.0.1 и 8080 в строке Socks и щелкните на OK: