- 3proxy мобильные прокси linux
- Установка и использование 3proxy на Ubuntu
- Настройка брандмауэра
- Установка и запуск 3proxy
- Настройка браузера
- Настройка автозапуска
- Настройка аутентификации
- SOCKS
- Настройка анонимности
- Дополнительные настройки
- Настройка портов и прокси-интерфейсов
- Ограничение пропускной способности
- Ограничения доступа
- Установка и настройка 3proxy на Ubuntu
- Содержание
- Введение
- Преимущества и недостатки
- Технические требования
- Подготовка, скачивание, компиляция
- Подготовка
- Скачивание и распаковка исходников
- Компиляция
- Установка
- Настройка
- Автозагрузка и запуск прокси-сервера
- Открытие порта
- Удаление
- Удаление временных файлов
- Удаление 3Proxy (при необходимости)
- Прочее
- P.S. SOCKS-прокси
3proxy мобильные прокси linux
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 на 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
Настройка аутентификации
Для редактирования настроек открываем конфигурационный файл:
Добавляем опции 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
Ограничение пропускной способности
При необходимости, можно ограничить скорость.
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
Содержание
Введение
Прокси-сервер (от англ. proxy — «представитель, уполномоченный») выступает в роли посредника в коммуникациях между вашим ПК/мобильным и Интернетом.
Причин использовать его может быть множество, включая:
- Обход ограничений доступа к определенным веб-ресурсам установленным администратором локальной сети.
- Обход региональных ограничений доступа у определённых веб-ресурсов.
- Анонимный доступ к веб-ресурсам путём сокрытия реального IP-адреса.
Среди альтернатив можно выделить Squid, но он:
- Сложен в настройках.
- Потребляет больше ресурсов.
- Не скомпилирован с поддержкой SSL по умолчанию и сложен для компиляции.
Преимущества и недостатки
Он включает в себя:
- HTTP прокси с поддержкой HTTPS и FTP.
- SOCKSv4/SOCKSv4.5/SOCKSv5 прокси.
- POP3 прокси.
- SMTP прокси.
- AIM/ICQ прокси.
- MSN messenger / Live messenger прокси.
- FTP прокси.
- Кэширующий DNS прокси.
- TCP и UDP портмапперы.
Так же доступны дополнительные возможности, такие как:
- Управление доступом.
- Ограничение ширины потребляемого канала.
- Ограничение трафика на день, неделю и месяц.
- Перенаправление соединений.
- Построение цепочек соединений.
- Ротация лог-файлов.
- Ведение журналов через ODBC и syslog.
- Поддержка IPv6.
К недостаткам можно отнести:
- Отсутствие поддержки кеширования веб-страниц.
- Отсутствие в официальных репозиториях некоторых linux-дистрибутивов (включая Debian и Ubuntu), но в репозиториях Gentoo, RedHat, Alt Linux присутствует.
Технические требования
- Операционная система Debian GNU/Linux (версии с 7 по 9) или Ubuntu (версии с 14.04 по 17.04) любой разрядности (32/64 бита).
- Пользователь с привилегиями root (как вариант доступ через sudo).
Подготовка, скачивание, компиляция
Подготовка
В связи с отсутствием данного ПО в официальных репозиториях Debian и Ubuntu, установка будет происходить из исходников.
Предварительно установим всё необходимое для дальнейшей работы.
Скачивание и распаковка исходников
Последняя версия 0.8.12 (на момент написания руководства). Узнать последнюю версию можно на официальном сайте. При необходимости просто замените цифры на необходимые в следующих парах команд:
Компиляция
Установка
Копируем получившийся бинарный файл:
Создадим отдельного системного пользователя proxy3 от имени которого и будет работать сервер:
Узнаём UID и GID пользователя командой:
В ответ, например, получим:
Создаём файл настроек: [1]
Вставляем в него следующий код:
(Для сохранения и закрытия нажмите CTRL+X затем Y)
Комментарии начинаются со знака # и допустимы только с начала строки.
Рекомендуется вообще удалить комментарии для более стабильной работы 3proxy.
Рекомендуется также использовать другой порт вместо стандартного 3128 для прокси серверов, лучше всего из диапазона 49152—65535.
Ниже пример конфигурации без ведения логов:
Настройка
Создаём файл с пользователями и паролями:
Вставляем в него следующий код:
Где логин: username и пароль: strongpassword следует изменить на свои.
Каждый новый пользователь указывается с новой строки.
Выставляем права доступа к файлам прокси-сервера:
Создаём папку для ведения логов и назначаем права на неё:
Автозагрузка и запуск прокси-сервера
Вставляем в него следующий код:
Ещё один вариант скрипта инициализации:
Делаем файл исполняемым:
Добавляем в автозагрузку:
В консоли мы увидим сообщение:
Проблемы с запуском чаще всего связаны с файлом /etc/3proxy/3proxy.cfg
в т.ч. к последней строке файла. При возникновении ошибки обычно указан порядковый номер проблемной строки.
Также мы увидим его в списке запущенных процессов в ответе на команду:
Открытие порта
Открываем порт (3128/tcp) на сервере. Либо указываем свой, который указан в файле /etc/3proxy/3proxy.cfg
При использовании Uncomplicated Firewall (UFW):
При использовании iptables:
Удаление
Удаление временных файлов
Удаление 3Proxy (при необходимости)
Так как установка осуществлялась из исходников, то пакетный менеджер операционной системы бесполезен. Для удаления выполнить следующие команды:
Прочее
Множество программ (включая веб-браузеры) поддерживают работу через прокси по умолчанию. Интерфейс настроек у каждой свой.
Если же программа не поддерживает, то возможна настройка работы всех соединений через прокси в параметрах используемой вами операционной системы.
Либо использование программы проксификатора.
Например такой как:
WideCap
FreeCap
tun2socks
redsocks
Proxifier
ProxyCap
Настройки для браузера Google Chrome:
Для подключения к сети Google Chrome использует системные настройки прокси-сервера.
В случае Microsoft Windows это настройки можно также найти в Internet Explorer / MS Edge.
Форма с предложением ввода логина и пароля (username:strongpassword) появится после первой попытки открытия любой веб-страницы.
Затем любые сервисы по проверки IP-адреса, сообщат IP-адрес вашего сервера вместо текущего.
P.S. SOCKS-прокси
SOCKS-прокси имеют несколько версий протокола (SOCKSv4/SOCKSv4.5/SOCKSv5) и ряд особенностей. Подробнее описано тут — https://3proxy.ru/howtor.asp
Например SOCKSv4 не поддерживает IPv6 на уровне протокола, в SOCKSv5 есть поддержка IPv6 с помощью отдельного вида запроса, который должен быть реализован в клиентском приложении или соксификаторе. Авторизации по паролю поддерживаются в SOCKS так же как и через HTTP-прокси. SOCKSv5 имеет поддержку UDP.
В шаге-4 в конфиге /etc/3proxy/3proxy.cfg
вместо последней строчки можно одновременную работы с HTTP-прокси настроить — тогда просто добавить в конец строку:
Параметр (-p1080) это номер порта. Можно другой указать, но этот стандартный.
В шаге-6 при использовании Uncomplicated Firewall (UFW):
Источник