Установка 3proxy на VPS-сервер с Debian

Инструкция по установке и настройке 3proxy на VPS-сервере с Debian.

1. Подключаемся с помощью PuTTY, обновляем систему:

sudo apt-get update
sudo apt-get upgrade

2. Устанавливаем нужные компоненты для сборки из исходников

apt install build-essential make gcc

3. Скачиваем исходники последней версии и собираем

cd ~
wget --no-check-certificate https://github.com/z3APA3A/3proxy/archive/0.9.4.tar.gz
tar -xf 0.9.4.tar.gz
cd ~/3proxy-0.9.4

make -f Makefile.Linux

4. Копируем получившийся бинарный файл в /usr/bin/

cd ~/3proxy-0.9.4/bin
cp 3proxy /usr/bin/

5. Создадим системного пользователя proxy3 от имени которого и будет работать проски-сервер

adduser --system --no-create-home --disabled-login --group proxy3

6. Узнаём UID и GID пользователя (понадобится в конфигурации), записываем/запоминаем

id proxy3

7. Создаём директорию для конфигурации и файл настроек /etc/3proxy/3proxy.cfg

mkdir /etc/3proxy
nano /etc/3proxy/3proxy.cfg

8. Добавляем в файл /etc/3proxy/3proxy.cfg следующий код

# Запускаем сервер от пользователя proxy3
# (возможно в вашей ОС uid и gid пользователя proxy3
# будут другими. Для их определения воспользуйтесь командой id proxy3)
setgid 115
setuid 109
 
nserver 8.8.8.8
nserver 8.8.4.4
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
 
# Если несколько IP на одном сервере, указываем тот,
# через который ходить во внешний мир.
# Иначе эту строку игнорируем
#external <YOURSERVERIP>
# Тоже самое, только указываем IP, который надо слушать
# Если проигнорировать, то прокси слушает все адреса на сервере
#internal <YOURSERVERIP>
 
# расположение файла с пользователями и паролями
users $/etc/3proxy/.proxyauth
 
# режим запуска как deamon
daemon
 
# путь к логам и формат лога, для отключения логов комментируем строки
#log /var/log/3proxy/3proxy.log D
#logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
 
# авторизация по логинам и паролям
auth cache strong
 
# Конфигурация http(s) proxy
# Запускаем анонимный (-a) HTTP-proxy на порту (-p) 3128 и
# c отключенной NTLM-авторизацией (-n)
proxy -n -p3128 -a
# пример конфигурации для совместной работы HTTP-proxy и SOCKS-proxy
#proxy -n -p3128 -a
#socks -p1080

Рекомендуется использовать другой порт вместо стандартного 3128 для прокси серверов, лучше всего из диапазона 49152-65535.
Для стабильной работы 3proxy рекомендуется удалить все комментарии и пустые строки из конфига.

9. Создаём файл с пользователями и паролями

nano /etc/3proxy/.proxyauth

10. Вставляем в него следующий код

## addusers in this format:
#user:CL:password
username:CL:userpass

логин: username и пароль: userpass следует изменить на свои.
Каждый новый пользователь указывается с новой строки.

11. Выставляем права доступа к файлам прокси-сервера

chown proxy3:proxy3 -R /etc/3proxy
chown proxy3:proxy3 /usr/bin/3proxy
chmod 444 /etc/3proxy/3proxy.cfg
chmod 400 /etc/3proxy/.proxyauth

12. Если будут вестиcь логи, то

mkdir /var/log/3proxy
chown proxy3:proxy3 /var/log/3proxy

13. Создаём скрипт для загрузки сервера и заполняем его

nano /etc/init.d/3proxyinit
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: 3Proxy
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Initialize 3proxy server
# Description: starts 3proxy
### END INIT INFO
 
case "$1" in
start)
echo Starting 3Proxy
 
/usr/bin/3proxy /etc/3proxy/3proxy.cfg
;;
 
stop)
echo Stopping 3Proxy
/usr/bin/killall 3proxy
;;
 
restart|reload)
echo Reloading 3Proxy
/usr/bin/killall -s USR1 3proxy
;;
*)
echo Usage: \$0 "{start|stop|restart}"
exit 1
esac
exit 0

14. Выставляем права на запуск и добавляем в автозагрузку

chmod +x /etc/init.d/3proxyinit
update-rc.d 3proxyinit defaults

15. Запускаем прокси-сервер

/etc/init.d/3proxyinit start

Добавить комментарий