Как из vps сделать прокси сервер
Перейти к содержимому

Как из vps сделать прокси сервер

  • автор:

Установка и настройка proxy на VPS

Разница между HTTP(S) и SOCKS 5 прокси состоит в том, что HTTP(S) работает только по этому протоколу, остальные соединения будут идти в обход прокси. В отличие от HTTP и HTTPS, SOCKS (Socket Secure) перенаправляет ваш трафик не только из браузера, но и вообще со всех программ устройства. При этом прокси-сервер не вносит никаких изменений и данных: он только перенаправляет трафик финальному серверу. Получается, что прокси-сервер как бы действует от имени устройства пользователя

Еще одним важным плюсом SOCKS proxy является возможность выстраивания нескольких таких серверов в цепочку произвольной длины. Это обусловлено тем, что SOCKS передает данные между несколькими компьютерами без изменения трафика. Однако не все программы могут работать с такими цепочками, поэтому может потребоваться установка специализированных утилит.

VPS и SSH

Для начала нам потребуется VPS и умение подключаться к нему по SSH. Но об этом у меня уже написано:

Настройка proxy

Если какие-то пакеты не обновились — обновляем, если нужно перезагружаем.

Установим пакет gdebi , он нужен для того, чтобы устанавливать программы не только из репозиториев, но и из deb — пакетов и помогает разрешать зависимости. Нам нужен, чтобы установить Dante.

А теперь с помощью gdebi установим Dante

Во время установки появятся ошибки — так и должно быть. Игнорируй их.

Теперь запусти ifconfig

Если он на сервере еще не установен — установи, терминал подскажет пакет, кажется net-tools В ответе ifconfig найди на каком сетевом интрефейсе находится наш IP Установка и настройка собственного proxy на VPSВ данном примере интерфейс eth0. Может быть совсем другой. Запиши свой сетевой интерфейс в блокнот.

Теперь настроим Dante. Откроем файл настроек

И внесем туда свою конфигурацию. В строке «external: eth0» вы должны указать свой интерфейс! Сохраняем внесенные изменения.

Это примерная конфигурация с основными параметрами. Точную конфигурацию для современного сервера Dante прикреплю в конце поста.

Запускаем сервер Dante

Сейчас proxy уже можно пользоваться без авторизации. То есть любой, кто знает ip-адрес и порт может использовать этот прокси. Нас это не устраивает.

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

В том числе обновился Dante. Dante предложил мне скачать новый файл конфигурации, взамен того, что был у меня. Я согласился и при обновлении получил новый файл конфигурации, без настроек. После этого я заново настроил файл конфигурации, как вот так, остановил и заново запустил сервер и все заработало.

Потом я настроил авторизацию как написано ниже. Конфиг для этого вот тут

Настройка авторизации

Создадим пользователя linux:

Мы создаем пользователя proxyuser — ты можешь создать любого другого. После этой команды терминал запросит два раза ввести новый пароль для этого пользователя.

Теперь снова изменяем файл конфигурации:

изменяем строку socksmethod с none на username:

Все готово! Теперь прокси работает только с авторизацией по логину и паролю.

Полезные команды

Чтобы проверить работает сервер или нет можно проверить какая программа слушает наш порт и слушает ли вообще, у нас он 1080:

Если Dante работает ты увидишь это, если нет — вывод будет пустым.

Запуск сервера Dante

Остановка сервера Dante

Перезапуск сервера Dante

Проверить работу proxy можно либо с помощью программы Proxy Checker, которая лежит в архиве вместе с программой Proxifier, если скачать портабл версию

Либо, с помощью любой программы, которая поддреживает подключение через прокси, например Telegram

Proxy Checker удобнее, потому что он показывает этапы тестирования прокси и ошибки, что упрощает проверку.

VPS как анонимный прокси и не только…

Для анонимного доступа к определенным ресурсам сформируем специальную таблицу PF ip адресов:

В нашей схеме клиент использует прозрачный прокси, поэтому в PF необходимо создать редирект:

Перенаправляем трафик, идущий от клиентов по портам 80, 443 на определенные ресурсы через локальный прокси сервер (порт 3129).

Локальный прокси сервер SQUID

В стандартную конфигурацию SQUID2.7, как прокси для локальной сети, необходимо внести следующие директивы:

Туннель на основе OpenVPN

Создадим между Интернет-шлюзом и VPS vpn-туннель, установив openvpn сервер (10.10.10.1) на шлюзе, а клиент на VPS (10.10.10.250).

VPS прокси сервер SQUID

Cтандартная конфигурация SQUID2.7 с анонимным доступом.

Резервный доступ к серверам (HTTP, HTTPs) извне

Internet —> VPS (PF) —vpn+stunnel—> Интернет-шлюз (PF) —> локальный сервер (HTTP, HTTPs)

Файервол PF на VPS

Добавим редирект в файервол PF на VPS:

Будем перенаправлять трафик, предназначенный для веб-сервера за Интернет-шлюзом, на адрес локальной петли порты 8180 и 4443, на котором работает Stunnel.

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как сделать прокси на виртуальном хостинге

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

Но бывает нужен не список с ненадёжно работающими прокси, а всего лишь нужен один дополнительный IP адрес, всегда стабильно доступный и стабильно работающий.

В этой инструкции я покажу, как создать собственный прокси на самом обычном виртуальном хостинге. По очевидным причинам, такой прокси не подходит для анонимности, но он вполне сможет удовлетворять потребности, например, для обхода блокировок сайтов, либо использоваться в качестве дополнительного IP адреса при доступе к сервису, количество запросов к которому с одного IP ограничено. Специально платить за виртуальный хостинг ради прокси не имеет смысла — тогда уж проще арендовать самый дешёвый VPS (виртуальный частный сервер) и настроить на нём VPN — это будет более стабильное и более безопасное соединение, чем прокси на виртуальном хостинге.

Тем не менее если вы веб-мастер и всё равно каждый месяц платите за хостинг, то, если есть потребность, можно заодно настроить и прокси.

Нам понадобиться доступ в консоль (SSH), который в настоящее время предоставляется на многих современных хостингах — иногда доступ в консоль доступен по умолчанию, иногда предоставляется по запросу. Иногда это полноценный сервер SSH, иногда это эмулятор SSH с веб интерфейсом — нам подойдёт любой вариант, большой разницы это не играет (хотя с полноценным SSH будет более стабильная связь).

Я покажу на примере своего хостера — там доступен эмулятор SSH с веб интерфейсом. В вашем случае интерфейс может быть другим, путь до домашней папки пользователя могут быть другим, но в целом суть процесса везде одинаковая.

Мы рассмотрим следующие вопросы:

https://amdy.su/wp-admin/options-general.php?page=ad-inserter.php#tab-8
  • как проверить наличие необходимой программы и при необходимости её установить
  • как запустить прокси
  • как в Cron добавить задание для проверки работы прокси и в случае «вылета» процесса прокси перезапустить его

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.

Если хостинг работает на Debian, Ubuntu и их производных то… всё равно будет использовать пакет RPM, так как пакет .deb отсутствует. Но нам нужжно будет сделать дополнительное действие.

Узнать какой используется дистрибутив Linux можно командой:

Если этот способ не сработал, то другие варианты смотрите в статье «Как узнать, какой дистрибутив и версия Linux запущена?».

Ещё один надёжный вариант — это проверить, какая из программ присутствует в системе: yum или apt. Это можно сделать, например, с помощью команды which:

значит в системе присутствует yum, которая является менеджером пакетов RPM.

А если команда отсутствует как в следующем случае:

то будет показано примерно следующее:

Это означает, что apt отсутствует в системе, значит это не Debian или производный дистрибутив.

Создайте папку bin и перейдите в неё:

Теперь скачиваем установочный пакет Ncat:

Если у вас Red Hat Enterprise Linux (RHEL), Fedora, CentOS, Suse и их производные, то просто распакуйте скаченный файл:

Перемещаем исполнимый файл и делаем очистку:

Если у вас Debian, Ubuntu и их производны, то вам также достаточно распаковать скаченный файл. Проблема в том, что по умолчанию пакет rpm2cpio может быть не установлен и поэтому нужно выбрать другой вариант. Файлы .rpm можно распаковать различными способами, но, скорее всего, вам придётся это сделать на своём домашнем компьютере и выгрузите файл (нужен всего лишь один файл из распакованного пакета: ./usr/bin/ncat) на хостинг. На своём компьютере с Linux (Debian, Ubuntu, Kali Linux, Linux Mint) вы можете сделать распаковку установив пакет rpm2cpio:

Также распаковать можно используя архиватор 7z или программу alien.

2. Запуск прокси

Если программа Ncat установлена у вашего хостера и вы пропустили первый этап, то создайте папку bin и перейдите в неё:

Сделайте тестовый запуск прокси и проверьте его работоспособность:

В предыдущей команде замените ПОРТ на желаемое значение. Дополнительно используйте следующие опции чтобы посторонние лица не могли воспользоваться вашим прокси:

Не нужно надеяться, что никто не наткнётся на ваш прокси — обязательно выберите способ закрыть доступ от посторонних. Если у вас постоянный IP или ваш IP всегда в определённом диапазоне, то ограничьте доступ этим диапазоном. Либо установите сложные логин и пароль.

Когда вы составите команду запуска ncat, настроите ограничения от посторонних и всё проверите, то запустите её следующим образом:

К примеру, моя команда запуска следующая:

Тогда мне нужно запустить её так:

Эта конструкция используется для того, чтобы команда не завершала работу даже после закрытия окна консоли.

Если вдруг понадобиться остановить запущенную таким образом команду (а CTRL+c в данном случае не поможет), то это можно сделать узнав её PID, с помощью, например:

Когда получите PID данного процесса, то закрыть его можно так:

3. Добавление в Cron задания для проверки работы прокси и запуск прокси в случае остановки

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

Эту ситуацию можно исправить добавив в Cron соответствующее задание.

Для этого в текущей папке

/bin создайте файл checkProxy.sh и скопируйте в него примерно следующее:

Обратите внимание на часть ncat —allow IP -l PORT —proxy-type http — вам нужно отредактировать её в соответствии с вашей командой запуска прокси.

Данный скрипт проверяет, запущен ли уже процесс ncat, если он не запущен, то делается запуск; если запущен, то ничего не делается.

Добавьте разрешение на выполнение:

Теперь нам нужно узнать абсолютный путь до этого файла:

Теперь в панели управления хостингом переходим во вкладку Cron и добавляем новую запись:

Запись должна быть следующего вида:

К примеру в моём случае:

Заключение

Настроенный таким образом прокси даже в случае непредвиденного завершения работы будет автоматически перезапущен не более чем в течение минуты.

Напомню, что Ncat поддерживает в качестве прокси сервера только HTTP прокси.

Вы можете запускать команду ncat без nohup и & (то есть без отделения её от терминала), но зато с опциями -vvv для увеличения вербальности. Таким образом вы сможете анализировать HTTP запросы. Кстати, для этого ненужен хостинг или сервер — это можно делать и на локальном компьютере, в одной консоли запускаем прокси:

Виртуальный сервер (VPS) в качестве прокси: инструкция

Как сделать прокси на виртуальном хостинге: мануал по настройке и созданию прокси на виртуальном сервере (VPS). Boodet.online.

10 Апр 2020 12:42 IT GIRL 12

Установка прокси-сервера на VPS: инструкция

Надежный прокси-сервер, который может обеспечить безопасное подключение к интернету для конечных пользователей, можно развернуть на VPS самостоятельно. Простая и подробная инструкция от Boodet.Online поможет в установке за несколько минут. Для этого мы используем приложение Squid для операционной системы Linux Ubuntu.

Почему Squid? В этом приложении есть все, что понадобится для бизнеса:

функция ведения журналов;

контроль доступа и защита от вирусов;

мониторинг пропускной способности;

надежное шифрование соединения.

Более того, приложение прокси-сервера Squid можно установить на VPS с любыми параметрами конфигурации. Это позволит облегчить и централизовать интернет-трафик в сети для бизнеса любого масштаба.

Как создать прокси

С помощью этой простой инструкции вы с легкостью установите прокси-сервер на VPS . Действуйте пошагово, и все обязательно получится.

Вход в систему VPS с помощью Putty

На этом этапе нужно настроить SSH-соединение с сервером. Не забудьте, что это действие требует прав администратора.

Установка Squid

Squid можно найти в репозиториях Ubuntu. Прежде чем начать установку, убедитесь, что версия ОС обновлена. Для этого в командной строке введите:

sudo apt-get upgrade

sudo apt-get update

sudo apt-get install squid

Совет: скопируйте исходный файл — это будет ваша резервная копия на случай, если что-то пойдет не так:

sudo cp /etc/squid3/squid.conf.default

Ограничение доступа

Одна из самых распространенных ошибок новичков при установке прокси-сервера на VPS — оставить его открытым для анонимной аутентификации.

Лучший способ обезопасить свой сервер — зарегистрировать бесплатный динамический DNS у провайдера. С помощью этой службы можно ограничить доступ к серверу, создав белый список для IP-адресов вашей компании.

Настройка установленного на VPS прокси-сервер

Сначала необходимо отредактировать конфигурацию Squad.

http_access allow client

acl client src 12.123.123.123# Home IP

Замените слово «клиент» на имя вашего хоста, а 12.123.123.123 на IP-адрес вашего сайта.

В случае динамического DNS этот шаг придется повторить несколько раз. В этом случае вместо src можно использовать srcdomain и имя хоста службы динамического DNS для предоставления доступа.

Перезапуск и проверка

После применения этих настроек перезапустите Squid:

service squid3 start

Попробуйте пропинговать сервер или подключиться к нему из удаленной сети.

Добавление прокси-сервера на VPS в браузеры

Для среды Windows нужно будет создать объект групповой политики. Он обеспечит принудительное использование интернет-браузерами IP-адреса и портов, назначенных для Squid.

Примечание: по умолчанию используется порт 3128.

Проверка подключения

Зайдите в Google и введите свой IP-адрес. Ответ часто отображается на странице результатов поисковой системы. Если все прошло хорошо, вы получите тот IP-адрес, который вводили, а не IP-адрес вашего интернет-провайдера.

Как запускать прокси для конкретных сайтов

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

нажать «Добавить новый прокси» в настройках;

вернуться в Putty и посмотреть номер порта и IP-адрес;

ввести их в соответствующие поля вкладки «Детали»;

во вкладке «Шаблоны URL» добавить маски нужных вам сайтов (не забывайте про символы * по обеим сторонам маски).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *