1. Уважаемые гости и участники форума, в целях безопаности и защиты от спама, почтовые сервисы принадлежащие компании mail.ru были внесены в черный список.
    Исходя их ситуации, просим Вас не использовать данные почтовые адреса при регистрации на нашем форуме.
    Скрыть объявление

Сборка и установка 3Proxy на DEBIAN

Тема в разделе "Мои IT заметки", создана пользователем BaT, 1 сен 2016.

  1. BaT

    BaT Просто - добрый

    Сообщения:
    1.199
    Симпатии:
    284
    Данный ман по проксе от Заразы не идеален, но хорошо описан в плане конфига. Как наглядное пособие - самое то.
    Стоит учесть, что процессы сборки есессно, для Юниксов, а общий конфиг подходит и под виндосерверы.

    3PROXY (или ЗаразаПрокси) - маленький, очень простой в настройке HTTP, FTP, SOCKS, POP прокси. Данный прокси сервер будет хорош для маленьких и средних предприятий а так же (что по моему самое главное) для начинающих админов.
    По своему опыту знаю, как начинающие админы пугаются огромного количества настроек штатного Squid и иже с ним, и начинают заваливать глупыми вопросам типа “ а что будет если я пропишу вот-так или так”, хотя (опять же мое мнение) если почитать маны и поразбираться пару дней – проще squid не очень много програм.
    И так начнем.
    Код:
    #cd /usr/ports/net/3proxy/
    
    # make install clean
    обственно с установкой покончено.
    Пишем свой конфиг для прокси.Предположим у нас внешний IP в интернет 85.85.85.85,
    Внутренний в локальную сеть 192.168.1.1 и 192.168.5.1, а DNS 192.168.1.2 и 85.85.85.1
    (пишу по 2 IP для наглядности).Все прокси будут осбслуживать ТОЛЬКО IP из локальных сетей.
    # ee /usr/local/etc/3proxy.cfg

    Код:
    #-------------3proxy.cfg-------------
    # ВНИМАНИЕ !! не должны быть пробелов
    # перед любыми опциями конфигурации !!
    # ip адрес DNS сервера провайдера или локального
    nserver 192.168.1.2
    nserver 85.85.85.1
    timeouts 1 5 30 60 180 1800 15 60
    # лог файл со списком запросов пользователей
    # будет создаваться каждый день новый
    # D – день H – час W - неделя
    log /var/log/3proxy/3proxy.log D
    #Зададим формат лог файла (люблю красоту :)
    logformat "G%d-%m-%Y %H:%M:%S | %U | %C | %R:%r | %O    | %I    |%n"
    #И добавляем команду rotate для хранения лишь последних 7 файлов с логами
    rotate 7
    #ну и сожмем по желанию
    #archiver "/usr/bin/gzip" gzip -9 %F
    # внешний интерфейс (через который будут уходить запросы от сервера)
    external 85.85.85.85
    # ip адрес (а) интерфейсов на которых будут приниматься запросы от клиентов
    internal 192.168.1.1,192.168.5.1
    # устанавливаем тип авторизации по IP
    flush
    auth iponly
    #Для всей сетки  с понедельника-пятницу с 8:30-18:00
    allow * 192.168.1.0/24 * * * 1-5 08:30:00-18:00:00
    #для отдельных IP с понедельника-субботу с 9:00-17:30
    allow * 192.168.5.234,192.168.5.235 * * * 1-6 09:00:00-17:30:00
    proxy
    ftppr
    socks
    
    # ограничиваем толшину канала для каждого пользователя по IP bps
    # (тоже неплохо иногда)
    #bandlimin 24000 * 192.168.1.81,192.168.1.55,192.168.5.235
    
    # запускаем сервер от пользователя nobody
    # (если в вашей ОС uid и gid пользователя nobody
    # будут другими для их определения воспользуйтесь коммандой id nobody)
    setgid 65534
    setuid 65534
    # будем собирать статистику по трафику некоторых IP
    counter "/var/log/3proxy/3proxy.3cf" D "/var/log/3proxy/traf"
    countin "1/Иванов" M 300 * 192.168.1.246 * * *
    countin "2/Петрова" M 300 * 192.168.5.235 * * *
    # и наконец последнее!!! В случае изменения настроек, сервер перегружать не нужно,
    #он сам мониторит изменения
    #monitor "/usr/local/etc/3proxy.users"
    monitor "/usr/local/etc/3proxy.cfg"
    # ну и для примера перенаправим запросы на sex.ru на yandex.ru
    nsrecord sex.ru weather.yandex.ru
    обственно все.
    Cоздаем директорию
    Код:
    #mkdir /var/log/3proxy
    #chown 65534:65534 /var/log/3proxy
    Добавляем в rc.conf
    Код:
    #echo 'threeproxy_enable="YES"' >> /etc/rc.conf
    Рихтуем скрипт запуска (ну не умеют еще разработчики доводить все до ума!)
    Код:
    # ee /usr/local/etc/rc.d/3proxy
    Ищем строку start_cmd="echo \"Starting ${name}.\";  ${command} ${threeproxy_flags}"
    И меняем на start_cmd="echo \"Starting ${name}.\";  ${command} ${threeproxy_flags} &"
    Запускаем
    Код:
    #/usr/local/etc/rc.d/3proxy start
    Ну и начинаем тренировать свой английский читая маны.
    На последок : прокси неплохой,работает стабильно,имеет множество дополнительных функций (если будет кому-то интересно могу дописать их) например : авторизация по логину,админка, логи в форматах для различных анализаторов логов , логи с хранением в БД (к сожалению только через ODBC работает), POP через прокси и т.д.
     
  2. adswerq

    adswerq Пользователь

    Сообщения:
    113
    Симпатии:
    38
    Бат,а почему команда для установке пакета (первая в твоей инструкции) от фряхи?Отредактировал бы,под аптитуд....
     
  3. BaT

    BaT Просто - добрый

    Сообщения:
    1.199
    Симпатии:
    284
    @adswerq, а я так собирал. И собралось ведь...
     
  4. Пропащий

    Пропащий Пользователь

    Сообщения:
    29
    Симпатии:
    7
    нашёл один мануал по которому когда то собирал 3proxy :)
     

    Вложения:

  5. frost

    frost Пользователь

    Сообщения:
    16
    Симпатии:
    5
    Адрес:
    г Чернобыль
    Хорошая штука жаль socks на ТТ не пашет а так работает как машина хоть и бывают ошибки:)
     
  6. adswerq

    adswerq Пользователь

    Сообщения:
    113
    Симпатии:
    38
    Бат,а вот интересно,на рессивер опенбокс реально впн прикрутить?Или только прокся?
     
  7. YHM

    YHM Пользователь

    Сообщения:
    15
    Симпатии:
    4
    Не разбираюсь в никсах, нужна помощь в создание конфига.
    Имеется вдс на ос Ubuntu-14.04-amd64, настроил по ману из 4го поста. Но с моим конфигом никак не хочет работать.
    Ограничение и т.д. не надо, один единственный момент, что бы пропускал по айпи адресу. Спасибо заранее.

    Думаю там проблема тока в ip адресах, internal и external.
     
    Последнее редактирование: 27 ноя 2016
  8. BaT

    BaT Просто - добрый

    Сообщения:
    1.199
    Симпатии:
    284
    @YHM, вот на вскидку конфиг без ограничений:
    Код:
    daemon
    pidfile /usr/local/3proxy/3proxy.pid
    #log
    nserver 8.8.8.8
    nscache 65536
    timeouts 1 5 30 60 180 1800 15 60
    
    users ЛОГИН:CL:ПАРОЛЬ
    
    external ТУТ ВНЕШНИЙ БЕЛЫЙ АДРЕС ВПСКИ
    
    flush
    # если нужна авторизация, раскоментируй сл. две строки, а auth none и allow * * * * удали или закомментируй.
    #auth strong
    #allow admin * * *
    auth none
    allow * * * *
    
    # starting HTTP proxy on port 3128 with disabled NTLM auth ( -n )
    #proxy -a -p7480 -n
    
    # starting SOCKS proxy on port 1080
    socks -a -p7481 -n
    
    monitor "/usr/local/3proxy/3proxy.cfg"
    Для ограничения доступа по IP гораздо разумнее использовать IPTABLES. Если для тебя это сложно, установи UWF. Там всё проще простого.
    Например, чтобы дать доступ с ip 217.174.227.102 на порт 7480
    пишем
    Код:
    ufw allow from 217.174.227.102 to any port 7480
    Главное перд запуском UFW не забудь себе доступ сделать. А то он тебе SSH отрежет.

    @adswerq, зависит от дистрибутива и сборки ядра на девайсе.
     
  9. YHM

    YHM Пользователь

    Сообщения:
    15
    Симпатии:
    4
    @BaT, вот конфиг, но что то мне подсказывает что с айпи что то не то.
    Код:
    daemon
    
    pidfile /home/YHM/3proxy/3proxy.pid
    
    internal 0.0.0.0
    external 0.0.0.0
    
    nserver 188.120.247.2
    
    nscache 65536
    timeouts 1 5 30 60 180 1800 15 60
    
    log /home/YHM/3proxy/logs/3proxy.log D
    logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
    rotate 5
    
    flush
    auth iponly
    allow * 95.47.57.15 * * *
    
    #ftppr -p3127
    proxy -pxxxx
    socks -pxxxx
    admin -pxxxx
    
    вроде все работает, но правильно ли все хз ). На экстернел писал адрес впски, что не дал работать, пока не поставил нули.
     
  10. BaT

    BaT Просто - добрый

    Сообщения:
    1.199
    Симпатии:
    284
    internal убери потому что. зачем он тебе нужен. у тебя одна сетевуха.
    лог тоже...если не куча юзеров, нафиг плодить логи.

    в серверам сокса и прокси длобавь ключ -a

    в остальном всё окей у тебя.

    поставив на external 0.0.0.0 ты разрешил обращаться на твоё сервер по всем его досиупным адресам.
     
  11. YHM

    YHM Пользователь

    Сообщения:
    15
    Симпатии:
    4
    Не подскажешь что это дает?
     
  12. BaT

    BaT Просто - добрый

    Сообщения:
    1.199
    Симпатии:
    284
    @YHM, что то связанное с анонимностью. Точно не помню уже, лень ман курить ща.
     
  13. Пропащий

    Пропащий Пользователь

    Сообщения:
    29
    Симпатии:
    7
    чтобы сделать его анонимным вроде нужно просто прописать "#define ANONYMOUS 1" в proxy.h перед компиляцией
     
  14. ya.dwer1

    ya.dwer1 Пользователь

    Сообщения:
    22
    Симпатии:
    4
    вот так делал на сент ос
    Код:
    yum install mc
    yum install gcc
    yum install wget
    wget http://3proxy.ru/0.6.1/3proxy-0.6.1.tgz
    http://3proxy.ru/0.8.6/3proxy-0.8.6.tgz
    tar -xvzf 3proxy-0.6.1.tgz
    cd 3proxy-0.6.1
    make -f Makefile.Linux
    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
    chkconfig 3proxy on
    touch /usr/local/etc/3proxy/3proxy.cfg
    chown -R nobody:nogroup /usr/local/etc/3proxy
    cd /usr/local/etc/3proxy
    
    конфиг
    Код:
    daemon
    auth strong
    users admin:CL:pass
    socks -p3129
    flush
    allow admin
    
    логин admin
    пасс pass