| Нужен прокси сервер, но не знаете с чего начать?
Посмотрите на простую иллюстрацию, которая доступно показывает, как работает прокси сервер.
Что умеет 3proxy?
- HTTP прокси с возможностью работы через https:// и ftp://
- Работа через Socks 4\4.5\5
- Прокси POP3 сервера
- Кеширующий сервер DNS
- Прокси по ФТП протоколу
- Возможность использовать TCP и UDP portmapper
В качестве дополнительных возможностей можно добавить:
- управление авторизацией
- ограничение на полосу пропускания
- ограничения на суточный, недельный и месячный трафик
- возможность редиректов (перенаправления) соединений
- прокси чайник, возможность делать цепочку из нескольких прокси серверов (клиент - прокси1 - прокси2 - прокси3 - сайт)
- полное логирование всех данных.
3proxy сильный конкурент прокси серверам, он простой, многофункциональный и что немаловажно, полностью БЕСПЛАТНЫЙ.
Статья действительна для

Debian

Ubuntu

CentOS
Для остальных ОС, она может подойти, но некоторые команды из статьи будут недействительны.Установка будет производиться посредством сборки 3proxy сервера из исходников.
Скачать можно с официального сайта по ссылке
https://3proxy.ru/download/stable/Нас интересует пункт
3proxy-0.8.12.tgz sources for Unix/Linux/Windows and documentationТут то мы и получаем ссылку на скачивание 3proxy
Обновляем наши пакеты системы перед началом сборки 3proxy из исходников и устанавливаем недостающие.
apt-get update
apt-get upgrade -y
apt-get install build-essential libevent-dev libssl-dev gcc make psmisc nano sudo screen -y
Качаем архив, разархивируем, заходим в папку
wget https://github.com/z3APA3A/3proxy/archive/0.8.12.tar.gz --no-check-certificate
tar -xvf 0.8.12.tar.gz
cd 3proxy-0.8.12
Приступаем к сборке сервера 3proxy
Делаем сервер анонимным следующей строчкой
#define ANONYMOUS 1
Начинаем сборку из исходников
make -f Makefile.Linux
make -f Makefile.Linux install
Наш сервер собран, ищем его расположение.
cd ~/
whereis 3proxy
Получаем ответ
3proxy: /usr/local/bin/3proxy /usr/local/etc/3proxy
Переходим в папку с конфигурацией
cd /usr/local/etc/3proxy
Редактируем файл 3proxy.cfg, редактором nano
nano 3proxy.cfg
daemon
auth strong
users alienvds123:CL:alienvds123
users alienvds321:CL:alienvds321
proxy -n -a -p6300 -i54.38.9.88 -e54.38.9.88
socks
flush
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
archiver gz /usr/bin/gzip %F
rotate 30
deny * * 127.0.0.1,192.168.1.1
allow * * * 80-88,8080-8088 HTTP
allow * * * 443,8443 HTTPS
allow * * * 21 FTP
maxconn 32
bandlimin 20000 dima,roman
bandlimin 10000 egor
allow admin,vasyawww
setgid 65534
setuid 65534
Вставляем данные в файл и сохраняем.
users alienvds123:CL:alienvds123
users alienvds321:CL:alienvds321
proxy -n -a -p6300 -i54.38.9.88 -e54.38.9.88
В users, указываем данные для авторизации, логин\пароль
В proxy, мы запускаем наш прокси сервер на порту 6300 и IP адресе нашего VDS
Если IP адресов несколько, то таких строек можно так же делать несколько, что бы прокси был доступен на всех адресах.
В параметре maxconn мы указываем количество максимальных подключений.
Для авторизации без пароля и логина, нужно заменить строку
auth strong
на
auth none
Для разных служб, можно установить разные параметры авторизации.
auth none
pop3p
auth iponly
proxy
auth strong
socks
С более подробной конфигурацией сервера 3proxy, можно ознакомится на официальном сайте
https://3proxy.ru/howtor.aspСтрочки
setgid 65534
setuid 65534
Определяем ID 65534 командой
id nobody
у вас может быть другой, но это не точно.
Закрываем пинг к нашему VDS.
iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
Делаем первый запуск сервера
/usr/local/etc/3proxy/bin/3proxy /usr/local/etc/3proxy/3proxy.cfg
Готово, наш proxy работает.
Как его выключить?
Просто командой
killall -9 3proxy
Можно добавить в cron для автоматического запуска после рестарта.
Выполняем команду
export EDITOR=nano ; crontab -e
опускаемся в самый низ, дописываем
@reboot sudo -u root /usr/local/etc/3proxy/bin/3proxy /usr/local/etc/3proxy/3proxy.cfg
Нажимаем по очереди, ctrl+x - Y - Enter
Проверяем наш crontab
crontab -l
Нашу команду увидим снизу.