- Одминский блог
- Проблемы работы auth strong в режиме socks 3proxy
- Установка 3proxy
- Содержание
- Заказ виртуального сервера
- Установка 3proxy с поддержкой http(s) и socks5-proxy
- Установка из репозиторий
- Пример файла конфигурации
- Запуск на определенном IP
- Исправление некоторых проблем.
- Проблема 1.
- Проблема 2.
- Упрощенный конфиг анонимного http(s) proxy сервера на порту 3128
- RTFM.WIKI
- Инструменты пользователя
- Инструменты сайта
- Боковая панель
- Навигация
- Линкшэринг
- ALARM!
- Добавить новую страницу
- Реклама
- Содержание
- Установка SOCKS5 сервера 3proxy
- Установка
- Пользователи
- Конфигурационный файл
- Firewall
- init.d/systemd
- Пропадает соединение через http proxy, socks всегда работает идеально! #405
- Comments
- zhanadamian commented Dec 1, 2019
- Настройка минимального SOCKS прокси 3proxy
Одминский блог
Блог о технологиях, технократии и методиках борьбы с граблями
Проблемы работы auth strong в режиме socks 3proxy
Возникла тут необходимость поднять прокси сервер SOCKS5 для ботофермы одной онлайн игрухи. Поднимал я есессно на моем проверенном 3proxy, хотя как поговаривают бывалые ботоводы, по сравнению с Dante ( о котором буду живописать позже), продукт от ЗАРАЗы шибко прожорливый.
Но все бы было замечательно, если бы не некоторый нюанс. Все мануалы, имеющиеся в сети, расписываю элементарную настройку socks, но почему то у меня сложилось впечатление, что все (как на самом деле и я) просто копипастят из одного источника, хотя на деле никто ничего не проверял.
Итак как настроить 3proxy я уже писал, так что просто перейду к пляскам с бубнами вокруг socks. У меня есть сервер, одна сетевуха, на которой поднято десяток виртуальных интерфейсов и которые я хочу заставить принимать запросы по socks.
Файл конфигурации, работающий в элиптическом вакууме тырнетных мануалов, выглядит следующим образом:
##### 3proxy.cfg ######
#!/usr/local/bin/3proxy
daemon
pidfile /usr/local/3proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
log /usr/local/3proxy/logs/3proxy.log
rotate 30
logformat “G%d-%m-%Y %H:%M:%S | %U | %C | %R:%r | %O | %I |%n”
archiver gz /usr/bin/gzip %F
users test:CL:qwerty
auth strong
allow test
maxconn 100
socks -iVPS-IP1 -eVPS-IP1 -p1080
socks -iVPS-IP2 -eVPS-IP2 -p1080
socks -iVPS-IP3 -eVPS-IP3 -p1080
flush
##################
Вот по всем мануалам, это полностью рабочий конфиг. Но у меня он не давал ничего, т.е. логин браузера просто дропался, не выдавая никаких промтов логина.
Довольно долго я пытался понять что к чему в работе прокси сервера, пока не догадался все проверить через модуль пакета socks. Продукт 3proxy поставляется в двух вариантах: в виде отдельных модулей под каждый тип прокси и в виде общего комбайна 3proxy. Модули запускаются из командной строки на основе директив, тогда как комбайн пользует собственный конфиг.
Запустил сокс прокси через консоль
socks -d -l/var/log/socktest.log -iVPS-IP1 -eVPS-IP1 -p1080
и получил вполне рабочий socks прокси, принимающий запросы и прекрасно работающий. Единственный минус его был в том, что через консоль невозможно задать аутентификацию по пользователю.
Поэтому я попробовал поиграться с аутентификацией пользователей уже в самом пакете 3proxy и оказалось, что отключение аутентификации auth none или же включение аутентификации на основе IP auth iponly прекрасно работали, как сами по себе, так и в формате двойной аутентификации (которая возможно с версии 0.6) auth iponly strong
То есть загвоздка именно в пользовательской аутентификации, а сам сервер работает нормально.
В логах все выглядело довольно занятно:
попытка соединиться с IE 6.0 (видимо подставляется дефолтный виндовый аккаунт)
26-05-2014 15:36:21 | Administrator | Browser-IP| 93.158.134.3:80 | 0 | 0 |93.158.134.3
26-05-2014 15:36:21 | Administrator | Browser-IP | 212.30.134.158:80 | 0 | 0 |212.30.134.158
попытка коннекта с FF
26-05-2014 15:39:02 | – |Browser-IP | 173.194.112.97:80 | 0 | 0 |173.194.112.97
26-05-2014 15:39:02 | – |Browser-IP | 173.194.112.104:80 | 0 | 0 |173.194.112.104
попытка коннекта с другого FF где в настройках уже прописан логин
26-05-2014 16:35:04 | – |Browser-IP | 141.101.120.15:80 | 0 | 0 |www.whatismyip.com
Попытки оттрейсить соединение, дали такую картину:
лог L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T
1401123271.665 SOCK5.1080 00004 – Browser-IP:63422 213.180.193.75:80 0 0 0 CONNECT_bar-navig.yandex.ru:80
1401123271.667 SOCK5.1080 00004 – Browser-IP:63423 87.245.216.177:80 0 0 0 CONNECT_toolbarqueries.google.com:80
1401123271.723 SOCK5.1080 00004 – Browser-IP:63424 213.180.193.75:80 0 0 0 CONNECT_bar-navig.yandex.ru:80
лог L%C – %U [%d/%o/%Y:%H:%M:%S %z] “”%T”” %z %N.%p %E %U %C:%c %R:%r %O %I %h
61.231.92.242 – — [26/May/2014:13:44:40 -0400] “CONNECT Browser-IP” -0400 SOCK4.1080 00004 – 61.231.92.242:3225 Browser-IP:25 0 0 0
61.231.92.242 – — [26/May/2014:13:44:41 -0400] “CONNECT Browser-IP” -0400 SOCK5.1080 00004 – 61.231.92.242:4028 Browser-IP:25 0 0 0
Учитывая, что с бубнами вокруг этого косяка я пляшу уже третьи сутки, то решил пока переключиться, но по мере возможностей буду ковырять дальше, ибо тесты на версии 0.6 не дали ничего нового, ровно как и попытки поднять на дебе – центосине.
Источник
Установка 3proxy
Статья давно не обновлялась, поэтому информация могла устареть.
Содержание
Заказ виртуального сервера
- Зайдите на http://firstvds.ru и зарегистрируйтесь.
- Закажите виртуальный сервер с тарифным планом не меньше 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.
- Поменять порты. Но найти всё равно могут.
- Не вести логи.
- В фаерволе разрешить доступ с определённых адресов, остальным запретить. Довольно негибкое, но железное решение.
Лучше предусмотреть всё заранее.
Упрощенный конфиг анонимного http(s) proxy сервера на порту 3128
Также создать директорию под логи и выставить права (мы запускаем сервер с минимальными правами nobody в системе используя директивы setgid/setud)
Источник
RTFM.WIKI
Ordnung muß sein. Ordnung über alles (18+)
Инструменты пользователя
Инструменты сайта
Боковая панель
Навигация
Линкшэринг
socialite Display:icon facebook twitter
ALARM!
Добавить новую страницу
Реклама
Содержание
Установка SOCKS5 сервера 3proxy
На Github’е можно найти множество bash скриптов упрощяющих установку 3proxy
Исходные данные: vMACHINA VPS, CentOS 7.5.1804.
Задача: Настроить 3proxy для работы HTTP/Socks прокси с поддержкой работы через IPv6.
Порт HTTP прокси 3333, порт Socks прокси 4444.
Установка
К сожалению последних версий 3proxy в репозиториях нет. Поэтому и для CentOS и для Debian/Ubuntu необходимо будет собирать 3proxy вручную. Старый добрый make install.
Для сборки из исходного кода нам нужен компилятор gcc
Скачиваем последнюю доступную версию с Github и компилируем
make install не делаем.
Добавим нового системного пользователя от имени которого будет работать 3proxy (без доступа к shell и без домашнего каталога)
В дальнейшем нам понадобятся UID и GID нового пользователя
Следуя правилам FHS наш 3proxy будет установлен в каталоге /opt .
Создаём необходимые каталоги и копируем скомпилированные файлы
Делаем chown и chmod
Пользователи
Пользователей можно указывать в самом конфигурационном файле
в отдельном файле
или же одновременно в конфигурационном файле и отдельном файле
Примечание
proxy -6 -p[номер_порта] -i[IPv4-адрес] -e[IPv6-адрес]
Пример конфигурационного файла
опции -4 , -46 , -64 , -6 задают приоритет разрешения имен в адреса IPv4 и IPv6 (только IPv4, приоритет IPv4, приоритет IPv6, только IPv6). Подробности в 3proxy FAQ
Важно! Если используется только v6, то с socks-сервером могут быть проблемы.
Для плагина FoxyProxy например требуется включить опцию Send DNS through SOCKS5 proxy
При правильной настройке сайт ipv6-test.com покажет следующий результат
IPv6
IPv4+IPv6
Конфигурационный файл
Финальный вариант файла /opt/3proxy/etc/3proxy.cfg
Небольшие пояснения по опциям flush и allow
Мы можем например глобально разрешить только HTTP и HTTPS, но отдельно для socks открыть дополнительный доступ для TCP 1500.
Allow, как нетрудно догадаться служит для разрешения соединения. Синтаксис следующий:
То есть в нашем тестовом конфигурационном файле разрешено
Пример ограничения использования прокси-сервера подсетями Telegram (источник)
Firewall
В нашем примере http-прокси использует порт TCP 3333, а socks-прокси порт TCP 4444.
init.d/systemd
В CentOS 7 используется systemd, поэтому необходимо создать unit-файл с новым сервисом /etc/systemd/system/3proxy.service
Обновляем список сервисов в systemd, добавляем сервис в автозагрузку и запускаем его
Источник
Пропадает соединение через http proxy, socks всегда работает идеально! #405
Comments
zhanadamian commented Dec 1, 2019
- 3proxy установлено на разных ОС: ubuntu, win7, win10.
- интерфейсы: на входе — ethernet, выход — карта rndis (3g modem в hilink).
- ip на интерфейсах прописаны статично.
- в конфигах все привязано к ip.
У меня есть необходимость перезагружать 3g модем и тогда rndis исчезает на секунд 30 из интерфейсов, а также периодически делать реконнект модема с пропаданием инета на 30сек — минуту (в этом случае rndis и его внутр ip шлюза не меняются и остаются доступны)
В случае с http — прокси после описанных манипуляций остается висеть в процессах/как запущенный сервис, но реально не работает.
В течении минуты-две в примерно 80% случаев все опять начинает работать.
В остальных 20% лечится перезагрузкой http прокси.
Возможно это таймауты или еще что, подскажите, куда копать!
При необходимости дам логи.
И в любом случае — огромное Спасибо за Супер программу!
запускается socks и http отдельными конфигами и сервисами вот такими строками
proxy -n -a -p33333 -ix.x.x.x -ex.x.x.x
socks -n -a -p33343 -ix.x.x.x -ex.x.x.x
———конфиг——-
monitor /. /3proxyXX.cfg
daemon
timeouts 1 5 30 60 180 1800 15 60
nserver Y.Y.Y.Y
nscache 65536
users aaaa:CL:bbbbb
authcache ip 3600
auth cache strong
allow aaaa
maxconn 125
#socks -n -a -p3333 -ix.x.x.x -eY.Y.Y.Y
proxy -n -a -p3334 -ix.x.x.x -eY.Y.Y.Y
flush
end
The text was updated successfully, but these errors were encountered:
Источник
Настройка минимального SOCKS прокси 3proxy
Для некоторых актуален вопрос, какой же прокси выбрать и как его настроить. Поскольку, если выставить любой прокси без авторизации, а Tor, например, ее не умеет, то достаточно быстро прокси станет достоянием общественности, а ваш IP начнет потихоньку баниться сервисами, если вообще не попадет на карандаш к спецслужбам. Но, предостерегу, даже если на прокси стоит авторизация, не забываем, что любой софт может содержать ошибки, а потому лучше спрятать его куда-то на нештатный порт и расставить ловушки против сканеров портов.
Итак, я в свое время полистал разные софтинки и среди минимальных по размеру (если у вас серьезный траффик, то статья не для вас) выбрал 3proxy. Симпатичная утилитка, хоть автор и предупреждал, что он не профессионал, а падать она ни разу не падала, да и кроссплатформенная. Пользуюсь уже больше полугода, могу порекомендовать.
это, в принципе, ненужная опция, но у меня почему-то 3proxy пытался открыть порт обычного прокси, даже если его в конфиге не указывать. Видимо, где-то хардкод при сборке. А порт по умолчанию у меня занят. Чтобы не было конфликтов — прибил ненужный порт.
Вот и все. Дольше писал, чем настраивать. Минутное дело вообще, а в текущих условиях блокировок чего попало незаменимая вещь.
Дополню по конфигу. То, что он описывает (пробовать не надо, чужое — не трогай).
Подключаемся юзером telega с паролем password на адрес 77.37.240.57:3128. Тип подключения — socks5
После успешного подключения соединение пойдет с вероятностью 90% на имя_сервера, либо на 10.0.0.2 с вероятностью 10%.
Источник