Прокси поднять на своем хостинге

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

Например, используя общественный Wi-Fi, все данные которые передаются через сеть могут быть «угнаны». Теоретически, это могут быть любые файлы, но обычно крадут пароли от кошельков, почты, скайпа и чего угодно. В этой статье мы настроим собственный VPN-сервер, это не сложно. Несмотря на объёмность текста, основное действие занимает малую часть, а остальное — плюшки В статье также есть видео.

В интернете есть куча и маленькая тележка VPN-сервисов, от бесплатных до очень платных. Недостатки бесплатных VPN-сервисов:

  • ограничены в скорости
  • нестабильность (то всё хорошо, то жутко тормозит)
  • ограничения трафика (до нескольких Гигабайт в месяц)
  • ограничения периода бесплатного пользования
  • периодически нужно искать другие сервисы
  • не факт, что передаваемые данные будут в безопасности, совсем не стоит надеяться на анонимность, я бы сказал.
  • не всегда есть нужная страна или город
  • заезженные IP-адреса (используются сотнями клиентов), относится и к бесплатным
  • бывает просто обман без возврата денег, например, трафик не безлимитный, некоторые сервера не работают или слишком медленные

Есть и преимущества VPN-сервисов – это простота использования, относительная дешевизна.

Итак, если нужна конкретная страна или город, или требуется много трафика, который не дают VPN-сервисы, гарантия безопасности — тогда есть смысл заморочиться настройкой личного VPN-сервера. Как правило, это требует глубоких знаний системного администрирования серверов. Но я постарался объяснить всё просто, чтобы разобрался даже чайник)

Недостатки у этого способа тоже есть:

  • всего один IP-адрес, на который вы можете «пересесть», но есть дополнительные за отдельную плату
  • нетривиальная настройка в первый раз
  • платно

Дочитайте до конца, и я покажу как использовать свой VPS сервер для обхода блокировок без настройки на нём VPN.

Хостинг-провайдеров в интернете бесчисленное множество. Все они позволяют размещать у них свои веб-сайты. Самая популярная услуга – это виртуальный хостинг. Более продвинутая – это выделенный виртуальный сервер – VPS (VDS — это, считай, тоже самое). На VPS можно размещать сайты, поднимать VPN-сервер, почтовый сервер, игровой сервер – да что угодно!

Вам нужно знать, что VPS-сервера бывают нескольких видов: OpenVZ, Xen и KVM. Для работы VPN-сервера нужно KVM. Тип сервера указан в тарифах хостинга. OpenVZ и Xen тоже иногда подходят, но нужно писать в техподдержку хостинга и спрашивать, подключён ли модуль “TUN”. Не вдаваясь в подробности для чего это, просто спрашиваете. Если нет, то могут ли они включить его. Не помешает также спросить, будет ли работать VPN как таковой (даже на KVM), т.к. некоторые компании прикрывают эту возможность. Ах да, операционная система сервера – Debian, Ubuntu или CentOS (в общем, Linux-подобная). Мощность сервера не имеет значения.

Вы можете посмотреть видео или читать расширенную статью:

В моём распоряжении имеется VPS-сервер KVM хостинг-провайдера AdminVPS. Здесь сразу всё работает, никуда писать не надо.

  • При заказе услуги можно выбрать самый простой тарифный план «Micro»
  • Все сайты открываются даже на серверах в России
  • Есть бесплатный тестовый период 7 дней
  • Техподдержка помогает
  • Для моих посетителей, при вводе промокода: itlike60 — вы получите реальную скидку 60% на первый платёж.

Далее, первые скриншоты остались от старого хостинга, но всё так же.

«Hostname» вводим любой или имя своего сайта (если в будущем будете размещать на хостинге свой сайт). «OS Template» выбираем «Ubuntu 14.04 64bit» или любую из Ubuntu, Debian, CentOS:

Операционную систему потом можно поменять, если вдруг что не получится.

После оплаты на почту приходят данные для входа в панель управления и Root-пароль для настройки сервера. А также IP-адрес сервера, и именно он будет вашим IP-адресом, когда мы поднимем VPN и подключимся к нему с компьютера

Переходим по ссылке в письме и входим в панель управления. На вкладке «Virtual Servers» будет ваш сервер:

Нажимаем кнопку «Manage» и попадаем в окно администрирования:

Здесь нам ничего не нужно трогать. Единственное что может понадобится – это переустановка операционной системы – кнопка «Reinstall», об этом позже.

Теперь нам нужно подключиться к серверу чтобы посылать ему команды. Для этого будем использовать бесплатную программу Putty.

Распаковываем архив с программой и запускаем файл

В поле «Имя хоста» вставляем IP-адрес сервера, который пришёл в письме, также его можно скопировать с панели управления:

и нажимаем «Соединиться». Если выскочило вот такое окно, то жмём «Да»:

Перед нами должно появиться чёрное окно консоли (командная строка). Именно здесь мы и будем давать команды. Но сперва нужно залогиниться. Для этого в поле «login» вводим «root»

Затем копируем из письма root-пароль и вставляем его в поле «password». Чтобы вставить сюда из буфера обмена, нужно просто кликнуть один раз правой кнопкой мышки по окну консоли. При этом пароль не печатается на экране, такое чувство что ничего не произошло. Всё нормально, жмём «Enter». Должны проскочить строчки с информацией о системе. Если же написало какую-то ошибку, то проверьте всё ещё раз. Также, консоль не будет долго ждать, пока вы ищете root-пароль. Если к тому моменту выскочит ошибка, то запускайте Putty заново.

Мы уже на финишной прямой в настройке собственного VPN-сервера. Существует множество инструкций в интернете как установить сервер, но все они требуют знаний системного администратора, ибо мелкие нюансы упускаются из виду. На радость всем чайникам, существует универсальный скрипт «OpenVPN road warrior», который сделает всю работу сам. Нам нужно только дать команду скачать и запустить его.

Итак, копируем эту строчку и вставляем в консольное окно правой кнопкой и жмём «Enter»:

Проскочат всякие строчки и, если скрипт успешно скачался и запустился, с нами начнётся диалог мастера настройки VPN-сервера:

Скрипт находит предполагаемое значение для каждого параметра и предлагает с ним согласиться, т.е. нажать «Enter», либо ввести своё значение.

  1. Первый параметр – это «IP address». Скрипт должен предложить тот самый айпи VPS-сервера. Так должно быть в 99.9% случаев, но если это, почему-то, не так, то исправьте на правильный адрес.
  2. Второе — протокол UDP или TCP. Оставляем по умолчанию UDP.
  3. Идём дальше, «Port: 1194» — соглашаемся.
  4. «What DNS do you want to use with the VPN?» — выбираем «Google», т.е. вбиваем цифру «2» вместо единички, Enter. Если гугл заблокирован, то оставляем по умолчанию.
  5. «Client name» — имя пользователя. Можно создать доступ для разных пользователей. По умолчанию «client» — соглашаемся.
  6. «Press any key…» — нажать «Enter» и подождать несколько минут, пока всё установится и сконфигурируется.

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

На экран будет выведено содержимое файла «client.ovpn». Теперь его надо аккуратно скопировать в буфер обмена. Листаем вверх до ввода команды, выделяем мышкой все строчки, кроме самой последней (для новых команд), т.е. последняя выделенная строчка будет “ ”. Чтобы скопировать выделенное в буфер обмена жмём «Ctrl-V».

Теперь на компьютере в Windows 7/8/10 открываем блокнот и вставляем в него скопированный текст. Сохраняем файл на рабочем столе под именем «client.ovpn».

Если планируется давать доступ к серверу другим людям, то лучше создать для них отдельные файлы, например vasya.ovpn. Для этого просто запускаем скрипт ещё раз и выбираем теперь 1-й пункт — создание нового пользователя.

Поздравляю, мы на финишной линии! Теперь только осталось установить бесплатную программу, которая будет подключаться к нашему VPN-серверу. Называется она «OpenVPN».

Скачиваем версию для Windows и устанавливаем её, запускать не надо.

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

Чтобы подключиться к серверу кликаем на рабочем столе по файлу «client.ovpn» правой кнопкой и выбираем «Start OpenVPN on this config file»:

Появится чёрное окошко с процессом инициализации подключения. Если всё прошло успешно, то последняя строчка должна быть, типа:

Ещё может выпадет окно с вопросом типа новой сети, тогда выбираем «Общественная сеть».

Можно проверять, заходим на сайт 2ip.ru и смотрим свой IP, должен совпадать с IP VPS-сервера:

Окно консоли сервера теперь смело можно закрывать. А чтобы закрыть впн-соединение и вернуть старый айпи – нужно закрыть окошко от OpenVPN.

Чтобы подключиться в следующий раз, достаточно просто запустить правой кнопкой файл «client.ovpn» с рабочего стола, больше ничего делать не требуется.

С телефоном всё ещё проще, нужно установить через плеймаркет приложение OpenVPN, закачать в память файл client.ovpn, выбрать его в приложении и подключиться к нашему vpn-серверу.

Если чувствуете что из-за вашей ошибки теперь всё идёт наперекосяк, то можно переустановить операционную систему на хостинге. Для этого в панели управления кликаем «Reinstall» (см. скриншот панели) и выбираем новую операционную систему (или ту же):

Давим кнопку «Reinstall» и ждём 10 минут. Также будет выдан новый Root-пароль, не потеряйте его!

Большинство проблем возникает на этапе подключения к серверу в программе OpenVPN, особенно в Windows 8/10. В чёрном окошке могут быть ошибки, например:

  • FlushIpNetTable failed on interface
  • All TAP-Win32 adapters on this system are currently in use
  • CreateFile failed on TAP device
  • DNS failed..

При этом первое что надо сделать — это дать программе права администратора и, соответственно, заходить в систему с правами администратора. Идём в «C:\Program Files\OpenVPN\bin\» , кликаем правой кнопкой по файлу openvpn.exe -> свойства. На вкладке «Совместимость» ставим галку «Выполнять эту программу от имени администратора». Теперь всё должно работать.

  • удалить программу и переустановить от имени админа
  • выключить службу «Маршрутизация и удалённый доступ» (“Routing and Remote Access”) через «Панель управления -> Администрирование -> Службы»
  • попробовать переустановить из этого инсталлятора или отсюда
  • удалить все ВПН’овские программы и приблуды от других платных и бесплатных сервисов

Понять, точно ли проблема в компьютере или ноутбуке, можно, если установить через плеймаркет приложение OpenVPN на телефон или планшет, закачать на него файл client.ovpn и подключиться к нашему vpn-серверу. Если и так не получится, то нужно искать причину на сервере, написать в службу поддержки.

Обратите внимание на сообщения в чёрном окне, нет ли там повторяющихся строчек «read from TUN/TAP … (code=234)»

а также на сообщение где-то в середине «WARNING: ‘tun-mtu’ is used inconsistently, local…»:

В этом случае открываем файл client.ovpn в блокноте и в новой самой первой строке пишем:

значение сервера — это число, указанное в конце строчки в тексте «remote=’tun-mtu 1500′». Подставляем своё значение! В итоге должно получится так:

Делается это потому, что по каким-то причинам значение MTU на компьютере и на VPS-сервере различаются. Файл .ovpn для смартфона оставляем нетронутым!

Можно использовать наш VPS/VDS сервер как Proxy Server. Для этого делаем всё как раньше до момента нажатия кнопки «Соединиться» в программе Putty. Не нужно открывать консоль и запускать скрипт. Идём на вкладку «SSH->Tunnel» , прописываем Source Port: 3128

Упс, статью дописывал позже, тут у меня Putty на английском, но суть та же.

Если пишет ошибку «You need to specify a destination address in the form host.name:port», то переключите на «Dynamic» вместо «Local».

На вкладке «Connection» в поле «Seconds between keepalives…» ставим 100 секунд, это надо чтобы коннект не разрывался из-за простоя. Теперь подключаемся — нажимаем «Open», вводим логин/пароль. Далее, идём в настройки сети в браузере и прописываем там прокси-сервер. В хроме это «Настройки->Поиск настроек->пишем ‘прокси’->Настройки прокси-сервера». Делаем всё как на скриншоте:

Теперь все сайты будут работать через наш сервер, но только в браузере и некоторых программах. Другие программы не увидят прокси, будут работать напрямую. Нужно в каждой программе в настройках подключения, если они предусмотрены, прописать адрес, порт и тип прокси: Socks4/5. Или устанавливайте OpenVPN и не используйте прокси.

Устанавливаем расширение для Google Chrome или Mozilla Firefox, называется FoxyProxy. В настройках надо добавить наш прокси-сервер:

На вкладке «URL Patterns» добавляем маски сайтов, которые должны открываться через наш сервер. Маска сайта это его имя со звёздочками по бокам.

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

Подключать Putty к прокси можно одним кликом. Для этого нужно перед подключением в разделе «Connection->Data» прописать логин сервера, тот, что обычно root

и сохранить сессию со всеми настройками:

Теперь нужно создать ярлык на рабочем столе, в котором указать такие параметры:

«C:\Program Files\PuTTY\putty.exe» -load myvpn -pw пароль_к_серверу

где myvpn — это имя сохранённой сессии. Всё, осталась одна деталь — убрать окно Putty из панели задач в системный трей. Нужно скачать модификацию утилиты отсюда и заменить exe-файл. Теперь в настройках на вкладке Behaviour появится соответствующая галочка, но этого можно и не делать.

Мне часто задают вопросы возможно ли настроить собственные прокси на арендованных VPS. Ведь очевидно, если какие-то люди это делают и предоставляют доступ к своим прокси за деньги, то наверняка можно сделать это и самостоятельно. Это действительно так. Достаточно лишь обладать некоторыми знаниями и навыками. Задача настройки собственного прокси-сервера сводится к настройке специализированного софта, наподобие веб-сервера или СУБД.

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

Он умеет полностью заменять очень опытного и квалифицированного в вопросах настройки проксей системного администратора, услуги которого по этой теме стоят 2000 рублей за настройку одного сервера ?

  • Он умеет поднимать прокси на centos (6,7), debian и ubuntu (любых версий). То есть на любой из популярных ОС на хостингах он может поднять прокси. Но при наличии выбора рекомендуется Centos 7.
  • Он читает на вход только лишь список IP-адресов. Рядом с ним должен быть файл ip.list со списком адресов. Скрипт разбирает этот список, определяет настроены ли адреса на сетевом интерфейсе и предлагает настроить те адреса, что есть в списке, но недоступны (не «подняты», т.е. не сконфигурированы в самой OS). Если вы соглашаетесь на эти настройки, то всё поднимается и прописывается в автозагрузку.
  • Скрипт разбирает IPv6 и IPv4 в списке. И конфигурит все соответствующим образом.
  • Он умеет поднимать SOCKS и HTTP прокси. По-умолчанию только http, о соксах он спрашивает, и можно согласиться на их поднятие.
  • Скрипт генерирует для каждого прокси отдельную пару — логин-пароль. Логины вида user1, user2, . userN. Пароли рандомные, из 8 символов.
  • Все прокси он поднимает на разных портах, которые берутся из заранее определенного диапазона портов. Для socks можно указать диапазон.
  • Скрипт загружает и компилирует из исходников актуальную версию 3proxy. Вся настройка именно на нём. Это очень хороший легкий прокси-сервер, созданный специально для подобных нужд. Может выдерживать очень большие нагрузки при относительно небольших ресурсах. (1000 прокси на каждый 1 GB RAM ). Обкатано на десятках клиентов. У топовых клиентов поднимали до 16к прокси на одном сервере с 8 гб RAM.
  • В случае если прокси сервер уже был ранее установлен — скрипт это определит, и спросит нужно ли переустанавливать. Удобно при повторных запусках, если нужно переделать. В таких случаях скрипт перемещает старые конфиги и списки прокси, помечая их текущей датой-временем. Так что, в случае чего всегда можно вручную откатить с бэкапов, даже если что-то пойдёт не так.

Бонусом к скрипту идёт ещё один скрипт, который позволяет сгенерить список уникальных IP-адресов для сети IPv6 /48 — из каждой /64 сети получается один прокси. Поскольку IPv6 тоже набирает популярность, прокси на них получаются очень дешёвыми, поэтому продукт умеет работать и с этим.

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

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

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

Сейчас это очень ценится людьми, которые занимаются SMM, SEO, созданием дорвеев — для организации парсинга, граббинга, регистрации множества аккаунтов в социальных сетях.

Итак, на этом покончим с введением и перейдем непосредственно к той части, за который вы наверняка сюда и пришли.

Прежде всего нужно зарегистрировать виртуальный сервер и получить для него IP-адреса. 1 адрес всегда выдается хостером по-умолчанию. За дополнительные адреса как правило взымается ежемесячная плата. Стоимость дополнительных адресов варьируется, на май 2016 года это около 60-150 рублей или 1-2$ у зарубежных хостеров. Это довольно дорого, особенно если прокси будут использоваться для каких-то «серых» дел вроде спама и регистрации аккаунтов — очень вероятна блокировка ваших адресов со стороны сервиса, с которым вы собираетесь работать. Поэтому сейчас очень популярно использование IPv6-адресов для создания прокси.

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

Основная проблема заключается в том, что не все сервисы позволяют подключаться к себе с таких IP. Для перехода на IPv6 необходима техническая модернизация сетей. На данный момент многие крупные социальные сети и сервисы уже это сделали — в их числе Google, Yandex, VK, facebook, instagram и прочие.

Хорошая новость в том, что многие провайдеры предоставляют IPv6 сеть для арендованных VPS. Это значит, что вы можете использовать для настройки прокси именно такие адреса очень дешево. Достаточно лишь настроить службу прокси на работу с ними.

Однако, есть подводные камни. Эти адреса так же подвержены блокировке. И при неосторожном использовании сервисы вроде Гугла блокируют их целыми сетями, в которые входит все это огромное количество IP-адресов. Я не имею опыта использования таких прокси, поэтому вопрос как их использовать выходит за рамки моей компетенции. Я подразумеваю, что вы сами знаете как их использовать, и знаете обо всех рисках с этим связаных.

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

Доходят вести, что Takewyn, о котором речь чуть ниже, загибается, нет качества, нет наличия, нет еще чего… Но мир не стоит на месте. Когда что-то умирает, оно часто даёт дорогу чему-то новому, и это чаще всего не так уж плохо.

С недавних пор у ребят из freewww появились готовые индивидуальные прокси по 40 рублей в месяц за штуку!

Ранее у них были только IP-адреса по 40 рублей из разных сетей. Можно было взять VPS с нужным количеством адресов и поднять собственные прокси на нём. Да, чуть дороже чем у reg.ru, но это при небольших объемах. А при больших объемах цена та же. И даже выгодней. В общем, ребята проверенные, прокси должны быть рабочие. Причем, обратите внимание на сноску «Под любые цели *». К примеру, часто были от людей запросы на прокси для рассылки почты, иными словами под спам. Такая сноска даёт основание полагать, что эти прокси можно использовать для этого дела. Но это не точно. Лучше всё же узнать у саппорта.

Если при заказе введете промо-код vpsadm.ru то получите 10% скидку на прокси (и не на прокси, кстати, тоже — дедики, VPS, VPN и прочие дела тоже будут со скидкой по этому коду).

Выгодное предложение для вас — взять уже готовые настроенные индивидуальные прокси — и ipv6 и ipv4:

Датацентры у этих ребят в UA, но айпи-адреса российские. Как видите, пакет 500 прокси ipv6 или десяток ipv4 гораздо выгодней взять у них, чем заказывать настройку собственных прокси. А вот если требуется больше, то есть смысл рассмотреть покупку VPS по минимальному тарифу за 4$ + IPv6 сеть /48 — 30$/мес. Итого вам это будет обходиться в 34 доллара в месяц. Сеть /48 содержит 65535 сетей /64, и именно столько прокси ipv6 можно будет вычерпать с неё. Разумеется одновремено все 65к поднять не получится — не выдержит VPS. Но по 1000-2000 — запросто.

Ну и настройка всего этого дела стоит 2000 руб.

И теперь уж точно переходим к технической части, с которой я и могу помочь.

  1. Назначить IP-адреса на сетевой интерфейс сервера
  2. Установить и настроить софт для proxy. Запустить его.

Сначала необходимо назначить имеющиеся у вас адреса на сетевой интерфейс сервера. Это справедливо как для традиционных IPv4, так и для IPv6. Это делается стандартными настройками операционной системы.

Например, вот так это делается временно:

ifconfig eth0 inet6 add 1111:1111:1111:1111:1111:2222:1111:0000/128

На текущий момент этот адрес у вас будет настроен, но после перезагрузки сервера или перезапуска сети это слетает.

Поэтому следует использовать более надежный способ через файл конфигурации:

В deb-системах, например, это /etc/network/interfaces:

iface eth0 inet6 static
address 1111:1111:1111:1111:1111:2222:1111:0000
netmask 128
iface eth0 inet6 static
address 1111:1111:1111:1111:1111:2222:1111:0001
netmask 128
iface eth0 inet6 static
address 1111:1111:1111:1111:1111:2222:1111:0002
netmask 128

Таким образом, после перезапуска сети у вас будет кроме основного адреса /64 (или какой вам там выдал провайдер) еще несколько дополнительных c маской /128. Можно использовать и другую маску, но это практически не имеет значения, если сеть меньше /64.

Для того чтобы это сделать можно воспользоваться каким-либо калькулятором, например таким. Просто вводите туда свой основной ipv6, выданный провайдером, выбираете на сколько и каких подсетей или хостов вы хотите ее разбить и получаете список адресов, которые уже можно использовать для настройки.

Теперь вам понадобится непосредственно софт. Здесь вариантов не так уж и много. Я могу порекомендовать два, которые пробовал сам и настраиваю для своих клиентов. Это мощный прокси-сервер squid и простой 3proxy. Второй сервер позволяет также настроить не только http, но и socks-прокси, которые позволяют проксировать любой трафик. Некоторый софт может работать только через них.

Итак, squid — это старый и проверенный прокси-сервер, ставший стандартом де-факто во всем мире для организации проксирования трафика. Он обладает мощным функционалом по распределению трафика. Это кэширующий прокси-сервер. В то же время он нетребователен к ресурсам хоста, на котором запущен. Так, он легко может «жить» в 256 мегабайтах оперативной памяти, обслуживая при этом локальную сеть в сотню машин. Точно так же можно его использовать и в наших целях. Но у него есть и некоторые недостатки. Squid позволяет настроить только HTTP-прокси. Вернее, не только, но не думаю, что для ваших целей может понадобиться FTP или Gopher которые он умеет кроме HTTP. Он не умеет работать с SOCKS.

Кроме того, на момент написания этой статьи актуальной была в репозиториях версия 3.3, которая некорректно работает с IPv6. Для того чтобы решить эту проблему следует использовать версию 3.5 и выше.

Для того чтобы установить эту версию из репозиториев в своей Ubuntu 14.04, которую я использую на VPS, понадобилось добавить репозиторий:

echo ‘deb http://ubuntu.diladele.com/ubuntu/ trusty main’ >> /etc/apt/sources.list

apt-get install libecap3 squid squid-common

При этом, если вы ранее уже установили squid3 из стандартных репозиториев, то потребуется его удалить. Иначе при попытке установить новую версию получите ругань на зависимости.

Теперь нужно внести в файл конфигурации настройки для использовании ваших адресов и портов:

http_port 1.1.1.1:3127 name=3127
http_port 1.1.1.1:3128 name=3128
http_port 1.1.1.1:3130 name=3130

acl user1 myportname 3127
acl user2 myportname 3128
acl user3 myportname 3130

tcp_outgoing_address 1111:1111:1111:1111:1111:1111:1111:0005 user1
tcp_outgoing_address 1111:1111:1111:1111:1111:1111:1111:0003 user3
tcp_outgoing_address 1111:1111:1111:1111:1111:1111:1111:0002 user2

После чего нужно запустить или перезапустить сервис:

Теперь можно попробовать подключаться. Указываете в настройках софта адрес 1.1.1.1 и порт 3127, а на выходе будете иметь адрес 1111:1111:1111:1111:1111:1111:1111:0005. При условии, что вы ранее назначили его на интерфейс. Если адрес отсутствует, то будет браться либо самый крайний из имеющихся IPv6, либо вообще исходный IPv4 — 1.1.1.1 из нашего примера. В любом случае, следует посмотреть какой адрес у вас на выходе. Я, например, делаю это через сервис myip.ru, указав свой прокси в настройках браузера.

Его установка немного сложнее, поскольку этой программы нет в репозиториях. По крайней мере для deb-систем я не нашел. Для rpm-based вроде как есть в epel-репозитории, откуда можно и установить его с помощью yum.

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

После скачивания программы на ваш VPS нужно распаковать и скомпилировать её:

Затем скопировать бинарник куда-нибудь в удобное место для дальнейшего использования. Например так:

cp src/3proxy /usr/local/3proxy

Философия программы проста — максимум фунционала при небольшом размере и потреблении ресурсов. Этот маленький прокси-сервер умеет на удивление много чего. Например, проксирование POP3 или SMTP. И среди всего многообразия его функционала нас интересует SOCKS и IPv6.

Теперь нам нужно создать конфигурацию:

И внести туда нечто подобное:

daemon
auth none
flush
nserver 8.8.8.8
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
#proxy -a
#socks

proxy -6 -n -a -p8056 -i1.1.1.1 -e1111:1111:1111:1111:1111:1111:1111:0005
socks -6 -p1056 -i1.1.1.1 -e1111:1111:1111:1111:1111:1111:1111:0004

IP-адреса нужно использовать свои, разумеется.

Сохранив конфигурацию, можно пробовать запускать прокси:

Если команда ничего не выдает на консоль, значит у вас все запустилось без ошибок и можно проверять прокси. В случае проблем нужно править конфиг. Дополнительно можно убедиться в том что прокси запущен так:

Эта утилита выводит список всех исполняемых процессов и показывает только те, где есть подстрока 3proxy. Кстати, при изменении конфигурации при отладке вам понадобится перезапускать прокси. Так вот, вам нужен идентификатор процесса, чтобы по нему выключить программу. kill PID. Этот самый PID можно как раз увидеть через ps -fe|grep 3proxy

Здесь нет возможности использовать системные средства для управления службой (service restart), как в случае со squid. Если вы захотите это делать, придется написать свой скрипт для старта-останова 3proxy.

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

В конфигурации вы могли заметить, что один вариант прокси настроен как proxy, а другой как socks. В первом случае, это будет то же самое как и у squid. А вот для настройки socks-proxy есть способ, который вообще не требует никаких дополнительных программ и настроек. Его можно очень быстро и просто запустить с помощью SSH-туннелирования.

Достаточно пробросить динамический туннель на локальный интерфейс вашего компьютера с помощью ssh-клиента, которым вы обычно подключаетесь к своему серверу. Затем указать в настройках браузера проброшенный порт на локальном интерфейсе и вы будете ходить в интернете уже через свой socks-proxy.

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

Я сам часто использую этот способ, когда мне просто нужен что называется «анонимайзер», для посещения каких-то блокированных ресурсов.

Очевидно, что это будет дешевле, нежели аренда прокси у соответсвующих компаний. Так, самый дешевый IPv6 прокси предоставляют в аренду, скажем за 10 рублей в месяц. И если их вам надо хотя бы тысячу, то это выливается в круглую сумму в десятки тысяч рублей в месяц. Тогда как вы можете поднять огромное количество IPv6 прокси на своем VPS всего за 500 рублей. Именно столько сейчас стоит аренда недорогого VPS у большинства хостеров. Можно найти и дешевле. Учитывая что, вы на нем можете запустить тысячи таких прокси для собственных нужд, экономию подсчитайте сами. Кроме того, арендуя прокси у сторонних компаний, никто не может вам гарантировать, что эти же прокси не отданы кому-то еще. Точнее, гарантировать то можно. Но это невозможно проверить. И если компания занимается оверселлингом — продажей якобы индивидуальных прокси нескольким пользователям — то эти прокси могут быть забанены, если вдруг ваш «сосед» будет работать не соблюдая мер предосторожности. В случае со своими прокси это исключено — это самые что ни на есть индивидуальные и элитные прокси, какие только могут быть.

С некоторых пор, друзья, я предоставляю услуги системного администрирования Linux. Поэтому настройка таких proxy напрямую входит в область моей компетенции. И если вам понадобится профессиональная помощь в этом деле, то буду рад принять ваши заявки на моем сайте vpsadm.ru, или напрямую в скайпе dr.motor. Цена вопроса от 2000 рублей за настройку VPS. Причем, количество прокси для меня при настройке не имеет значения — я могу вам запустить и 10000 IPv6 прокси (IPv6 сети /64 c тем огромным количеством адресов хостеры предоставляют бесплатно), или сотни IPv4 (если вы арендуете столько адресов у хостера).

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

IT-cпециалист с высшим техническим образованием и 8-летним опытом системного администрирования. Подробней об авторе и контакты. Даю бесплатные консультации по информационным технологиям, работе компьютеров и других устройств, программ, сервисов и сайтов в интернете. Если вы не нашли нужную информацию, то задайте свой вопрос!