Минимальный конфиг сервера:
- 1 ядро, 1Гб ОЗУ, немного место на диске
- Ubuntu 20.4 LTS (проверить требования версии 3proxy)
- внешний IP
Подготовка, скачиваем, собираем:
sudo apt-get update
sudo apt-get install -y build-essential
wget https://github.com/z3APA3A/3proxy/archive/0.9.5.tar.gz
tar xzf 0.9.5.tar.gz
cd ~/3proxy-0.9.5
sudo make -f Makefile.Linux
sudo mkdir /etc/3proxy
cd ~/3proxy-0.9.5/bin
sudo cp 3proxy /usr/bin/
sudo adduser --system --no-create-home --disabled-login --group proxy3
Смотрим и запоминаем:
id proxy3
cat /etc/resolv.conf
Для последующей настройки нужен uid, gid и ns
Настраиваем
sudo nano /etc/3proxy/3proxy.cfg
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
users $/etc/3proxy/.proxyauth
daemon
auth cache strong
# порт задаем из диапазона 49152–65535
proxy -n -p3128 -a
Настраиваем приватность, создаем конфиг
sudo nano /etc/3proxy/.proxyauth
username:CL:password
Настраиваем права доступа
sudo chown proxy3:proxy3 -R /etc/3proxy
sudo chown proxy3:proxy3 /usr/bin/3proxy
sudo chmod 444 /etc/3proxy/3proxy.cfg
sudo chmod 400 /etc/3proxy/.proxyauth
Папка для логов
sudo mkdir /var/log/3proxy
sudo chown proxy3:proxy3 /var/log/3proxy
Настраиваем автозагрузку
sudo nano /etc/systemd/system/3proxy.service
[Unit]
Description=3proxy Proxy Server
After=network.target
[Service]
Type=forking
User=proxy3
Group=proxy3
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill '/usr/bin/pgrep -u proxy3'
RemainAfterExit=yes
Restart=on-failure
[Install]
WantedBy=multi-user.target
Перезагружаем, запускаем, проверяем
sudo systemctl daemon-reload
sudo systemctl enable 3proxy
sudo systemctl start 3proxy
sudo systemctl status 3proxy
Открываем наш порт
sudo iptables -I INPUT -p tcp -m tcp --dport 3128 -j ACCEPT