Как развернуть 3proxy на Ubuntu 18.04

Posted by

В виду факта работы «Роскомнадзора» на территории Российской Федерации в сфере связи, информационных технологий и массовых коммуникаций все делается чтобы Мы обычные системные администраторы и пользователи испытывали трудности в получении информации: Привет torrent популярного ресурса где я черпал книги и журналы для расширения своего кругозора и самообучения. Я же задался вопрос, как вернуть в целях только самообразования доступ к заблокируемому — и выходом из этой ситуации с блокировками стал сервис именуемый, как 3proxy. С его помощью я получил то что как я думал ранее было для меня потерянным. И об его разворачивании на своем подконтрольном сервисе и пойдет речь в данной заметке, все действия ниже были и проделаны и успешно работают на Ubuntu 18.04 Server amd64

Socks сервис на Ubuntu Trusty

Цель: Настроить прокси для захода на определенный хост через определенный браузер.

Все действия будут проделываться на Ubuntu 18.04 Server amd64

Читаем файл README и в нем указаны шаги по инсталляции:

Проверяю, в какой место установилось приложение 3proxy:

Отлично, ничего переносить никуда не нужно, как я видел во многих руководствах.

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

После не забываем сохранить внесенные изменения.

Строка logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" расшифровывается, как:

  • _L — локальное время
  • %t — Timstamp (in seconds since 01-Jan-1970)
  • %. — milliseconds
  • %N — service Name
  • %p — service Port
  • %E — Error code
  • %U — Username
  • %C — Client IP
  • %c — Client port
  • %R — Remote IP
  • %r — Remote port
  • %O — bytes Out
  • %I — bytes In
  • %h — Hops (redirections) count

Если тестирование прошло успешно, можно остановить демон и создать сервис SystemD для автоматического запуска при старте сервера:

Файл описания сервиса:

На заметку: Не указывать путь до 3proxy вида: /opt/3proxy/bin/3proxy

Активируем автозапуск и запускаем:

На заметку: Если после активации сервиса вносите в файл конфигурации изменения то нужно сделать:

Проверяю от имени кого запущен сервис 3proxy:

Все правильно, от созданной учетной записи 3proxy.

Теперь можно взять запустить браузер и прописать настройки на использование socks сервиса:

Win — Firefox (на Ubuntu 18.04 Desktop amd64 version: 64.0 (64-бит) — Открыть меню — Настройки — Основные — (Параметры сети) Настроить… — отмечаю «Ручная настройка прокси» и прописываю:

  • Узел SOCKS: 172.33.33.25
  • Порт 1080
  • отмечаю использование SOCKS 5

и нажимаю OK

Далее пробую открыть какой-либо сайт, к примеру http://www.ekzorchik.ru и получаю его содержимое.

Если посмотреть на логи:

то в них видно обращение браузера к URL строке.

Дополнения к заметке.

Задача: Чтобы ограничить доступ к 3proxyсерверу по IPадресу:

Задача: Добавить аутентификацию к использованию 3proxy сервиса:

Проверяю, к примеру на Firefox, ранее я указал только IP:PORT при запуске браузера получаю уведомление, что я должен войти в эту сеть перед тем как получу доступ в интернет → нажимаю «Открыть страницу входа в сеть»

Уведомление, что я должен войти в сеть прежде чем получу доступ

вот только нет ни какой страницы входа, меня перекинуло на

Ошибка указания HTTP прокси вместо Socks

что это? Это у меня в настройки прокси сервера была указан HTTP прокси.

К примеру настройки работы через socks5 для OwnCloud Client

Настройки Socks для OwnCloud Client

 

Создавая файлы на хранилище в логах 3proxy получаю обращения:

значит все работает.

Задача: Ограничить доступ к 3proxy определенному списку IP адресов. Читаю man 3proxy.cfg и там есть синтаксис вида:

allow <userlist> <sourcelist> <targetlist> <targetportlist> <opera‐

tionlist> <weekdayslist> <timeperiodslist>

Задача: Ограничить доступ к 3proxy определенному списку IP адресов и аутентификационных данных. Читаю man 3proxy.cfg или на официальном сайте справку на русском (https://3proxy.ru/howtor.asp)

Ответ да, я смог подключиться через OwnCloud клиент только тогда когда у меня IP адрес 172.33.33.7

Задача выполнена.

Задача: Поднять два прокси сервиса на одной системе. Один порт 3128 только для определенных IP и связки логин+pass + все ресурсы, другой порт 3129 только для определенных IP и связки логин+пасс + действует правило запрета хождения на определенные ресурсы. См. Примеры:ekzorchik@srv-bionic:~$ sudo nano /opt/3proxy/cfg/3proxy.cfg.sample

Файл deny.txt с перечнем ресурсов: ya.ru

Проверим, если для порта 3129 закомментируем параметр users и проверим на примере браузера: (это ниже работает, доступ только с адреса в файле)

Проверим, если для порта 3128 — OwnCloud Client успешно подключился.

На заметку: Порядок в конфигурационном файле настроек очень важен:

flush

auth

deny

allow

tcppm

socks

Вывод: Получаем я могу где-либо поднять свой собственный socks сервис с доступом по логин и паролю и использовать его к примеру в Telegram если так не заходит. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.