Как сделать домашний прокси сервер
Как настроить свой прокси-сервер
С собственным прокси-сервером вам не страшны никакие блокировки в интернете.
Лайфхакер уже рассказывал о том, как купить виртуальный сервер (VPS) и настроить свой VPN для обхода блокировок в интернете. Но VPN работает для всех программ, которые имеют доступ в интернет. Если вы хотите, чтобы трафик перенаправлялся на другой сервер только в браузере, создайте собственный прокси.
Учитывая запрет анонимайзеров и VPN, который в любой момент может начать применяться на практике, наличие собственного прокси-сервера станет гарантией вашей свободы в интернете.
Как создать прокси
О том, как выбрать и купить VPS, подробно рассказано в материале о поднятии VPN. Не будем повторяться и перейдём сразу к настройке прокси-сервера.
Скачайте и установите утилиту Putty. На вкладке Session пропишите IP-адрес, который был в письме при создании VPS.
Перейдите на вкладку Tunnels в разделе SSH. Введите в строку Source Port номер 3128. Выберите значения Auto и Dynamic. Нажмите Add.
Откройте вкладку Connection и установите время 100 секунд, чтобы исключить разрыв соединения.
Нажмите Open, чтобы выполнить подключение. Введите логин и пароль, которые прислал хостер в письме после создания VPS.
Осталось настроить прокси в браузере. Посмотрим, как это сделать, на примере Google Chrome. Откройте настройки браузера, вызовите дополнительные настройки и найдите настройки прокси-сервера в разделе «Система».
В поле «Настройка параметров локальной сети» нажмите на кнопку «Настройка сети». Отметьте пункты «Автоматическое определение» и «Использовать для локальных подключений». Нажмите «Дополнительно». В строке SOCKS укажите адрес localhost и порт 3128.
Проверьте IP-адрес компьютера, чтобы убедиться в том, что браузер подключается к сайтам через прокси. В других браузерах настройка выполняется аналогичным образом. Как настроить прокси на компьютерах, планшетах и телефонах с разными системами, Лайфхакер тоже рассказывал.
Как запустить прокси на отдельных сайтах
Чтобы прокси-сервер использовался только на определённых сайтах, установите в браузере расширение FoxyProxy.
Прокси-сервер для домашних сетей
Для подключения локальных сетей к Интернету используется специальное программное обеспечение — прокси-сервер. Основная задача таких программ — организовать доступ к Сети с нескольких компьютеров по одному каналу. Чаще всего потребность в этом возникает в офисных сетях, но с помощью этих же инструментов можно обеспечить доступ в Интернет и с объединенных в сеть домашних компьютеров.
Для подключения локальных сетей к Интернету используется специальное программное обеспечение — прокси-сервер. Основная задача таких программ — организовать доступ к Сети с нескольких компьютеров по одному каналу. Чаще всего потребность в этом возникает в офисных сетях, но с помощью этих же инструментов можно обеспечить доступ в Интернет и с объединенных в сеть домашних компьютеров.
В этой статье
Первоначально прокси-серверы были достаточно примитивными программами, для настройки которых необходимы были серьезные знания сетевых технологий. Сегодня ситуация на рынке коренным образом изменилась: прокси-серверы стали гораздо проще, но при этом и функциональнее. Эти программы постоянно развиваются, приобретая все новые и новые возможности. Ярким примером этому служит разработка компании Entensys — прокси-сервер UserGate, обновившийся недавно до пятой версии.
СЕТЕВЫЕ ТЕХНОЛОГИИ: Что нового
Одна из принципиальных особенностей прокси-сервера UserGate — поддержка NAT (Network Address Translation — трансляция сетевых адресов). Эта технология используется для подмены IP-адресов при прохождении сетевых пакетов. В исходящих пакетах адрес отправителя заменяется на адрес интернет-шлюза, а во входящих — адрес интернет-шлюза на адрес одного из «внутренних» компьютеров. Это позволяет, имея только один «реальный» IP-адрес, пользоваться Интернетом нескольким компьютерам с «внутренними» адресами.
Технологию NAT отличает ряд преимуществ перед другими, используемыми в прокси-серверах — в частности, не требуется настройка каждой программы на локальном компьютере для работы через прокси-сервер.
В пятой версии UserGate расширена функциональность драйвера NAT, который помимо обеспечения подключения к Интернету может выполнять и роль маршрутизатора для локальных сетей.
Просмотр веб-cтатистики интересен не только из любопытства Следующим серьезным нововведением стала система статистики.
В старых версиях UserGate для работы со статистической информацией, касающейся использования Интернета, применялось специальное приложение — с его помощью можно было просматривать данные в табличном представлении. В пятой версии прокси-сервера UserGate появилась веб-статистика. Для работы с ней не нужно никаких клиентов — вполне достаточно обычного браузера. Основное преимущество такого решения — возможность удаленного контроля статистики через Интернет. в новом варианте данные можно просматривать в виде графиков и диаграмм, что дает статистике большую наглядность, а также использовать это для составления различных отчетов.
Просмотр статистики с помощью клиента программы дает более полную информацию о приложениях В этом же модуле появилось разделения прав доступа: теперь администратор может разрешить простым пользователям просматривать только свою статистику, а ответственным за учет — все данные. Правда, есть у этого модуля и недостаток: локальный вебсервер сильно нагружает интернет-шлюз.
Еще одно значительное изменение, появившееся в пятой версии UserGate, — расширение числа поддерживаемых протоколов. К их списку добавились SIP и Н.323 — они используются для организации систем IP-телефонии.
В последнее время этот вид связи получает все большее распространение, так что появление ее поддержки в прокси-сервере не может не радовать. Кстати, с протоколом Н.323 связано еще одно интересное нововведение: UserGate может использоваться в качестве локальной АТС благодаря появившейся в ней функции так называемого привратника.
Это один из модулей контроллера зоны в сетях IP-телефонии стандарта Н.323. В его обязанности входит, помимо прочего, преобразование alias-адреса в транспортный адрес сети с маршрутизацией пакетов IP (IP-адрес и номер порта TCP). To есть благодаря привратнику в прокси-сервере UserGate каждому пользователю можно присвоить собственный alias-адрес, после чего осуществлять звонки внутри сети (с использованием стандарта Н.323) совершенно бесплатно.
А тем пользователям, которым требуется повышенная надежность доступа в Интернет, наверняка понравится функция резервирования интернет-канала. Суть ее довольно проста: если у интернет-шлюза есть два подключения к Глобальной сети, то один из них может быть выбран в качестве основного, а второй — в качестве резервного. Первый канал используется постоянно. Если по какой-то причине доступ до указанных хостов по нему пропадет, прокси-сервер автоматически переключится на резервный канал, в результате чего пользователи смогут продолжить свою работу. При этом UserGate будет периодически проверять доступность основного канала и, как только он восстановится, вернется на него.
АДМИНИСТРИРОВАНИЕ: Управление трафиком
Настроить правила сетевого экрана не сложнее, чем в известных брандмауэрах В UserGate реализовано несколько механизмов управления интернет-трафиком. Самый простой из них — групповые и пользовательские политики. Администратор может с помощью правил запретить доступ определенных пользователей к конкретным сайтам, установить ограничение на объем входящего или исходящего трафика, при достижении которого выход в Интернет будет автоматически закрываться, задать список разрешенных и запрещенных протоколов и т. д. Это базовые функции, которые были реализованы и в предыдущей версии прокси-сервера.
Редактирование списка пользователей. Здесь необходимо выбрать способ авторизации Новинкой пятой версии UserGate, касающейся управления трафиком, является внедрение в него продуктов компании Bright Cloud Inc.
Речь идет о BrightCloud Service и BrightCloud Master Database. Эти модули предназначены для ограничения доступа пользователей к сайтам определенных категорий. в частности, с их помощью можно закрыть всевозможные развлекательные проекты, сайты для взрослых, варез-порталы и т. п. В домашних условиях данная функция может быть использована для родительского контроля, а при корпоративном использовании прокси-сервера — повышать производительность труда и усиливать безопасность путем уменьшения риска загрузки на компьютеры конечных пользователей вирусов и троянских программ.
В новой же версии к этим возможностям добавился еще и весьма интересный модуль Traffic Manager. На нем стоит остановиться немного подробнее. Дело в том, что данный модуль позволяет очень гибко управлять трафиком и регулировать текущую загрузку интернет-канала. В частности, с его помощью можно зарезервировать определенную его часть под НТТР-трафик.
Благодаря этому посещение сайтов для пользователей всегда будет комфортным, даже несмотря на то что кто-то из «соседей» по локальной сети активно качает файлы с FTP-сервера.
Помимо этого в модуле Traffic Manager есть и другой вид правил — с их помощью можно резервировать часть интернет-канала под конкретных пользователей или их группы. То есть фактически можно указать тех людей, у кого Интернет всегда должен работать на высокой скорости, и тех, кому доступ предоставляется по остаточному принципу. Но и это еще не все.
UserGate позволяет добавлять правила, ограничивающие скорость по конкретным TCP- и UDP-портам или целым их диапазонам.
ВЫБОР ЕСТЬ: Что лучше для домашней сети
Внимательно ознакомившись со всеми нововведениями, появившимися в пятой версии прокси-сервера UserGate, можно заметить их «корпоративную» направленность. И в этом, в общем-то, нет ничего удивительного. Большая часть коммерческих прокси-серверов предназначена для подключения к Интернету офисов компаний, интернет-клубов и т. п.
Однако в Интернете можно найти и абсолютно бесплатные прокси-серверы. В качестве примера можно отметить программу SmallProxy.
Это достаточно функциональный (для бесплатного) продукт, в котором реализована поддержка групп и пользователей, системы кеширования, фильтрация сайтов, блокировка портов и ведение подробной статистики.
Так что же выбрать — UserGate или бесплатный вариант? Однозначного ответа на этот вопрос быть не может: все зависит от поставленной задачи. Например, для подключения к Интернету офисов больше подходят коммерческие продукты, ведь за счет большей стабильности работы и простоты настройки снижается стоимость их сопровождения.
А гибкая система управления трафиком обеспечивает точное соблюдение корпоративной политики в области использования Интернета, что совместно с кешированием и фильтрацией рекламы позволяет сократить расходы на доступ к Глобальной сети.
Для домашних же пользователей многие из этих функций не нужны.
Кому, к примеру, может понадобиться биллинговая система, если предполагается подключить к Интернету компьютер и ноутбук из одной квартиры? Так что в ряде случаев вполне можно обойтись бесплатными вариантами: в них есть почти все необходимое для решения поставленной задачи.
Впрочем, есть ситуации, когда функции UserGate могут пригодиться в домашних сетях — например, если необходимо подключить к Интернету локальную сеть, объединяющую несколько квартир в одном доме. В этом случае можно назначить один ПК в качестве интернет-шлюза и обойтись одним каналом на всех. В небольших населенных пунктах в регионах использование UserGate вкупе с организацией единого канала связи (спутниковая тарелка или выделенная линия) может дать существенную экономию как в процессе запуска системы (за счет сокращения расходов на организацию интернет-каналов), так и в ходе ее эксплуатации (при большем потреблении цена трафика снижается).
Пара слов о безопасности
Наверное, сегодня уже никому не надо долго объяснять, что Интернет — небезопасная среда, где угрозу представляют не только вирусы, но и хакерские атаки. Оптимальным вариантом защиты от них является многоуровневая система безопасности. Суть ее заключается в последовательной проверке трафика сначала на уровне интернет-шлюза, а потом на уровне конечной рабочей станции. В UserGate есть средства защиты от внешних угроз. Для защиты от вирусов применяются два антивирусных ядра от известных производителей — Лаборатории Касперского и Panda Software.
Антивирусный щит — неотъемлемая часть нового UserGate Они могут использоваться как отдельно друг от друга, так и вместе. Зато в новой версии UserGate заметно обновился межсетевой экран, с помощью которого можно четко определить доступные порты.
Естественно, в современных условиях этого недостаточно — хотелось бы иметь активную систему защиты наподобие IDS (Intrusion Detection System), которая способна обнаружить и заблокировать атаку, осуществляемую через разрешенный порт. Тем не менее, межсетевой экран UserGate вполне может выполнять роль защиты первого уровня, при условии, что на рабочих станциях будут использоваться собственные брандмауэры. С клиентского модуля межсетевого экрана можно задать строго определенный круг программ, которые смогут подключаться к Глобальной сети — остальным доступ будет закрыт. Это должно обезопасить пользователя от многих видов троянских программ. Кроме того, межсетевой экран UserGate позволяет вести учет трафика по каждому приложению в отдельности.
ДОМАШНИй ПРОКСИ-СЕРВЕР: Практические шаги по настройке UserGate
Настройка прокси-сервера UserGate не очень сложна, но все же требует от пользователя определенных знаний в области сетевых технологий.
Настройка прокси-сервера вполне по силам даже простому пользователю Предполагается, что машина, на которую ставится прокси-сервер, оснащена двумя сетевыми картами. Поэтому начнем с выбора WAN-интерфейса (сетевой карты, «смотрящей» в Интернет) и LAN-интерфейса (сетевой карты для работы в локальной сети). В том случае, если интернет-шлюз подключен к нескольким провайдерам, WAN-интерфейсов может быть больше одного.
Следующий шаг — настройка сетевого экрана. Создайте правила, разрешающие прохождение нужного трафика. В частности, для посещения веб-сайтов нужно открыть HTTP-трафик. Для этого необходимо правило, разрешающее передачу данных по 80-му и 443-му (для HTTPS) TCP-портам. В качестве источника укажите сетевую карту локальной сети, а приемника — нужный WAN-интерфейс. Правила создаются с помощью удобного пошагового мастера. Подобным образом разрешите работу всех используемых вами протоколов — FTP, SMTP, POP3 и т. д.
После этого перейдите на вкладку «Настройка прокси» и включите нужные прокси-серверы (HTTP, FTP и т. д.). При этом в их настройках активируйте интерфейсы, которые будут «прослушиваться» (в подавляющем большинстве случаев это сетевая карта локальной сети и адрес 127.0.0.1).
В случае если необходимо использовать технологию NAT, включите чекбокс «Прозрачный прокси». Как мы уже говорили, это наиболее оптимальный вариант организации совместного доступа к Интернету. Тем не менее, в некоторых случаях лучше применять стандартный прокси-сервер. в частности, он рекомендуется при использовании медленных соединений (в нем реализован режим кеширования) и при необходимости фильтрации сайтов по категориям (в случае с NAT она невозможна). В этом случае отключите чек-бокс «Прозрачный прокси», а в настройках браузеров конечных пользователей введите в качестве прокси-сервера адрес интернет-шлюза.
Настало время настроить DNS.
Самым простым методом является DNS-форвардинг.
Суть его заключается в пересылке прокси-сервером DNS-запросов на DNS-сервер провайдера. Для начала использования DNS-форвардинга просто включите его в разделе «Сервис» и установите в настройках сетевого подключения компьютеров конечных пользователей в качестве DNS-сервера IP-адрес интернет-шлюза.
Ситуация несколько осложняется, если в локальной сети уже есть свой DNS-сервер. В этом случае разрешите ему передавать запросы вышестоящему серверу (DNS-серверу провайдера), после чего создайте в прокси-сервере специального пользователя с IP-адресом локального DNS-сервера и разрешением работы по порту UDP 53.
Завершаем первичную настройку созданием пользователей. При необходимости разбейте их на категории и создайте группы, указывая для каждой из них определенный набор правил. Например, кому-то можно открыть протокол FTP, а кому-то нет. Кому-то разрешить просматривать сайты, а кому-то только работать с почтой. После этого укажите пользователей. к ним автоматически применяются правила, установленные для группы.
Дополнительно можно установить и персональные права и ограничения.
Указывая пользователей, выберите способ их авторизации.
Доступно много вариантов, начиная просто с указания IP-адреса или IP-адреса и МАС-адреса, и заканчивая авторизацией по учетной записи в Active Directory. Часть из них не требует никаких настроек, однако для использования сложных вариантов, например по Active Directory, на ПК пользователей необходимо установить специальную программу, которая поставляется в комплекте с UserGate.
На этом первичную настройку прокси-сервера можно считать законченной. После завершения этих действий совместный доступ к Интернету будет работать.
Как сделать свой прокси сервер на виртуальном хостинге?
С собственным прокси-сервером вам не страшны никакие блокировки в интернете. По очевидным причинам, такой прокси не подходит для анонимности, но он вполне сможет удовлетворять потребности, например, для обхода блокировок сайтов, либо использоваться в качестве дополнительного IP адреса при доступе к сервису, количество запросов к которому с одного IP ограничено.
Proxy позволяет перенаправлять трафик с вашего компьютера на сервер. Например, вы хотите открыть некий сайт через прокси. Тогда ваш компьютер обращается к прокси, прокси подключается к сайту, получает его содержимое и перенаправляет его на ваш компьютер. Таким образом, сайт видит внешний IP прокси-сервера, а не вашего компьютера, а если сайт заблокирован, например, Роскомнадзором или президентом Украины, то можно сделать прокси-сервер в другой стране, в которой нужные вам ресурсы не заблокированы, и тем самым получить к ним доступ в обход блокировок. Главное, чтобы из вашей страны не был заблокирован сам прокси-сервер.
Специально платить за виртуальный хостинг ради прокси не имеет смысла — тогда уж проще арендовать самый дешёвый VPS (виртуальный частный сервер) и настроить на нём VPN — это будет более стабильное и более безопасное соединение, чем прокси на виртуальном хостинге. Тем не менее если вы веб-мастер и всё равно каждый месяц платите за хостинг, то, если есть потребность, можно заодно настроить и прокси.
Виртуальный хостинг.
Обладателям веб-ресурсов приходится столкнуться с таким понятием, как хостинг. Это некоторая часть диска на сервере провайдера, предоставляющего услуги хостинга. Надежность работы интернет-проекта во многом связана с оборудованием, операционной системой, программами, установленными на компьютере-сервере.
Благодаря хостинговым услугам, сайт постоянно присутствует в интернете. При этом имеется возможность выбрать:
Нам понадобиться доступ в консоль (SSH), который в настоящее время предоставляется на многих современных хостингах — иногда доступ в консоль доступен по умолчанию, иногда предоставляется по запросу. Иногда это полноценный сервер SSH, иногда это эмулятор SSH с веб интерфейсом — нам подойдёт любой вариант, большой разницы это не играет (хотя с полноценным SSH будет более стабильная связь).
Настройка хостинга под прокси
1. Проверка и установка ncat
В качестве прокси сервера мы будем использовать программу ncat. Выбор сделан в пользую этой программы по следующим причинам:
На многих серверах она доступна по умолчанию
В случае отсутствия легко установить (имеются официальные бинарные файлы для популярных дистрибутивов Linux, то есть не нужно компилировать самому)
Эта программа хорошо мне знакома (кстати, рекомендую соответствующую статью «Как пользоваться netcat (nc), ncat»)
Итак, начнём с проверки, имеется ли на хостинге программа ncat. Для этого откройте консоль и выполните там:
Если будет выведено что-то вроде:
Значит программа установлена по умолчанию и можно сразу переходить к следующему пункту. Если будет сообщение, что программа не найдена, значит нужно начать с установки.
Обратите внимание: для данной инструкции НЕ подходят аналоги вроде netcat и nc.
Если программа отсутствует, то мы сможем её установить даже если у нас нет root прав! Дело в том, что программа является полностью портативной, поэтому достаточно скачать установочный пакет и распаковать его. После этого программу можно запускать обращаясь к файлу по абсолютному пути или поместить его в директорию
/bin, чтобы запускать по имени файла. Для прослушивания портов начиная с номера 1024 и более высоких, прав суперпользователя также не требуется. То есть для всех операций нам хватит наших обычных ограниченных прав клиента Shared хостинга.
Нам нужно начать с того, чтобы определить, на каком дистрибутиве Linux работает хостинг, чтобы знать, какой пакет использовать.
Если хостинг работает на Red Hat Enterprise Linux (RHEL), Fedora, CentOS, Suse, Mandrake, Yellow Dog и их производных, то будем использовать официальный пакет RPM.
Узнать какой используется дистрибутив Linux можно командой:
Ещё один надёжный вариант — это проверить, какая из программ присутствует в системе: yum или apt. Это можно сделать, например, с помощью команды which:
значит в системе присутствует yum, которая является менеджером пакетов RPM.
А если команда отсутствует как в следующем случае:
то будет показано примерно следующее:
/usr/bin/which: no apt in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/host900000/bin)
Это означает, что apt отсутствует в системе, значит это не Debian или производный дистрибутив.
Создайте папку bin и перейдите в неё:
Теперь скачиваем установочный пакет Ncat:
Если у вас Red Hat Enterprise Linux (RHEL), Fedora, CentOS, Suse и их производные, то просто распакуйте скаченный файл:
Перемещаем исполнимый файл и делаем очистку:
sudo apt install rpm2cpio
Также распаковать можно используя архиватор 7z или программу alien.
2. Запуск прокси
Если программа Ncat установлена у вашего хостера и вы пропустили первый этап, то создайте папку bin и перейдите в неё:
Сделайте тестовый запуск прокси и проверьте его работоспособность:
В предыдущей команде замените ПОРТ на желаемое значение. Дополнительно используйте следующие опции чтобы посторонние лица не могли воспользоваться вашим прокси:
–allow Разрешить подключаться к Ncat только заданному хосту
–allowfile Файл со списком хостов, разрешённым для подключения к Ncat
–deny Запретить указанным хостам подключаться к Ncat
–denyfile Файл со списком хостов, кому запрещено подключаться к Ncat
Не нужно надеяться, что никто не наткнётся на ваш прокси — обязательно выберите способ закрыть доступ от посторонних. Если у вас постоянный IP или ваш IP всегда в определённом диапазоне, то ограничьте доступ этим диапазоном. Либо установите сложные логин и пароль.
Когда вы составите команду запуска ncat, настроите ограничения от посторонних и всё проверите, то запустите её следующим образом:
К примеру, моя команда запуска следующая:
Тогда мне нужно запустить её так:
Эта конструкция используется для того, чтобы команда не завершала работу даже после закрытия окна консоли.
Если вдруг понадобиться остановить запущенную таким образом команду (а CTRL+c в данном случае не поможет), то это можно сделать узнав её PID, с помощью, например:
Когда получите PID данного процесса, то закрыть его можно так:
Добавление в Cron задания для проверки работы прокси и запуск прокси в случае остановки
В полноценном SSH запущенный показанным способом процесс должно оставаться постоянно работающим. Но, как я уже сказал, у моего хостера в качестве SSH используется какой-то эмулятор SSH с веб интерфейсом, поэтому в моём случае после примерно 20 минут процесс ncat завершает работу.
Эту ситуацию можно исправить добавив в Cron соответствующее задание.
Для этого в текущей папке
/bin создайте файл checkProxy.sh и скопируйте в него примерно следующее:
Данный скрипт проверяет, запущен ли уже процесс ncat, если он не запущен, то делается запуск; если запущен, то ничего не делается.
Добавьте разрешение на выполнение:
Теперь нам нужно узнать абсолютный путь до этого файла:
/home/host000000/bin/checkProxy.sh
Теперь в панели управления хостингом переходим во вкладку Cron и добавляем новую запись:
Запись должна быть следующего вида:
bash /путь/до/файла/checkProxy.sh >/dev/null 2>&1
К примеру в моём случае:
bash /home/host000000/bin/checkProxy.sh >/dev/null 2>&1
Вместо вывода 🙂
Настроенный таким образом прокси даже в случае непредвиденного завершения работы будет автоматически перезапущен не более чем в течение минуты.
и в другой консоли запрос через этот прокси: