Если вы ИТ-специалист или просто опытный пользователь Интернета, то, скорее всего, рано или поздно придете к необходимости обзавестись прокси-сервером. Возможно, вы предпочтете бесплатную открытую программу. В таком случае эта статья — то, что вам нужно. Мы рассмотрим три варианта организации прокси-сервера с использованием открытого программного обеспечения. В частности, будут представлены 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 или иной открытый инструмент — перед вами откроется все богатство возможностей.