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 |