en
ru

3proxy - установка и настройка в Ubuntu

3proxy —Многоплатформный прокси-сервер. Cоздан в рассчете на то, чтобы быть маленьким и простым и в то же время функциональным.

Он включает в себя HTTP прокси с поддержкой HTTPS и FTP (proxy/proxy.exe), SOCKSv4/SOCKSv4.5/SOCKSv5 прокси (socks/socks.exe), POP3 прокси (pop3p/pop3p.exe), SMTP прокси (smtpp/smtpp.exe), FTP proxy, кэширующий DNS прокси, TCP и UDP портмапперы (tcppm, udppm) а так же комбинированный прокси-сервер с поддержкой дополнительных возможностей, таких как управление доступом, ограничение ширины потребляемого канала, ограничение трафика на день, неделю и месяц, перенаправление соединений, построение цепочек соединений (proxy chaining), ротацию лог-файлов, ведение журналов через ODBC и syslog и т.д.


Установка


Cначала поставим информационный набор пакетов необходимых для сборки:
sudo apt-get install build-essential libevent-dev libssl-dev
Скачиваем стабильную версию:
cd /usr/src
sudo wget http://3proxy.ru/0.6.1/3proxy-0.6.1.tgz
Распаковываем:
sudo tar zxvf 3proxy-0.6.1.tgz
Переходим в папку с исходниками:
cd 3proxy-0.6.1
Перед компиляцией добавим одну строчку, чтобы сервер был анонимным:
sudo nano src/proxy.h
Добавить строку:
#define ANONYMOUS 1
Собираем:
sudo make -f Makefile.Linux
Устанавливаем:
sudo make -f Makefile.Linux install


Запуск


Создаем директорию под конфиг и лог-файлы и в домашней папке
mkdir -p ~/3proxy
mkdir -p ~/3proxy/logs
Создаем простой пример конфига
cd ~/3proxy
nano 3proxy.cfg
замените [usr] на имя вашей домашней папки
#-------------3proxy.cfg------------
# ВНИМАНИЕ! Не должно быть пробелов
# перед любыми опциями конфигурации.
#-------------3proxy.cfg------------

# Важно указать данное значение, так как только при нем процесс 3proxy уйдет в background
daemon

# Записывать pid текущего процесса в файл
pidfile /home/[usr]/3proxy/3proxy.pid

# IP адреса
# меняем 192.168.1.2 на ip адрес вашего сервера (internal и external)
internal 192.168.1.2
external 192.168.1.2

# Пропишем правильные серверы имен, посмотрев их на своем сервере в /etc/resolv.conf
nserver 192.168.1.1

# Оставим размер кэша для запросов DNS по умолчанию
nscache 65536
# Равно как и таймауты
timeouts 1 5 30 60 180 1800 15 60

# Создаем двух пользователей user1 и user2 и назначаем им пароли
users user1:CL:pass1
users user2:CL:pass2

# Путь к логам и формат лога, к имени лога будет добавляться дата создания
log /home/[usr]/3proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

# Конфигурация FTP (ftp и icq), Web-proxy (http и https), SOCKS5-proxy
flush
auth strong
maxconn 32
# разрешим использовать прокси только пользователям user1 и user2
allow user1,user2 192.168.1.4,95.95.95.95 * * *

# запустим ftp прокси на порту 3127
#ftppr -p3127
# запустим web прокси на порту 3128
proxy -p3128
# запустим socks прокси на порту 3129
#socks -p3129

# Запустить административный веб-интерфейс на порту 8081
#admin -p8081
Запускаем прокси-сервер
3proxy ~/3proxy/3proxy.cfg
Проверяем слушается ли наш порт:
netstat -an | grep -i listen
Ну и проверим висит ли наш процесс:
ps ax | grep [3]proxy