Базовое развёртывание 3Proxy на Linux (Debian/Ubuntu) занимает 15–30 минут. Сначала определитесь с инфраструктурой: один сервер на 2–4 ядра и 4–8 ГБ RAM вытянет сотни одновременных соединений при грамотных таймаутах и keep-alive. Устанавливаем зависимости (build-essential, make, gcc), ставим 3Proxy из репозитория или собираем из исходников — сборка позволяет включить нужные модули и точно контролировать версии. Далее проектируем файл конфигурации. В 3Proxy всё строится на директивах: указываем пользователей (аутентификация логин/пароль или по IP-списку), задаём ACL (allow/deny по источнику/назначению), включаем нужные протоколы (proxy для HTTP/HTTPS без MITM и socks для SOCKS5), настраиваем timeouts, keepalive, pconn и лимиты на одновременные соединения. Быстрое ядро — это хорошо, но важно не «открыть шлюзы»: поставьте limit на количество коннектов с одного IP, зафиксируйте порты (пример: proxy -p3128 -a -n и socks -p1080 -a), привяжите исходящий интерфейс, если у сервера несколько адресов (например, internal/external или отдельные подсети для мобильных модемов). Для DNS укажите устойчивые резолверы (nserver 1.1.1.1, nserver 9.9.9.9) и активируйте кэш (nscache), чтобы снизить латентность и нагрузку. Логирование — через директивы log и rotate: заведите отдельную директорию, примените ротацию по размеру/дате и используйте syslog/journald, чтобы собирать события в ELK или Loki. Запуск — через daemon или unit для systemd с Restart=always и watchdog-секциями. На уровне ОС — firewall (nftables/iptables) для белых списков по входящим IP и ограничений по портам, плюс fail2ban на обнаружение брутфорса. Для тестов используйте curl и прокси-клиенты с явным указанием протокола; обязательно проверяйте HTTP 200/407 и корректность авторизации. Когда базовая схема стабильно работает, можно контейнеризировать: Docker удобен для тиражирования и версионирования, но следите за сетевой производительностью — используйте host-сеть или macvlan для предсказуемых метрик. Если планируете мобильные прокси, продумайте привязку портов 3Proxy к конкретным модемам: каждый модем — свой порт или пул портов с sticky-сессиями и «мягкой» ротацией. Для ротации IP в мобильном сегменте интегрируйте управляющий скрипт (AT-команды, MBIM/QMI), который по сигналу перезапускает соединение и вызывает graceful перезахват сессий на стороне 3Proxy. Нагрузочное тестирование сделайте заранее: инструментами вроде vegeta/ab/hey померите latency p50/p95/p99, throughput и поведение на длинных keep-alive. И да, думайте о техподдержке будущей вас: помечайте конфиги комментариями, заведите git-репозиторий, используйте шаблоны для портов и имён пользователей, чтобы не утонуть в операционке.
- Подготовка сервера: обновление ОС, установка зависимостей, настройка systemd unit и firewall с белыми списками.
- Конфиг 3Proxy: пользователи, ACL, протоколы (HTTP/HTTPS, SOCKS5), таймауты, логирование, лимиты на соединения.
- Тестирование и автоматизация: проверка curl, нагрузочное тестирование, ротация логов, контейнеризация/оркестрация.