Установка 3proxy

Материал из Энциклопедия хостинга
Перейти к: навигация, поиск

Содержание

Заказ виртуального сервера

  1. Зайдите на http://firstvds.ru и зарегистрируйтесь.
  2. Закажите виртуальный сервер с тарифным планом не меньше VDS-KVM-Разгон и операционной системой FreeBSD при этом виртуализация должна быть KVM. Размещение proxy-серверов на других виртуализациях запрещено.


Установка 3proxy с поддержкой http(s) и socks5-proxy

Некоторые люди хотят установить у себя на сервере proxy-сервер. Squid который также описан в wiki потребляет много ресурсов, да и сложнее в настройке. Поэтому рассмотрим установку простого и легкого сервера с поддержкой протоколов http и socks. Ни в коем случае не устанавливайте сервер без авторизации, т.к. этим незамедлительно воспользуются злоумышленники и создадут большой трафик и рассылку спама через сервер.

Итак, далее краткое описание установки и настройки.

Linux

Для это лучше всего подойдёт Debian8-minimal или с панелью и тарифный план VDS-KVM-старт.

Установка из репозиторий

# apt-get install 3proxy

Создаем папки:

# mkdir /usr/local/etc/3proxy
# mkdir /usr/local/etc/3proxy/bin
# mkdir /usr/local/etc/3proxy/logs
# mkdir /usr/local/etc/3proxy/stat

Переносим исполняемый файл

# cp src/3proxy /usr/local/etc/3proxy/bin

Переносим файл для автозапуска

# cp ./scripts/rc.d/proxy.sh /etc/init.d/3proxy
# update-rc.d 3proxy defaults

Создаем новый конфигурационный файл

# touch /usr/local/etc/3proxy/3proxy.cfg

Или переносим из образца конфигурационный файл

# cp cfg/3proxy.cfg.sample /usr/local/etc/3proxy/3proxy.cfg

Выставляем права

# chown -R nobody:nogroup /usr/local/etc/3proxy

Пример файла конфигурации

Пример файла конфигурации 3proxy.cfg, который должен у вас получиться после его редактирования:

# Пропишите правильные серверы имен посмотрев их на своем VDS в /etc/resolv.conf
#
 
nserver 8.8.8.8
nserver 8.8.4.4
 
# Оставьте размер кэша для запросов DNS по умолчанию
#
 
nscache 65536
 
# Равно как и таймауты
#
 
timeouts 1 5 30 60 180 1800 15 60
 
# Если несколько IP на одном сервере, указываем тот, через который ходить во внешний мир
# Иначе эту строку игнорируем
external 192.168.1.1
 
# Тоже самое, только указываем IP, который надо слушать
# Если проигнорировать, то прокся слушает все адреса на сервере
internal 192.168.0.1
 
# Создайте пользователей proxyuser1 и proxyuser2, пароль простым текстом
#
 
users proxyuser1:CL:password1
users proxyuser2:CL:password2
 
# укажите режим запуска как deamon
#
 
daemon
 
# путь к логам и формат лога, к имени лога будет добавляться дата создания
#
 
log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%.  %N.%p %E %U %C:%c %R:%r %O %I %h %T"
 
# сжимать логи при помощи gzip
#
 
archiver gz /usr/bin/gzip %F
 
# и хранить их 30 дней
#
 
rotate 30
 
 
# Конфигурация http(s) proxy
#
# включаем авторизацию по логинам и паролям
#
 
auth strong
 
# ограничим доступ по портам через http(s)-proxy
#
 
allow * * * 80-88,8080-8088 HTTP
allow * * * 443,8443 HTTPS
 
# запускаем http-proxy без поддержки ntlm-авторизации
#
 
proxy -n
 
 
# Конфигурация socks5-proxy
#
# включаем авторизацию по логинам и паролям
#
 
auth strong
 
# очищаем список access-листов которые остались от http-proxy
#
 
flush
 
# ставим ограничение на 32 одновременных подключения
#
 
maxconn 32
 
# запускаем socks
#
 
socks

Ограничьте права доступа к файлу только пользователю root (поскольку в файле хранятся пароли доступа, для безопасности)

# chmod 600 /usr/local/etc/3proxy.cfg

Добавьте 3proxy в автозапуск:

echo 'threeproxy_enable="YES"' >> /etc/rc.conf

И запустите его:

# /usr/local/etc/rc.d/3proxy start

Настройка закончена. На порту 3128 теперь у вас работает http-proxy, на порту 1080 socks-proxy

Запуск на определенном IP

Исправьте конфиг:

proxy -p3128 -i10.10.10.1 -e10.10.10.1
proxy -p3128 -i10.10.10.2 -e10.10.10.2
proxy -p3128 -i10.10.10.3 -e10.10.10.3

При такой конфигурации прокси будет запущен на 3х разных IP и выдавать разный IP в зависимости от того на какой IP подключились.

Исправление некоторых проблем.

Проблема 1.

Из-за кеширования доменных имён есть вероятность, что ваш новый домен, лично для вас будет недоступен.

Проблема 2.

Ваш прокси-сервер, с дефолтными портами, рано или поздно найдут. И ваши логи, в которых отражаются все соединения, и если вы их ведёте, станут занимать всё больше места. Решений 3.

  1. Поменять порты. Но найти всё равно могут.
proxy -n -p7834 # на http proxy слушать порт 7834 
socks -p7835    # на socks слушать порт 7835
  1. Не вести логи.
  2. В фаерволе разрешить доступ с определённых адресов, остальным запретить. Довольно негибкое, но железное решение.

Лучше предусмотреть всё заранее.

Упрощенный конфиг анонимного http(s) proxy сервера на порту 3128

users proxyuser:CL:password

daemon

log /var/log/3proxy/3proxy.log D
rotate 30

auth strong
proxy -n -a

setgid 65534
setuid 65534

Также создать директорию под логи и выставить права (мы запускаем сервер с минимальными правами nobody в системе используя директивы setgid/setud)

mkdir /var/log/3proxy ; chown nobody /var/log/3proxy
Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты

Заметили ошибку?

Выделите ее и нажмите CTRL+ENTER