3proxy windows server 2012

3proxy windows server 2012

Bugfixes:
Fixed: systemd description file (proxy may fail to start after reboot or via systemctl)
Fixed: group/account creation in installation scripts
Fixed: countall/nocounall do not work in some configurations
Fixed: counters do not work if counter file is not specified
Fixed: counters without rotation (type N) are incorrectly shown in web admin interface
Fixed: %n may be incomplete or missed in long log records
Fixed: connect back functionality does not work

Improvements:
+ Docker builds

Bugfixes:
Fixed: bandwidth limiters (once again)
Fixed: data filtering plugins (PCREPlugin, SSLPlugin). SSLPlugin use on Linux requires to disable splice (-s0)
FIxed: standalone proxies do not react on HUP (Ctrl+C) in Linux/Unix
Fixed: few minor bugs

Improvements:
+ deb for arm platforms (experimental)
+ Openssl 1.1 support for SSLPlugin

0.9.1 — bugfix release

Пофикшены ошибки:
Fixed: сокет может быть закрыт до чтения/отравки всех данных
Fixed: не работает bandlimin
Fixed: пофикшена работа countall/nocountall
Fixed: устранено несколько race conditions

В версии 0.9 реализованы опции сокетов, в т.ч. привязка к интерфейсам в Linux/Unix, ограничения по соединениям и рейтлимитам соединений, реализован режим zero-copy под Linux, возможность запретить одновременный вход пользователем с нескольких IP, улучшена поддержка IPv6, реализована предварительная поддержка RADIUS, поддержана платформа ARM на Windows. Ветка 0.9 рекомендована для обновления всех более старых релизов.

Ветка 0.9 считается стабильной, разработка ведется в ветке 10. Ветка 0.8 больше не поддерживается, за исключением исправлений, связанных с безопасностью.

3proxy это маленький многоплатформный набор прокси-серверов (под Linux/Unix и Windows, включая 64-битные версии).

Он включает в себя HTTP прокси с поддержкой HTTPS и FTP (proxy/proxy.exe), SOCKSv4/SOCKSv4.5/SOCKSv5 прокси (socks/socks.exe), POP3 прокси (pop3p/pop3p.exe), SMTP прокси (smtpp/smtpp.exe), AIM/ICQ прокси (icqpr/icqpr.exe), MSN messenger / Live messenger proxy (msnpr/msnpr.exe), FTP proxy, кэширующий DNS прокси, TCP и UDP портмапперы (tcppm, udppm) а так же комбинированный прокси-сервер с поддержкой дополнительных возможностей, таких как управление доступом, ограничение ширины потребляемого канала, ограничение трафика на день, неделю и месяц, перенаправление соединений, построение цепочек соединений (proxy chaining), ротацию лог-файлов, ведение журналов через ODBC и syslog и т.д. (3proxy).

Он создан в рассчете на то, чтобы быть маленьким и простым и в то же время функциональным. Он может быть скомпилирован как с помощью Visual C так и с помощью gcc. Версия под Win32/Win64 использует родные библиотеки (т.е. не требуется Cygwin или другие POSIX-эмуляторы), поддерживается установка в качестве сервиса. На сегодняшний день работоспособность проверена на Windows начиная с 98 (для Windows до Vista требуется версия lite) и заканчивая последними версиями, FreeBSD/i386/x64, NetBSD/i386/x64, OpenBSD/i386/x64, Linux/i386/x64/arm/PPC/Alpha, Mac OS X, Solaris/i386/x64.

3proxy является FreeWare и может быть использован по лицензии GNU/GPL или под собственной лицензией. Начиная с версии 0.6 Используется лицензия типа BSD, позволяющая, так же, использовать LGPL, Apache License и многие другие совместимые типы лицензирования.

По вопросам лицензирования и коммерческой поддержки пишите [email protected]

3proxy настройка прокси сервера в Windows

Сегодня мы рассмотрим еще один бесплатный прокси сервер — 3proxy. Не смотря на то, что крайняя версия была выпущена в конце 2009 года, программа примечательна своим широким функционалом. Дистрибутивы доступны как для Windows различной разрядности так и для Linux. 3proxy очень похож на монстра всех прокси серверов squid, однако более легок в конфигурировании и прост в эксплуатации на Windows.
Дистрибутив весит каких-то полмегабайта. 3proxy умеет работать с HTTP/HTTPS, FTP over HTTP, SOCKS, можно делать разные правила разрешений и запретов, даже скорость ограничивать персонально для выбранного пользователя. Можно настраивать формат ведения логов, что позволяет в последствии анализировать их сторонними анализаторами. При желании журнал можно вести в базу данных через ODBC. Однако, прокси сервер не умеет кэшировать трафик, что в общем то уже не так актуально в условиях безлимитных тарифов на интернет.

Читайте также:  Прога для настройки windows

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

На официальном сайте 3proxy можно найти не только дистрибутивы, но и ответы на часто задаваемые вопросы, плагины, примеры настройки.Скачиваем дистриб и распаковываем куда нужно, я это сделал в C:3proxy. На момент написания обзора крайняя версия была 0.6.1. В каталоге мы увидим три папки и еще всякие файлики. В папке bin хранится сама программа прокси сервера и всякие плагины, в папке cfg хранится пример файла конфигурации и sql скрипт для создания базы данных, если есть желание хранить журнал в БД. В папке doc справка.

Мы идем в папку bin, там создаем файлик 3proxy.cfg. Открываем его на редактирование, вписываем туда всего три строчки:

Cохраняем и закрываем. Так выглядит конфиг прокси сервера в минимальном варианте.

Первая строка говорит, что авторизация не требуется, строка log — вывод журнала прямо в окно программы, строка proxy без параметров включает сам прокси сервер на стандартном порту 3128. Запускам 3proxy.exe, настраиваем браузер на прокси сервер localhost и порт 3128 и захоим на какой-нибудь сайт.

В окне 3proxy сразу увидим много строк, это собственно и есть журнал, который мы включили параметром log.

Если на компьютере с 3proxy одна сетевая карта смотрит в локальную сеть, а другая в интернет, то не лишним будет принудительно указать какая из сетевых карт какая. Это делается так:

internal 192.168.1.2
external 10.10.54.22

Суть следующая: internal — это сетевуха локальной сети и её IP-адрес, а external — внешняя. Если внешний интерфейс не постоянный, т.е. подключение к интернет осуществляется, например, по PPPoE, то надо писать так — external 0.0.0.0

Не лишним будет указать IP-адреса DNS серверов провайдера и кэширование, делает это так:
nserver ip-адрес-dns-сервера-1
nserver ip-адрес-dns-сервера-2
nscache 65536

Если необходимо, можно делать статические DNS-записи, в некоторых случаях это тоже помогает что-нибудь заблокировать:
nsrecord www.porno.com 127.0.0.1

Далее настроим запись лог-файлов. В каталоге 3proxy создайте папку logs, а в конфиге измените строку log на следующее:
log C:3proxylogs3proxy.log D
rotate 30

Здесь мы указываем куда сохранять лог-файлы, каждый день будет создаваться новый файл, а длительность хранения составит 30 дней.

В итоге наш конфигурационный файл будет иметь следующий вид:
auth none
log C:3proxylogs3proxy.log D
rotate 30
proxyinternal 192.168.1.2
external 10.10.54.22

nserver ip-адрес-dns-сервера-1
nserver ip-адрес-dns-сервера-2
nscache 65536
nsrecord www.porno.com 127.0.0.1

Читайте также:  Активатор windows 10 энтерпрайз

Теперь рассмотрим способы авторизации. Сейчас у нас доступ в интернет разрешен всем, т.к. указан параметр auth none. Это можно поменять на следующие варианты: пользователей можно определять по IP-адресам их компьютеров, в этом случае в конфиг пишется auth iponly, можно по логину и паролю (которые задаем в файле 3proxy) — в этом случае пишем auth strong, а можно использовать более тесную интеграцию с Windows и разрешать доступ в интернет по признаку принадлежности пользователя к определенной группе в Windows. В последнем случае в конфиге надо написать так:
auth windows
authcache user,pass 900
authcache windows
plugin «WindowsAuthentication.dll» WindowsAuthentication «3ProxyAllowedGroup»
и у параметра прокси добавить -n:
proxy -n

В Windows нужно создать группу 3ProxyAllowedGroup и затем добавлять туда пользователей. Можно поменять название группы на что-нибудь свое, изменив соответствующий параметр выше.

В случае с auth strong логины и пароли задаются в следующем формате:
users user1:CL:password1

Пароли можно задавать и в зашифрованном виде, кому интересно как это делается — велкам в мануал к 3proxy.
Следующий на очереди инструмент ограничения скорости. Синтаксис команды достаточно простой:
bandlimin
bitrate — скорость в битах
userlist — список пользователей через запятую без пробела, если у вас авторизация auth strong, в противном случае ставится звездочка
sourcelist — если у вас авторизация auth iponly, то тут указывается список IP-адресов через запятую без пробела, в других случаях ставится звездочка
targetlist — IP-адреса назначения через запятую без пробела. если хотим просто ограничить скорость, то можно не заполнять
targetportlist — порты адресов назначения
commandlist — дополнительные команды
Пример правила:
bandlimin 240000 * 192.168.0.2,192.168.0.3

Здесь мы ограничиваем скорость до 24 Кбит/c для двух IP-адресов локальной сети. При этом т.к. IP-адреса перечислены через запятую, то 24 Кбит будет делиться между ними.

Чтобы на какой-то ресурс принудительно снять ограничение скорости существует следующая команда:
nobandlimin Теперь мы дошли до самого главного — создание правил доступа. Для этого используются команды allow, deny и flush. Синтаксис имеет следующий вид:
allow
deny
flush

Команда flush используется для сброса существующего списка доступа (это необходимо для того, чтобы можно было задать различные списки доступа для различных служб). allow служит для разрешения соединения, deny — для запрета соединения. В момент установки исходящего соединения просматривается список доступа и находится первая запись, соответствующая запрошенному клиентом соединению. Если запись соответствует allow — соединение разрешается, deny — запрещается. Если список пуст, то соединение разрешается. Если список не пуст, но подходящей записи нет, то соединение запрещается. При этом:
— список логинов пользователей через запятую
— список сетей клиентов через запятую. Сеть задается в формате xxx.yyy.zzz.mmm/l, где l — длина маски сети (количество ненулевых байт). Например, 192.168.1.0/24 соответствует сети с маской 255.255.255.0.
— список сетей назначения через запятую
— список портов назначения через запятую. можно задать диапазон портов через -, например, 80,1024-65535
— список команд, через запятую, для которых применяется правило:

CONNECT — установить исходящее TCP соединение (например, SOCKSv4/5, POP3 proxy, и т.д.)
BIND — разрешить входящее TCP соединение (SOCKSv5)
UDPASSOC — создать UDP-ассоциацию (SOCKSv5)
ICMPASSOC — создать ICMP-ассоциацию (не реализовано)
HTTP_GET — HTTP GET запрос (HTTP proxy)
HTTP_PUT — HTTP PUT запрос (HTTP proxy)
HTTP_POST — HTTP POST запрос (HTTP proxy)
HTTP_HEAD — HTTP HEAD запрос (HTTP proxy)
HTTP_CONNECT — HTTP CONNECT запрос (HTTP proxy)
HTTP_OTHER — другой HTTP запрос (HTTP proxy)
HTTP — соответствует любому HTTP запросу кроме HTTP_CONNECT (HTTP proxy)
HTTPS — тоже, что HTTP_CONNECT (HTTP proxy)
FTP_GET — FTP get запрос
FTP_PUT — FTP put запрос
FTP_LIST — FTP list запрос
FTP — соответствует любому FTP запросу
ADMIN — доступ к интерфейсу администрирования

задает список дней недели, 1 соответствует понедельнику, 0 или 7 — воскресенье. 1-5 означает с понедельника по пятницу (включительно). 1,3,5 задает нечетные дни недели.
список интервалов дня в формате ЧЧ:ММ:СС-ЧЧ:ММ:СС, например, 00:00:00-08:00:00,17:00:00-24:00:00 задает нерабочее время. Примеры использования листов доступа можно найти в файле 3proxy.cfg.sample в папке cfg.

Читайте также:  Актив директори windows server что это

В завершении обзора еще парочка моментов.

Во-первых, когда вы напишете рабочий конфиг и 3proxy будет запускаться с ним без ошибок, прокси сервер можно установить в качестве службы Windows командой 3proxy.exe —install
При этом в конфигурационном файле добавьте строку service

Во-вторых мы рассмотрели только самые основные возможности прокси сервера. На официальном сайте есть подробная документация на русском языке по настройке большинства аспектов работы 3proxy.

Установка 3proxy

Статья давно не обновлялась, поэтому информация могла устареть.

Содержание

Заказ виртуального сервера

  1. Зайдите на http://firstvds.ru и зарегистрируйтесь.
  2. Закажите виртуальный сервер с тарифным планом не меньше VDS-KVM-Разгон и операционной системой Debian-8-x86_64 при этом виртуализация должна быть KVM. Размещение proxy-серверов на других виртуализациях запрещено.

Установка 3proxy с поддержкой http(s) и socks5-proxy

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

Итак, далее краткое описание установки и настройки.

Установка из репозиторий

Переносим исполняемый файл

Переносим файл для автозапуска

Создаем новый конфигурационный файл

Или переносим из образца конфигурационный файл

Пример файла конфигурации

Пример файла конфигурации 3proxy.cfg, который должен у вас получиться после его редактирования:

Ограничьте права доступа к файлу только пользователю root (поскольку в файле хранятся пароли доступа, для безопасности)

Добавьте 3proxy в автозапуск:

И запустите его:

Настройка закончена. На порту 3128 теперь у вас работает http-proxy, на порту 1080 socks-proxy

Запуск на определенном IP

При такой конфигурации прокси будет запущен на 3х разных IP и выдавать разный IP в зависимости от того на какой IP подключились.

Исправление некоторых проблем.

Проблема 1.

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

Проблема 2.

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

  1. Поменять порты. Но найти всё равно могут.
  1. Не вести логи.
  2. В фаерволе разрешить доступ с определённых адресов, остальным запретить. Довольно негибкое, но железное решение.

Лучше предусмотреть всё заранее.

Упрощенный конфиг анонимного http(s) proxy сервера на порту 3128

Также создать директорию под логи и выставить права (мы запускаем сервер с минимальными правами nobody в системе используя директивы setgid/setud)

Оцените статью