Если вы ИТ-специалист или просто опытный пользователь Интернета, то, скорее всего, рано или поздно придете к необходимости обзавестись прокси-сервером. Возможно, вы предпочтете бесплатную открытую программу. В таком случае эта статья — то, что вам нужно. Мы рассмотрим три варианта организации прокси-сервера с использованием открытого программного обеспечения. В частности, будут представлены OpenSSH, OpenVPN и Squid. Мы сосредоточимся на настройке прокси-сервера Интернета, который затем можно использовать, чтобы направлять трафик на другие компьютеры.

Что такое прокси-сервер

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

Это обеспечивает, с одной стороны, безопасность: прокси-сервер позволяет защитить локальную сеть от общедоступной сети, при этом оставляя проход извне в локальную сеть через прокси. Другая причина установки прокси-сервера — конфиденциальность: прокси-серверы помогают скрыть местонахождение и личность пользователя компьютера от других пользователей Интернета. Наконец, в некоторых случаях прокси-серверы ускоряют доставку контента.

Теперь рассмотрим три способа настроить открытый прокси-сервер Интернета.

Метод первый: OpenSSH

OpenSSH (https://www.openssh.com/) — испытанный и надежный общедоступный SSH-сервер, поддерживающий Linux и Windows.

Если вам хоть что-то известно о SSH, то наверняка вы знаете, что его основная функция — обеспечить удаленное подключение к другим компьютерам. Действительно, SSH не проектировался в первую очередь как прокси-сервер. Тем не менее вполне можно настроить сервер OpenSSH и применять его в качестве посредника между другими компьютерами.

Недостаток этого подхода в необходимости устанавливать клиентскую программу SSH на компьютерах, которые будут использовать сервер OpenSSH в качестве сервера-посредника. Кроме того, по умолчанию OpenSSH не сжимает трафик, поэтому производительность при таком подходе может быть средней, в зависимости от полосы пропускания канала связи и количества данных, проходящих через прокси.

В то же время OpenSSH прост в установке. Кроме того, при его использовании в качестве прокси вы получаете SSH-сервер. Таким образом, затратив усилия на одно решение, вы получаете в свое распоряжение два. А если хотите установить действительно строгие правила безопасности, то можно сочетать SSH с другими протоколами, такими как RDP, чтобы повысить уровень конфиденциальности данных и управлять доступом.

Метод второй: OpenVPN

Второй подход к построению открытого прокси-сервера — использовать OpenVPN (https://openvpn.net/), популярный открытый комплект VPN-сервера.

Строго говоря, VPN — не прокси-сервер. Это безопасный туннель, в котором шифруется трафик между компьютерами конкретной группы.

Однако VPN-сервер все же выполняет базовые функции прокси-сервера. Он позволяет скрыть IP-адреса компьютеров на VPN и при необходимости помешать увидеть эти компьютеры из общедоступной сети.

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

Метод третий: Squid

Squid (http://www.squid-cache.org/) — еще один открытый инструмент для настройки прокси-сервера. Он существует уже в течение десятилетий.

Squid проектировался в первую очередь для обслуживания веб-прокси с функциями кэширования для ускорения доставки контента, но его можно настроить (https://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto. html) и как обычный прозрачный прокси-сервер.

Squid чаще используется на системах Linux, но есть вариант и для Windows (http://squid.diladele.com/).

Недостаток Squid в том, что настроить его сложнее всего. Кроме того, поддерживая несколько протоколов помимо HTTP, Squid не очень хорошо работает с такими протоколами, как RDP.

Одно из достоинств открытого программного обеспечения заключается в том, что обычно существует несколько инструментов для решения одной задачи. Это верно и в отношении настройки открытого прокси-сервера. Предпочтете вы работать с прокси через OpenSSH, OpenVPN, Squid или иной открытый инструмент — перед вами откроется все богатство возможностей.