3PROXY - бесплатный прокси-сервер для раздачи интернета в локальной сети небольшого предприятия или домашней сети. Установка и настройка в Linux


Назад


# Cначала поставим информационный набор пакетов необходимых для сборки:
sudo apt-get install build-essential libevent-dev libssl-dev

# для правильной работы wget
sudo apt-get install ca-certificates

# Скачиваем стабильную версию:

cd /usr/src
sudo wget https://github.com/z3APA3A/3proxy/archive/0.8.8.tar.gz

# Распаковываем:
sudo tar zxvf 0.8.8.tar.gz

# Переходим в папку с исходниками:
cd 3proxy-0.8.8

# Перед компиляцией добавим одну строчку, чтобы сервер был анонимным:
sudo nano src/proxy.h

# Добавить строку:
#define ANONYMOUS 1

# Собираем:
sudo make -f Makefile.Linux

# Устанавливаем:
sudo make -f Makefile.Linux install

# Создаем директорию под конфиг и лог-файлы и в домашней папке
sudo mkdir -p /var/log/3proxy

# Создадим отдельного системного пользователя proxy3 от имени которого и будет работать сервер:
# sudo adduser --system --no-create-home --disabled-login --group proxy3 # это можно не делать!

# Узнаём UID и GID пользователя командой:
# id proxy3 # это можно не делать!

# В ответ, например, получим:
# uid=106(proxy3) gid=112(proxy3) группы=112(proxy3)# это не нужно!
# uid=111(proxy3) gid=117(proxy3) группы=117(proxy3)# это не нужно!

Создаем простой пример конфига
sudo nano /usr/local/bin/3proxy.cfg

#-------------3proxy.cfg------------
# Запускаем сервер от пользователя proxy3
# (возможно в вашей ОС uid и gid пользователя proxy3
# будут другими. Для их определения воспользуйтесь командой id proxy3)
# setgid 112 # это не нужно!
# setuid 106 # это не нужно!

# Для автозагрузки прокси сервера
daemon

# Записывать pid текущего процесса в файл
# pidfile /home/3proxy/3proxy.pid # это не нужно!

# IP адреса ip адрес вашего сервера (internal и external)
internal 192.168.0.100
external 192.168.1.100

# Пропишем правильные серверы имен, посмотрев их на своем сервере в /etc/resolv$
nserver 192.168.1.1

# Оставим размер кэша для запросов DNS по умолчанию
nscache 65536

# Равно как и таймауты
timeouts 1 5 30 60 180 1800 15 60

log /var/log/3proxy/3proxy.log D
logformat "L%Y/%o/%d/%H%:%M:%S -> %C:%c [O=%O][I=%I] %T"
rotate 30

# Конфигурация FTP (ftp и icq), Web-proxy (http и https), SOCKS5-proxy
flush

# none - не требует авторизации, strong - с авторизацией по логину и паролю
auth none

#################################################################################
# ОГРАНИЧЕНИЕ ПОЛЬЗОВАТЕЛЕЙ ИНТЕРНЕТА ПО СКОРОСТИ ВХОДЯЩЕГО/ИСХОДЯЩЕГО ТРАФФИКА #
#################################################################################

# ограничение скорости в байтах для входящего трафика
bandlimin 5120000 *

# можно также выполнить ограничение конкретным пользователям по IP
#bandlimin 128000 * 192.168.0.101
#bandlimin 256000 * 192.168.0.102
#bandlimin 384000 * 192.168.0.103
#bandlimin 64500 * 192.168.0.xxx - где xxx адрес пользователя

# ограничение скорости в байтах для исходящего трафика
bandlimout 512000 *

# задает стандартный порт для прокси 3128
proxy -p3128

# запустим socks прокси на порту 1080
socks -p1080

# административный веб-интерфейс на порту 8081
#admin -p8081
#-------------3proxy.cfg------------

# Создаем папку
# sudo mkdir -p /home/3proxy # это можно не делать!

# Запускаем прокси-сервер
3proxy /usr/local/bin/3proxy.cfg

# Проверяем слушается ли наш порт:
netstat -an | grep -i listen

# Проверим висит ли наш процесс:
ps ax | grep [3]proxy

# Добавляем в автозагрузку и запускаем прокси-сервер
# Создаём файл-инициализации:
sudo nano /etc/init.d/3proxyinit
----------------/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/local/bin/3proxy /usr/local/bin/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
----------------/etc/init.d/3proxyinit---------------------

# Делаем файл исполняемым:
sudo chmod +x /etc/init.d/3proxyinit

# Добавляем в автозагрузку:
sudo update-rc.d 3proxyinit defaults

# Запускаем прокси-сервер:
sudo /etc/init.d/3proxyinit start

# В консоли мы увидим сообщение:
# Starting 3Proxy

# Также мы увидим его в списке запущенных процессов в ответе на команду:
ps -ela | grep "3proxy"

# Удаляем временные файлы
sudo rm /usr/src/0.8.8.tar.gz
sudo rm -r /usr/src/3proxy-0.8.8


Автор: admin| E-mail: technolog@nm.ru| Дата/время: 05.03.2020 / 09:07:28| Просмотры: 9274

РедактироватьНазад

www.xtechonline.ru/mail: svdniko@mail.ru © 2020