Компания DiAi

DiAi

Установка и настройка прокси сервера 3proxy в Linux

3proxy это легкий и довольно производительный кроссплатформенный прокси сервер, который можно развернуть как на Windows, так и в Linux. В этой статье мы покажем, как установить и настроить 3proxy на базе Linux. Инструкция применима для большинства современных дистрибутивов (Debian, Ubuntu, CentOS, RHEL, Rocky, Oracle Linux, и т.д.)

3proxy универсальный прокси сервером с поддержкой HTTP, HTTPS, SOCKS v4, SOCKS v4a, SOCKS v5, FTP, POP3, UDP и TCP портмаппинг (переадресация или порт-форвардинг), поддержкой ACL, управлением пропускной способности канала, возможностями авторизации по имени пользователя, IP и рядом других полезных опций.

DiAi

Пакет установки 3proxy отсутствует почти во всех репозиториях Linux, поэтому проще скомпилировать его самостоятельно. Для этого нужно установить компилятор gcc.

				
					yum install gcc
				
			

В Debian/Ubuntu используйте команду:

				
					apt-get install gcc
				
			

Скачайте исходные файлы 3proxy с Github и распакуйте архив:

				
					wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
				
			

Перейдите в каталог с 3Proxy и скомпилируйте программу:

				
					cd 3proxy-0.9.3
make -f Makefile.Linux
				
			

Команду make install не запускайте.

Создайте нового пользователя, от имени которого будет работать 3proxy (без доступа к shell и без домашнего каталога):

				
					useradd -s /usr/sbin/nologin -U -M -r 3proxy
				
			

Получите UID и GID нового пользователя:

				
					id 3proxy
				
			

uid=986(3proxy) gid=984(3proxy) groups=984(3proxy)

Создаем каталог для конфигурационного файла 3proxy:

				
					mkdir /etc/3proxy
				
			

Создайте каталог для логов:

				
					mkdir -p /var/log/3proxy
				
			

Скопируйте исполняемый файл 3proxy в /usr/bin:

				
					sudo cp bin/3proxy /usr/bin/
				
			

Предоставьте права для учетной записи 3proxy:

				
					chown 3proxy:3proxy -R /etc/3proxy
chown 3proxy:3proxy /usr/bin/3proxy
chown 3proxy:3proxy /var/log/3proxy
				
			

Создайте файл конфигурации:

				
					mcedit /etc/3proxy/3proxy.cfg
				
			

Добавьте в него следующие данные:

				
					#!/bin/3proxy
auth strong
users proxy:CL:password
proxy -n -a -p13000 -i192.168.0.3 -e192.168.1.3
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
log /var/log/3proxy/3proxy.log D
rotate 30
				
			

Создайте собственного демона 3proxy для управления им через systemd:

				
					touch /etc/systemd/system/3proxy.service
chmod 664 /etc/systemd/system/3proxy.service
mcedit /etc/systemd/system/3proxy.service
				
			

Добавьте в файл 3proxy.service следующую конфигурацию:

				
					[Unit]
Description=3proxy Proxy Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill `/usr/bin/pgrep 3proxy`
RemainAfterExit=yes
Restart=on-failure
[Install]
WantedBy=multi-user.target
				
			

Обновите конфигурацию systemd:

				
					systemctl daemon-reload
				
			

Добавьте сервис в автозагрузку и запустите его:

				
					systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
				
			

Добавьте правило в файрволл, которое открывает для подключений к прокси порт TCP 4555. Если у вас используется firewalld, добавьте разрешающее правило так:

				
					firewall-cmd --zone=public --add-port=4555/tcp --permanent
firewall-cmd --reload
				
			

перезвоним

в течении 10 минут