Настройка прокси-сервера на Ubuntu

Минимальный конфиг сервера:

  • 1 ядро, 1Гб ОЗУ, немного место на диске
  • Ubuntu 24.04 LTS (актуальная на момент написания)
  • внешний 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

# DNS‑серверы
nserver 8.8.8.8
nserver 8.8.4.4
nscache 65536

# Таймауты
timeouts 1 5 30 60 180 1800 15 60
monitor /etc/3proxy/3proxy.cfg

# Логирование
log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

# Аутентификация
auth cache strong
users $/etc/3proxy/.proxyauth

# разрешаем все
allow *

# Запуск прокси‑сервисов
# порт задаем из диапазона 49152–65535
proxy -n -p44444 -a
socks -p1080
ftppr

#веб морда прокси
flush
allow user
admin -p8080

Проверяем конфиг

3proxy /etc/3proxy/custom/3proxy.cfg --check

Настраиваем приватность, создаем конфиг

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
sudo iptables -I INPUT -p tcp -m tcp --dport 1080 -j ACCEPT

Проверка подключения

curl --socks5 serverip:1080 https://ifconfig.me
curl --proxy serverip:56111 -U user:password https://ifconfig.me

Время отклика

time curl --socks5 serverip:1080 https://ifconfig.me
time curl --proxy serverip:56111 -U user:password https://ifconfig.me

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