Что такое linux 3proxy

Что такое linux 3proxy

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.

Читайте также:  Открыть файл с правами администратора linux mint

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

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

Источник

Установка и использование 3proxy на Ubuntu

Настройка брандмауэра

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

а) если используем Iptables.

iptables -I INPUT 1 -p tcp —dport 3128 -j ACCEPT

* если система вернет ошибку при вводе команды для сохранения правил, устанавливаем пакет командой apt-get install iptables-persistent.

б) если у нас firewalld.

firewall-cmd —permanent —add-port=3128/tcp

* 3128 — порт по умолчанию, по которому работает 3proxy в режиме прокси;

Установка и запуск 3proxy

3proxy отсутствует в репозиториях Ubuntu, поэтому для установки сначала необходимо скачать его исходник.

Для начала устанавливаем пакет программ для компиляции пакетов:

apt-get install build-essential

Переходим на официальную страницу загрузки 3proxy и копируем ссылку на версию пакета для Linux:

. используя ссылку, скачиваем пакет:

* в моем случае будет скачена версия 0.9.3.

Распакуем скачанный архив:

tar xzf 0.9.3.tar.gz

Переходим в распакованный каталог:

Запускаем компиляцию 3proxy:

make -f Makefile.Linux

Создаем системную учетную запись:

adduser —system —disabled-login —no-create-home —group proxy3

Создаем каталоги и копируем файл 3proxy в /usr/bin:

mkdir -p /var/log/3proxy

cp bin/3proxy /usr/bin/

Задаем права на созданные каталоги:

chown proxy3:proxy3 -R /etc/3proxy

chown proxy3:proxy3 /usr/bin/3proxy

chown proxy3:proxy3 /var/log/3proxy

Смотрим uid и gid созданной учетной записи:

Получим, примерно, такой результат:

uid=109(proxy3) gid=113(proxy3) groups=113(proxy3)

* где 109 — идентификатор пользователя; 113 — идентификатор для группы.

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

setuid 109
setgid 113

nserver 77.88.8.8
nserver 8.8.8.8

nscache 65536
timeouts 1 5 30 60 180 1800 15 60

external 111.111.111.111
internal 111.111.111.111

log /var/log/3proxy/3proxy.log D
logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»
rotate 30

allow * * * 80-88,8080-8088 HTTP
allow * * * 443,8443 HTTPS

* необходимо обратить внимание на настройки setuid и setgid — это должны быть значения для созданной нами учетной записи; external и internal — внешний и внутренний интерфейсы (если наш прокси работает на одном адресе, то IP-адреса должны совпадать).

Настройка браузера

Проверяем работоспособность нашего 3proxy. Для этого настраиваем браузер для работы через прокси-сервер, например, Mozilla Firefox:

. пробуем открыть сайты.

Настройка автозапуска

Для автозагрузки 3proxy настроим его как сервис. Создаем файл в systemd:

[Unit]
Description=3proxy Proxy Server

[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill `/usr/bin/pgrep -u proxy3`
RemainAfterExit=yes
Restart=on-failure

Обновляем конфигурацию systemd:

Разрешаем запуск сервиса и стартуем его:

systemctl enable 3proxy

systemctl start 3proxy

Читайте также:  Произошла ошибка безопасности 0x80072f8f активация windows

Настройка аутентификации

Для редактирования настроек открываем конфигурационный файл:

Добавляем опции users и добавляем пользователей:

users 3APA3A:CL:3apa3a «test:CR:$1$qwer$CHFTUFGqkjue9HyhcMHEe1»
users dmosk1:CL:password
users «dmosk2:CR:$1$UsbY5l$ufEATFfFVL3xZieuMtmqC0»

* в данном примере мы добавили 3-х пользователей: 3APA3A с паролем 3apa3a, dmosk1 с открытым паролем password и dmosk2 с паролем dmosk2 в виде md5 и солью UsbY5l (Для получения хэша пароля можно воспользоваться командой openssl passwd -1 -salt UsbY5l, где в качестве соли можно использовать любую комбинацию).
* обратите внимание, при использовании знака $, строчка пишется в кавычках.

* возможные типы паролей:

  • CL — текстовый пароль
  • CR — зашифрованный пароль (md5)
  • NT — пароль в формате NT.

Чтобы включить запрос логина, необходимо поменять значение для опции auth на strong:

* возможные варианты для auth:

  • none — без авторизации.
  • iponly — авторизация по IP-адресу клиента.
  • nbname — по Netbios имени.
  • strong — по логину и паролю.

Также можно использовать двойную авторизацию, например:

auth nbname strong

После внесения изменений, перезапускаем службу:

systemctl restart 3proxy

SOCKS

Для прозрачного прохождения пакетов через прокси можно настроить SOCKS5. В конфигурационном файле добавляем:

* запускаем socks на порту 1080.

socks -p8083 -i192.168.1.23 -e111.111.111.111

* запускаем socks на порту 8083; внутренний интерфейс — 192.168.1.23, внешний — 111.111.111.111.

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

systemctl restart 3proxy

Настройка анонимности

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

1. Меняем порты, которые используются по умолчанию — 3128, 1080. Данные порты известны, как порты для прокси. Открываем конфигурационный файл 3proxy:

socks -p1088
proxy -n -p3111

* в данном примере мы укажем серверу работать на портах 3111 и 1088.

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

systemctl restart 3proxy

2. Необходимо, чтобы время на сервере совпадало с временем на компьютере.

На стороне сервера необходимо задать часовой пояс, например, если наш прокси находится в Германии, вводим:

timedatectl set-timezone Europe/Berlin

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

3. Отключение icmp. По времени ответа на ping можно определить отдаленноесть клиента от прокси. Чтобы проверку нельзя было выполнить, отключаем на сервере icmp. Для этого создаем файл:

И применяем настройки:

sysctl -p /etc/sysctl.d/icmp.conf

4. Проверяем настройки.

Открываем браузер, который работает через прокси и переходим на страницу 2ip.ru/privacy — кликаем по Проверить:

Будет выполнена проверка анонимности нашего сервера.

Дополнительные настройки

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

Настройка портов и прокси-интерфейсов

При необходимости, можно настроить 3proxy на использование разных интерфейсов на разных портах:

proxy -n -a -p3128 -i192.168.0.23 -e222.222.222.222
proxy -n -a -p8080 -i192.168.1.23 -e111.111.111.111

* 3proxy будет слушать на порту 3128 с внутреннего интерфейса 192.168.0.23 и направлять пакеты в сеть Интернет через внешний интерфейс 222.222.222.222, а также, на порту 8080 для внутреннего и внешнего интерфейсов 192.168.1.23 и 111.111.111.111 соответственно.
* не забываем также настраивать брандмауэр (вначале инструкции мы открывали только 3128 порт).

systemctl restart 3proxy

Читайте также:  Windows information protection wip отключить

Ограничение пропускной способности

При необходимости, можно ограничить скорость.

bandlimin 1000000 user1,user3
bandlimin 5000000 user2,user4

* в данном примере пользователям user1 и user3 установлено ограничение в 1000000 бит/сек (1 мбит); для user2 и user4 — 5 мбит/сек.

systemctl restart 3proxy

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

Можно ограничить доступ и разрешить только для определенных портов, сетей и пользователей.

  • userlist — список пользователей через запятую.
  • sourcelist — сети клиентов через запятую.
  • targetlist — сети назначения через запятую.
  • targetportlist — порты назначения через запятую.
  • commandlist — команды, к которым применяется правило.
  • weekdays — в какие дни недели работает правило. 0 — 6 — Пн — Вс, 7 — тоже Вс.
  • timeperiodslist — время, когда работает правило. Указываются диапазоны.

allow * * * 80 HTTP
allow * * * 443,8443 HTTPS
allow * * * 21 FTP

* в данном примере пользователям user1 и user3 установлено ограничение в 1000000 бит/сек (1 мбит); для user2 и user4 — 5 мбит/сек.

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

maxconn 700
proxy -n -a -p3128 -i192.168.0.23 -e222.222.222.222
proxy -n -a -p8080 -i192.168.1.23 -e111.111.111.111

* таким образом, мы установим 700 максимальных соединений для прокси на порту 3128 и 700 — для proxy на порту 8080.

Источник

Быстрая установка прокси-сервера 3proxy в Ubuntu и Debian

Прокси-сервер 3proxy является одним из самых настраиваемых прокси серверов. Кроссплатформенность 3proxy делает его популярным не только на серверах Linux, но и на серверах Windows Server.

3proxy поддерживает такие протоколы как: SOCKS5 (4), HTTP прокси с поддержкой HTTPS и FTP, AIM/ICQ, прокси сервера на MSN messenger / Live messenger, FTP, кэширующий DNS прокси, TCP и UDP портмапперы (tcppm, udppm).

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

Автоматическая установка прокси-сервера 3proxy с помощью скрипта в Ubuntu и Debian

Редактируем файл авторизации. Меняем имя пользователя и пароль:

Сохраняем изменения и закрываем редактор: CTRL+O, CTRL+X.

Ознакомимся и если надо, то отредактируем файл конфигурации прокси-сервера:

Типовая конфигурация доступна по ссылке: 3proxy.cfg

По умолчанию для протокола socks (5) используется порт 8088, а для http протокола прокси-сервера порт 9999.

За тип авторизации отвечает строка с названием auth strong cache.

Работают следующие типы авторизации:

  • auth strong cache – по имени пользователя и паролю
  • auth iponly — авторизация по IP-адресу.

Где 192.168.0.1 IP-адрес пользователя.

  • auth none – отсутствие авторизации

Можно добавить еще одну строку:

  • maxconn 32 – максимально разрешённое число одновременных подключений.

Как фильтровать только определенные адреса в 3proxy

Можно разрешить фильтрацию только для определённых адресов, а все остальные заблокировать.

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

Правила по доменам корректно работают на http протоколе прокси-сервера.

Источник

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