3proxy windows server 2012

3proxy windows server 2012

Bugfixes:
Fixed: systemd description file (proxy may fail to start after reboot or via systemctl)
Fixed: group/account creation in installation scripts
Fixed: countall/nocounall do not work in some configurations
Fixed: counters do not work if counter file is not specified
Fixed: counters without rotation (type N) are incorrectly shown in web admin interface
Fixed: %n may be incomplete or missed in long log records
Fixed: connect back functionality does not work

Improvements:
+ Docker builds

Bugfixes:
Fixed: bandwidth limiters (once again)
Fixed: data filtering plugins (PCREPlugin, SSLPlugin). SSLPlugin use on Linux requires to disable splice (-s0)
FIxed: standalone proxies do not react on HUP (Ctrl+C) in Linux/Unix
Fixed: few minor bugs

Improvements:
+ deb for arm platforms (experimental)
+ Openssl 1.1 support for SSLPlugin

Пофикшены ошибки:
Fixed: сокет может быть закрыт до чтения/отравки всех данных
Fixed: не работает bandlimin
Fixed: пофикшена работа countall/nocountall
Fixed: устранено несколько race conditions

В версии 0.9 реализованы опции сокетов, в т.ч. привязка к интерфейсам в Linux/Unix, ограничения по соединениям и рейтлимитам соединений, реализован режим zero-copy под Linux, возможность запретить одновременный вход пользователем с нескольких IP, улучшена поддержка IPv6, реализована предварительная поддержка RADIUS, поддержана платформа ARM на Windows. Ветка 0.9 рекомендована для обновления всех более старых релизов.

Ветка 0.9 считается стабильной, разработка ведется в ветке 10. Ветка 0.8 больше не поддерживается, за исключением исправлений, связанных с безопасностью.

3proxy это маленький многоплатформный набор прокси-серверов (под Linux/Unix и Windows, включая 64-битные версии).

Он включает в себя HTTP прокси с поддержкой HTTPS и FTP (proxy/proxy.exe), SOCKSv4/SOCKSv4.5/SOCKSv5 прокси (socks/socks.exe), POP3 прокси (pop3p/pop3p.exe), SMTP прокси (smtpp/smtpp.exe), AIM/ICQ прокси (icqpr/icqpr.exe), MSN messenger / Live messenger proxy (msnpr/msnpr.exe), FTP proxy, кэширующий DNS прокси, TCP и UDP портмапперы (tcppm, udppm) а так же комбинированный прокси-сервер с поддержкой дополнительных возможностей, таких как управление доступом, ограничение ширины потребляемого канала, ограничение трафика на день, неделю и месяц, перенаправление соединений, построение цепочек соединений (proxy chaining), ротацию лог-файлов, ведение журналов через ODBC и syslog и т.д. (3proxy).

Он создан в рассчете на то, чтобы быть маленьким и простым и в то же время функциональным. Он может быть скомпилирован как с помощью Visual C так и с помощью gcc. Версия под Win32/Win64 использует родные библиотеки (т.е. не требуется Cygwin или другие POSIX-эмуляторы), поддерживается установка в качестве сервиса. На сегодняшний день работоспособность проверена на Windows начиная с 98 (для Windows до Vista требуется версия lite) и заканчивая последними версиями, FreeBSD/i386/x64, NetBSD/i386/x64, OpenBSD/i386/x64, Linux/i386/x64/arm/PPC/Alpha, Mac OS X, Solaris/i386/x64.

3proxy является FreeWare и может быть использован по лицензии GNU/GPL или под собственной лицензией. Начиная с версии 0.6 Используется лицензия типа BSD, позволяющая, так же, использовать LGPL, Apache License и многие другие совместимые типы лицензирования.

По вопросам лицензирования и коммерческой поддержки пишите [email protected]

Источник

Настройка 3proxy для чайников

Пара ремарок перед началом чтения:

Что это вообще такое?

Проще некуда

Для затравки, если уж «для чайников», да простят меня читатели, то вот простой конфиг 3proxy.cfg:

auth none
log
proxy

Куда уж проще. Вообще, 3proxy хорош тем, что он может быть и очень простым и лаконичным. Да и запуск его не сложен вовсе.

Скачали с сайта архив, распаковали в c:\3proxy, создали тектовый файл 3proxy.cfg и положили его в папку с exe-файлом, запустили cmd:

Все, ничего не устанавливая, мы запустили proxy сервер, который принимает соединения на порт 3128. Можно прописать даже у себя в браузере, 127.0.0.1 3128 и все уже начинает работать, вы сразу увидите, как в консоли побегут строчки лога.

Оригинал с правками

Автор статьи: Kurmaeff Halit
halit_at_mail_dot_ru

auth none
log
proxy

Все гениальное, как говорится, просто. А моя ошибка заключалась, кстати, как раз в том, что я пытался сразу написать рабочий конфиг со всеми лимитами и т.д.

Важно! Конфиг файл в общем случае должен находиться в одной папке с исполняемым файлом 3proxy.exe (по умолчанию в папке bin). Иначе надо запускать исполняемый файл с указанием пути к конфигу. В 90% случаях этот конфиг будет работать. Выше мы уже прокомментировали этот конфиг.

В начале конфига можно было бы еще поставить строчку service, для того, чтобы сервер запускался как служба, а не отдельным приложением. В этом случае его надо будет предварительно установить как службу командой:

Но не спешите этого делать! Дело в том, что будучи запущен приложением, 3proxy будет сразу выдавать на экран сообщения об обрабатываемых запросах и ошибках и вам не придется смотреть текстовые логи. Причем, что особенно радует, с указанием кода ошибки и номера строки в конфиге, где эта ошибка присутствует. А на стадии обучения это очень помогает.

Техническое задание

На компьютере с адресами 192.168.0.2-192.168.0.4 работают пользователи Иванов, Петров, Сидоров соответственно.

Установка 3proxy

Конфиг

Теперь последовательно займемся дальнейшим улучшением нашего замечательного конфига.

Для начала укажем внутренний:

— вы ведь понимаете, что здесь должен стоять IP сетевой карты ВАШЕГО прокси сервера, настроенной на локальную сеть. Эта команда задает именно тот IP адрес в локальной сети, к которому будут обращаться клиенты и который, соответственно, будет прописан в браузерах в качестве прокси-сервера

и внешний интерфейсы для прокси-сервера:

— а этот IP адрес вы должны были получить от провайдера, как правило, в случае выделенной линии это так называемый «реальный» IP, который должен быть доступен из интернета (хотя это не обязательно).

internal 192.168.0.1
external 211.80.11.12
proxy

где вместо 65536 может быть любое, желательно представляющее степень числа 2 и достаточно большое. Итак, на данном этапе наш конфиг выглядит следующим образом (версия 1):

Кажется, нам еще не хватает полноценного логирования всех доступов и ошибок, ведь на экране лог очень быстро пролетает! Поменяем команду log на более расширенную

для того, чтобы в папке с логами сохранялись лишь последние 30 файлов, а то логи так быстро растут, а диск не резиновый!

В этом случае логи примут вид:

Ну и наконец, если вы хотите еще больше сэкономить места на диске под логи, то их можно архивировать с помощью любого доступного архиватора, например, вот так:

(подсказку для опций командной строки WinRAR можно найти в его же Help’е)

Можно собирать продвинутую версию (версия 2) нашего конфига:

Все лучше и лучше! Продолжаем. Подумаем о том, что пользователей много, а канал, может, и не очень толстый, хорошо, если хотя бы 128 кб, а если диалап на 33.6? Начинаем резать, товарищи!

— разрешаем качать компьютерам с IP-адресами 192.168.0.2 и 192.168.0.3 со скоростью 24 кбит в секунду, причем это 24 кбит приходятся не на каждый из этих компьютеров, а на оба в совокупности, т.е. если оба будут к примеру, качать одновременно файлы с достаточно быстрых сайтов, то каждому придется только по 12 кбит в секунду (заметьте, килобит, а не килобайт, если надо пересчитать в килобайты, разделите числа на 8)

— а этому счастливчику единолично скорость 48 кбит в секунду

— исходящую скорость тоже ограничим всем до 24 килобит в секунду (сейчас эта команда работает только в версии devel 0.6) Ну и наконец, если вы хотите, чтобы эти жесткие ограничения не касались, к примеру, скачивания почты, то снимите ограничения на порт 110:

Скорости скачивания-закачивания мы уже задали, продолжаем закручивать гайки. В этом нам помогут команды deny и allow

Читайте также:  Windows 10 запретить выключение компьютера пользователям

— а здесь разрешаем только WEB-серфинг, зато круглосуточно и любой день недели

Кстати вспоминаем (вы ведь уже медитировали над man, FAQ и HowTO, не правда ли?), что команда

собственно никакую авторизацию не дает, т.к. отключает любую авторизацию совсем и команды allow и deny после нее теряют всякий смысл. Пора перейти на что-нибудь более подходящее, в нашем случае это авторизация по IP:

Снова собираем очередную версию конфига с учетом вышенаписанного (версия 3):

— этим мы задаем, где у нас будет хранить общий файл хранения всех всех счетчиков. Он представляет собой файл в двоичном формате, причем он всегда один на всех.

Эту команду можно было бы задать в формате

Снова собираем очередную версию конфига с учетом вышенаписанного (версия 4):

В этом случае надо будет настроить ваши мэйл-клиенты. Если, к примеру, для ящика vasya.pupkin@mail.ru в настройках моего любимого TheBat! в настройках доставки почты (закладка Транспорт) раньше стояли такие параметры:

pop3-сервер: pop.mail.ru
пользователь: vasya.pupkin

то чтобы получать почту через прокси, надо будет их поменять на следующие:

pop3-сервер: 192.168.0.1
пользователь: vasya.pupkin@pop.mail.ru

— внимание, именно последовательность «имя пользователя»@»POP3-сервер вашего ящика», а не ваш адрес.

Для большей наглядности рассмотрим еще вариант настройки клиента:

pop3-сервер: mail.example.com
пользователь: vasya.pupkin@example.com

Тогда для получения почты через прокси пришлось бы поменять настройки клиента на следующие:

pop3-сервер: 192.168.0.1
пользователь: vasya.pupkin@example.com@mail.example.com

Что же касается отправки почты, то разработчик нашего замечательного прокси-сервера рекомендует воспользоваться для этого портмаппингом:

то есть, не мудрствуя лукаво, мы просто все запросы по порту 25, по которому, собственно, и отправляются почтовые сообщения, перекидываем на 25-ый же порт почтового сервера провайдера.

В настройках вашего почтового клиента в этом случае для упомянутого выше ящика в общем случае поменяется запись только для SMTP-сервера:

Должен заметить, что ловкий прием с портмаппингом можно было бы использовать и для получения почты. В этом случае используется команда:

Впрочем, вряд ли их число даже в большом офисе превысит 10-15.

В этом случае параметры ящика в мэйл-клиенте будут следующие:

pop3-сервер: 192.168.0.1
пользователь: vasya.pupkin

и дополнительно надо будет поменять порт на 2110 и не забыть дать пользователям разрешение на этот нестандартный порт:

Собираем очередную версию конфига с получением почты через pop3p (версия 5):

в случае получения почты через портмаппинг секция конфига, идущая после коментария # ПОЧТА выглядела бы немного по другому:

может быть заменена командой

Тогда мы можем задать слежение и за списком адресов из файла IP_list.txt

Осталось привести получившийся рабочий вариант конфига (версия 6):

Теперь при попытке доступа на страницу WEB-администрирования с компьютера Сидорова будет запрашиваться пароль, а на других компьютера доступ будет полностью закрыт. Если же третья строчка в приведенной выше секции конфига будет выглядеть так:

Согласитесь, что так конфиг намного информативнее и легче в восприятии.

Необходимое послесловие

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

Источник

3proxy windows server 2012

Извлеките файлы из архива 3proxy.tgz (например, с помощью WinZip). Используйте команду nmake /f Makefile.msvc.

См. Как скомпилировать 3proxy Visual C++. Используйте Makefile.intl вместо Makefile.msvc

Установка в качестве системной службы под Windows 9x поддерживается с версии 0.5

Извлеките файлы из архива 3proxy.zip в любой каталог (например, c:\Program Files\3proxy). Если необходимо, создайте каталог для хранения файлов журналов. Создайте файл конфигурации 3proxy.cfg в каталоге 3proxy (См. раздел Конфигурация сервера). В файле конфигурации удалите строку и добавьте строку Создайте ярлык для 3proxy.exe и поместите его в автозагрузку либо с помощью редактора реестра regedit.exe добавьте в разделе
HKLM\Software\Microsoft\Windows\CurrentVersion\Run строковый параметр
3proxy = «c:\Program Files\3proxy.exe» «C:\Program Files\3proxy.cfg»
Использование кавычек при наличии в пути пробела обязательно. Перезагрузитесь. Если сервер не запускается, проверьте содержимое файла журнала, попробуйте удалить строку daemon из 3proxy.cfg, запустить 3proxy.exe вручную и проанализировать сообщения об ошибках.

Скомпилируйте 3proxy (см. раздел Компиляция). Скопируйте исполняемые файлы в подходящий каталог (например, /usr/local/3proxy/sbin для серверных приложений или /usr/local/3proxy/bin для клиентских утилит). Создайте файл /usr/local/etc/3proxy.cfg. (См. раздел Конфигурация сервера). Изменить расположение файла конфигурации можно, задав параметр при вызове 3proxy или изменив путь в файле 3proxy.c до компиляции. Добавьте вызов 3proxy в скрипты начальной инициализации.

Для работы требуется корректный файл конфигурации. Если прокси не запускается, значит в конфигурации есть ошибка.

Интерфейс с адресом external, если он указан, должен быть рабочим на момент получения запроса клиента. При отсутствии external или адресе 0.0.0.0 внешний адрес будет выбираться системой при установке соединения. При этом, может быть возможность доступа через прокси к ресурсам локальной сети, поэтому для предотвращения несанкционированного доступа следует использовать ACL. Кроме того, могут быть проблемы с приемом входящих соединений через SOCKSv5 (SOCKSv5 используется в клиентах исключительно редко). В случае, если адрес динамический, можно либо не указывать external, либо использовать адрес 0.0.0.0, либо, если необходима поддержка входящих соединений в SOCKSv5, использовать скрипт, который будет получать текущий адрес и сохранять его в файл, который будет отслуживаться через команду monitor.

Прокси не может обращаться напрямую к IPv6 сети если в запросе от клиента указан IPv4. В запросе от клиента должен быть IPv6 адрес или имя хоста, чаще всего это решается включением опции разрешения имен через прокси-сервер на стороне клиента.

Возможно, недостаточен размер стека потока по-умолчанию, это может быть при использовани каких-либо сторонних плагинов (PAM, ODBC) или на некоторых платформах (некоторые версии FreeBSD на amd64). Можно решить проблему с помощью опции ‘stacksize’ или ‘-S’, поддерживаемых в 0.8.4 и выше.

Пример файла конфигурации 3proxy.cfg.sample поставляется с любым дистрибутивом программы.

A: Для этого надо использовать тип родительского прокси http, connect+, socks4+ и socks5+. Однако, при это надо помнить, что самому 3proxy требуется разрешение имени для управления ACL. Поэтому, если с прокси-хоста не работают разрешения имени, необходимо в конфигурации дать команду которая разрешает любое имя в адрес 127.0.0.2.

Есть поддержка как FTP через HTTP (то, что называется FTP прокси в браузерах) так и настоящего FTP прокси (то, что называется FTP proxy в командных оболочках и FTP клиентах). В браузерах в качестве FTP прокси следует прописывать порт службы proxy, т.е. FTP организован через http прокси, дополнительного прокси поднимать не надо. Для FTP-клиентов необходимо поднять ftppr. FTP прокси всегда работает с FTP сервером в пассивном режиме.

Для разных служб можно установить различные типы авторизации, например, не накладывает ограничений на использование POP3 Proxy, производит проверку по спискам доступа для пользователей HTTP Proxy и требует авторизации с именем и паролем для SOCKS.

С версии 0.6 возможно использвоать двойную авторизацию, например, будет использовать авторизацию только в том случае, если не удалось пропустить пользователя с авторизаций iponly, т.е. для доступа к ресурсам 192.168.0.0/16 авторизация не требуется.

authcache так же может использоваться для привязки сессий пользователя к ip с с помощью опции limit запретит пользователю использовать более одного адреса в течении времени кеширования.

A: Чтобы иметь в логах URL запросов, если пользователь SOCKS пользуется Web, FTP или POP3.

A: Перенапраление невозможно для web-серверов или FTP, висящих на нестандартных портах, для SOCKSv4 не поддрживается авторизация с паролем (IE поддерживает только SOCKSv4), но при этом IE передает имя пользователя по SOCKSv4 (имя, с которым пользователь вошел в систему). Для SOCKSv5 не поддерживается NTLM авторизация, пароли передаются в открытом тексте.

A: Достаточно в настройках IE только указать адрес SOCKS прокси. В больших сетях можно для этого использовать WPAD (автоматическое обнаружение прокси). В 3proxy достаточно запускать только одну службу (socks). Если используется только Internet Explorer, то можно автоматически получать имя пользователя в логах, не запрашивая логин/пароль.

A: Указывается parent http proxy со специальным адресом 0.0.0.0 и портом 0. Пример:

A: После внутреннего перенаправления правила рассматриваются еще раз за исключением самого правила с перенаправлением (т.е. обработка правил не прекращается). Это позволяет сделать дальнейшие перенаправления на внешний прокси. По этой же причине локальное перенаправление не должно быть последним правилом (т.е. должно быть еще хотя бы правило allow, чтобы разрешить внешние соединения через HTTP прокси). Например,

Читайте также:  Check for disk errors windows

bitrate указывает ширину потока в битах в секунду (именно в битах). В остальном команды аналогичны командам allow/deny с тем отличием, что команды bandlim не имеют привязки к конкретному сервису, такому как HTTP прокси или SOCKS и действуют на все сервисы, трафик по всем соединениям, попавшим под действие правила суммируется независимо от того, через какой сервис это соединение установлено. устанавалиет канал 57600 для каждого из четырех клиентов, устанавалиает суммарный канал 57600 на 4-х клиентов. Если необходимо, чтобы на какой-то сервис не было ограничения ширины канала, следует указать nobandlim для этого сервиса, например: разрешает клиентам неограниченный по скорости доступ по протоколу POP3.

Следует учитывать, что 3proxy считает трафик только на прикладном уровне и только проходящий через прокси-сервер. Провайдеры и другие средства учета трафика считают трафик на сетевом уровне, что уже дает расхождение порядка 10% за счет информации из заголовков пакетов. Кроме того, часть трафика, как минимум DNS-разрешения, различный флудовый трафик и т.д. идут мимо прокси. Уровень «шумового» трафика в Internet сейчас составляет порядка 50KB/день на каждый реальный IP адрес, но может сильно варьироваться в зависимости от сети, наличия открытых портов, реакции на ping-запросы и текущего уровня вирусной активности. По этим причинам, если 3proxy используется чтобы не «выжрать» трафик, выделенный провайдером, всегда следует делать некий запас порядка 15%.

Например, пользователю нужен доступ к прокси-серверу, который расположен на хосте 192.168.1.2 недоступном из внешней сети, но имеющем доступ во внешнюю сеть с внешним адрес 1.1.1.1. Так же у него есть машина с именем host.dyndns.example.org с внешним адресом 2.2.2.2. Пользователь запускает 2 экземпляра 3proxy, один на хосте 192.168.1.2 с конфигурацией второй на хосте host.dyndns.example.org (2.2.2.2) с конфигурацией В настройках браузера указывается host.dyndns.example.org:3128.

Мы будем рассматривать Interenet Explorer, т.к. у него больше особенностей настройки, с другими браузерами должно возникать меньше вопросов.

Для конфигурации HTTP прокси необходимо указать внутренний адрес и порт, установленые для службы proxy в конфигурации 3proxy (либо как «Один прокси-сервер для всех протоколов» либо для HTTP, Secure, FTP). Поддержка Gopher в 3proxy в настоящий момент не реализована, но этот устаревший протокол в Internet практически не используется. Для нормальной работы FTP через HTTP прокси необходимо отключить представление для папок FTP (FTP folder view), он включен по-умолчанию, т.к. иначе FTP будет работать без использвания HTTP прокси. HTTP прокси использует пассивный режим для протокола FTP. В настройках 3proxy рекомендуется разрешть метод HTTP_CONNECT только для порта назначения 443. Если метод HTTP_CONNECT не разрешен, то не будет работать протокол HTTPS, если он разрешен для всех портов, то можно обойти журналирование запросов для протокола HTTP). Для работы с HTTP прокси может использоваться авторизация по паролю (strong).

Настройка FTP клиента для работы через SOCKS прокси не отличается от настройки браузера.

Для работы с FTP клиентом через FTP прокси (ftppr) есть несколько возможностей. Допустим, нам необходимо подключиться ко внешнему FTP серверу со следующими параметрами:

Не все клиенты обработают это корректно, но в большинстве случаев этого не требуется.

Предположим, у вас есть следующие настройки для получения почты: В настройках почтовой программы следует указать:

Имя пользователя может само по себе содержать знак ‘@’. Если в примере выше имя пользователя [email protected], то имя пользвоателя для доступа к прокси-серверу должно быть [email protected]@pop3.security.nnov.ru. Если pop3pr требует авторизации по имени/паролю (например, pruser и prpass), то их необходимо указать в начале имени пользователя, отделив знаком ‘:’, т.е для самого тяжелого случая pruser:prpass:[email protected]@pop3.security.nnov.ru

Свежую версию всегда можно взять здесь. Обратите внимание, что в новой версии может измениться порядок лицензирования или команды конфигурации, поэтому прежде чем устанавливать новую версии программы обязательно ознакомьтесь с документацией.

При установке 3proxy в качестве системной службы сервером поддерживаются команды запуска, остановки, временной приостановки и продолжения. При временной приостановке сервер перестает принимать новые запросы от клиентов, но обработка ранее поступивших запросов продолжается. Сервер не подерживает динамическое изменение конфигурации, т.е. после изменения конфигурации 3proxy необходимо перезапустить. Управлять запуском, остановкой, приостановкой и продолжением можно либо через служебную программу «Службы» (Services) либо через команду net:

Задайте его на Github. Только не пытайтесь задавать какие-либо вопросы, если вы просто не поняли этот HowTo.

Источник

Как быстро настроить прокси 3proxy на своем сервере на FreeBSD?

В этой статье рассмотрим, как быстро поднять свой собственный прокси-сервер.

Proxy позволяет перенаправлять трафик с вашего компьютера на сервер. Например, вы хотите открыть некий сайт через прокси. Тогда ваш компьютер обращается к прокси, прокси подключается к сайту, получает его содержимое и перенаправляет его на ваш компьютер. Таким образом, сайт видит внешний IP прокси-сервера, а не вашего компьютера, а если сайт заблокирован, например, Роскомнадзором или президентом Украины, то можно сделать прокси-сервер в другой стране, в которой нужные вам ресурсы не заблокированы, и тем самым получить к ним доступ в обход блокировок. Главное, чтобы из вашей страны не был заблокирован сам прокси-сервер.

Также вы сможете настроить, например, Telegram на работу через свой собственный прокси, который не будет периодически умирать, как большинство бесплатных прокси. Некоторые люди используют прокси для обхода региональных ограничений на покупку музыки или игр или для получения более низких цен на них.

Содержание

Вся инструкция очень кратко для продвинутых

Это краткое содержание инструкции для продвинутых пользователей; для новичков все очень подробно расписано ниже.

./freebsd-autodeploy.sh — справка по командам (параметрам) скрипта.

git pull — скачать обновления скрипта (если они есть).

Выбор хостинга, где арендовать виртуальный сервер

Определитесь с задачами прокси-сервера: куда вы собираетесь через него ходить?

Если это ресурсы, заблокированные в вашей стране, то нужен виртуальный сервер в другой стране. Например, вы живете на Украине и хотите иметь доступ к Яндексу, Вконтакте, Dr.Web, Kaspersky и другим заблокированным ресурсам. Тогда вам подойдет виртуальный сервер в России. По сравнению с, например, европейским сервером российский позволит определять ваш регион как «Россия» и выдавать соответствующий геозависимый контент сайта, а также скорость открытия сайтов будет чуть выше, т.к. магистральные каналы до российских серверов шире, чем до европейских.

Жители России могут арендовать сервер в Украине, но тогда вы попадете под различные украинские блокировки, поэтому лучше всего использовать европейский сервер, тогда вы сможете без проблем иметь доступ ко всем сайтам и месседжерам, в т.ч. получите беспроблемно работающий Telegram.

Выбираем хостинг, на котором арендуем виртуальный сервер.

Виртуальный сервер — это виртуальная машина, отдельная операционная система, работающая на хосте виртуализации, то есть на большом сервере с множеством виртуальных. Это позволяет нам платить только за нужное нам количество ресурсов. К ресурсам относят процессор, оеративную память и место на диске. Хостинг — это компания, предоставляющая услуги аренды сервера.

Вы можете встретить 2 основных типа виртуализации: OpenVZ и KVM. Про их отличия в интернете есть множество статей, нам нужен KVM, иначе не сможем запустить операционную систему FreeBSD. Нам будет достаточно любого минимального тарифа.

В качестве недорого хостинга в России рекомендую «Айхор». Он сочетает в себе низкие цены, тарифы с маленьким, но достаточным для прокси-серверов количеством ресурсов без переплаты за неиспользуемые ресурсы, и достаточно удобное управление. Ниже скриншот заказа виртуального сервера на их сайте после регистрации.

Совсем дешевые VPS за границей можно найти на сайте lowendbox.com. Обратите внимание, что обычно виртуализация OpenVZ или ее родственник Virtuozoo стоят дешевле, однако нам нужен KVM с возможностью установить FreeBSD 11 или просто произвольную операционную систему из своего образа, если FreeBSD не предлагается на выбор при автоматической настройке сервера (в таком случае берите образ FreeBSD *disk1.iso отсюда).

Мы же ниже подробно разберем весь процесс на примере недорого и надежного зарубежного хостинга Vultr.

Регистрация на сайте хостинга Vultr

Добавление платежной банковской карты в Vultr

После регистрации в Vultr баланс составляет 10 долларов, однако, чтобы ими воспользоваться, нужно привязать банковскую карту или пополнить счет. После того, как вы вошли в личный кабинет Vultr, перейдите в раздел «Billing» («Платежи») в левом меню и добавьте банковскую карту или пополните счет через Paypal. Заполните поля, как показано на картинке ниже. Обратите внимание, что указание адреса — это формальность, если вы его укажите неправильно, платеж все равно пройдет. Оплата за сервер почасовая.

Читайте также:  Werfault exe отчет об ошибках windows

После заполнения формы нажмите большую синюю кнопку «Link credit card» («Привязать банковскую карту»).

Создание виртуального сервера с FreeBSD в Vultr

После добавления банковской карты откроется страница создания нового виртуального сервера (в дальнейшем будем его называть прсото сервером). В любое другое время туда можно попасть из раздела «Servers»:

Теперь нужно выставить параметры создаваемого сервера.

Внимание! Если вы не очень поняли этот пункт, то пропустите его.

Если вы на своем компьютере используете операционную систему Linux (или FreeBSD), то для удобного и безопасного захода на сервер вместо пароля можно использовать авторизацию по SSH-ключу. Сначала на компьютере создайте SSH-ключ, не от root, а от пользователя выполнив команду в терминале:

Затем выведите в терминал и скопируйте содержимое вашего публичного SSH-ключа:

Его и нужно добавить в Vultr как свой публичный SSH ключ, чтобы с компьютера заходить в управление сервером по SSH без пароля.

После создания сервера вам на почту придет письмо с его IP адресом и, если не была настроена авторизация по SSH-ключам, паролем для пользователя root.

Проверка сервера на доступность. Удаление сервера

На сайте Роскомнадзора можно проверить, не заблокирован ли IP-адрес вашего сервера в России. Если заблокирован, то создавайте новые сервера (оплата за время использования, а не сразу за месяц), пока вам не попадется сервер с незаблокированным IP-адресом, а затем удалите все лишние ранее созданные сервера, как показано на скриншоте:

Быстрая настройка сервера

Вот мы и создали наш виртуальный сервер, поздравляю! Теперь пришло время подключиться к его командной строке и запустить скрипт для автоматической настройки прокси-сервера 3proxy. Скрипт freebsd-autodeploy был написан специально для этой статьи и операционной системы FreeBSD.

Подключаемся к серверу по SSH — протоколу удаленного управления через командную строку. Если вы боитесь командной строки и думаете, что она неудобна, то в UNIX-подобных ОС она гораздо удобнее, чем в Windows, и прочитайте статью «Почему консоль, а не графический интерфейс?»

Если вы используете Linux/UNIX/MacOS, то подключиться к серверу по SSH очень просто. Для этого откройте терминал и выполните команду:

При первом подключении нужно ввести yes и нажать Enter. При вводе пароля он НЕ отображается никак! Скриншот:

Дальше у вас есть полноценный графический терминал, в котором можно мышью с помощью контекстного меню или клавишами Ctrl+Shift+C, Ctrl+Shift+V копировать и вставлять текст, а по средней кнопке мыши работает параллельный буфер обмена, вставляющий ранее выделенный текст. что очень сильно экономит время, т.к. не нужно копировать и вставлять.

Чтобы каждый раз не вводить пароль, вы можете скопировать свой локальный публичный SSH-ключ на сервер:

Если вы используете Windows, то для подключения к серверу по SSH воспользуйтесь бесплатной программой Putty (по удобству очень сильно уступает графическому терминалу в Linux):

На сервере последовательно выполняем команды ниже. Одна команда — одна строка. Копируем-вставляем команду в терминал и нажимаем Enter.

cd (с помощью этой команды перейдем в домашнюю папку)

cd freebsd-autodeploy (перейдем в папку freebsd-autodeploy)

./freebsd-autodeploy.sh 3proxy-setup (запустим скрипт автоматической настройки FreeBSD и 3proxy)

В процессе выполнения последней команды будут запрошены желаемое имя пользователя для авторизации на вашем личном прокси-сервере, а затем пароль для этого имени пользователя. Вам нужно их ввести и нажать Enter. В конце скрипт выдаст IPv4, IPv6 (при наличии) адреса прокси-сервера, порт HTTP(S) и SOCKSv5 прокси.

Порт HTTP(S)-прокси — это случайное число от 30000 до 70000. Так сделано для того, чтобы у всех читателей этой статьи не оказались одинаковые порты прокси, что могло бы упростить взлом, например, методом перебора пароля, когда заранее известен порт прокси-сервера. Порт SOCKS-прокси на 1 больше порта HTTP(S).

Ваш личный прокси-сервер готов к использованию.

Настройка браузера на работу через прокси

В настройках Firefox можно указать прокси, чтобы все сайты открывались через него. Достаточно указать только SOCKS-прокси.

С помощью специальных расширений, например FoxyProxy для Chromium и FoxyProxy для Firefox можно настроить так, чтобы через прокси шли запросы только к определенным сайтам, а ко всем остальным трафик шел напрямую. Это позволит и скорость интернета сохранить, и получить доступ к заблокированным сайтам, внеся их в список FoxyProxy для работы через прокси.

На сайтах 2ip.ru или yandex.ru/internet можно посмотреть свой IP-адрес: если он свопадает с IP прокси-сервера, то это значит, что все настроено правильно.

Настройка Telegram на работу через прокси

Укажите прокси SOCKS.

Быстрая проверка работы прокси через командную строку Linux/UNIX/MacOS

С помощью командной строки UNIX-подобных ОС можно быстро проверить работу прокси, для этого с любого другого сервера или компьютера выполните в терминале:

env http_proxy=»имя_пользователя:пароль@IP-адрес:порт» curl http://wtfismyip.com/text

Дальнейший уход за сервером (основные команды)

Логи прокси-сервера лежат в /var/log/3proxy/. Автоматическое архивирование логов раз в 30 дней. Логируется всё, кто, когда и куда ходит через прокси-сервер.

Обновление системы (установка обновлений, в т.ч. закрывающих уязвимости безопасности): pkg update; pkg upgrade

Наш скрипт сам настраивает автообновления системы раз в час, смотрите /usr/local/bin/system-autoupdate и вызов этого скрипта в 0 минут каждого часа в /etc/crontab. Это сделано для того, чтобы поддерживать безопасность сервера без вмешательства пользователя. В Linux/FreeBSD не нужно перезагружать систему для установки обновлений.

3proxy запускается автоматически, это настроено в файле /etc/rc.conf. Также можно перезапустить сервер через панельуgравления хостинга, но так лучше не делать, т.к. это эквивалентно отключению электропитания компьютера, в результате чего может произойти порча файловой системы.

Временное выключение 3proxy (до перезагрузки): service 3proxy stop

Временное включение 3proxy (до перезагрузки): service 3proxy start

Перезапуск 3proxy (остановить и запустить): service 3proxy restart

Конфиг (текстовый концигурационный файл) 3proxy расположен по адресу /usr/local/etc/3proxy.cfg, файл со списком пользователей — /usr/local/etc/3proxy.cfg.auth

Для смены стандартного порта SSH (защита от перебора паролей ботами):

В строке Port убрать знак решетки # в начале при наличии такового (то есть раскомментировать строку), 22 заменить на любой другой порт, кроме тех, что используются для прокси-сервера. Ctrl+O для сохранения и Ctrl+X для выхода из nano. Ctrl+W для поиска по тексту файла.

Перезапустить сервер SSH: service sshd restart

Если вы самостоятельно настроили фаервол, то не забудьте предварительно открыть новый порт.

Если в результате ошибки в настройках вы не можете подключиться к серверу по SSH, то попробуйте открыть браузерную консоль, эмулирующую прямой доступ к экрану сервера, как если бы был подключен монитор:

Улучшения статьи и скрипта freebsd-autodeploy

Скрипт freebsd-autodeploy был написан для использования в этой статье, однако, возможно, в будущем его функционал будет расширен, например, для автоматической настройки не только proxy, но и VPN и защиты сервера с помощью фаервола. Разработка ведется на Github. Так как в статье предлагается брать исходный код скрипта прямо с Github, для того, чтобы пользователи всегда получали именно ту версию, которая совместима с этой инструкцией, создан отдельный бранч v1.1-comss.ru, в рамках которого в скрипт могут вноситься незначительные доработки и исправления ошибок (о которых вы можете написать в комментариях к этой статье) с сохранением совместимости всего функционала с тем, что написано в этой статье. В бранче master ведется дальнейшая разработка скрипта под свободной лицензией GPLv3. В папке doc/ в дереве исходных кодов находится текст этой статьи. Если у вас есть правки к скрипту или статье, пишите в комментариях или присылайте их пулл-реквестами на Github. Спасибо.

Скрипт автоматически настраивает ОС FreeBSD версии 11 (работа на других версиях не проверялась, но должно работать): настраивает русскую UTF-8 локаль, делает bash шеллом пользователя root, настраивает автоматические обновления системы раз в час для оперативного закрытия уязвимостей, устанавливает и настраивает прокси-сервер 3proxy из репозитория. Пока не хватает автоматической настройки фаервола, смены порта SSH и fail2ban для дополнительной безопасности. FreeBSD была выбрана потому, что в репозиториях дистрибутивов Linux нет 3proxy, да и настройка Линукса заезженная тема, в отличие от FreeBSD.

Работа скрипта проверена на образах FreeBSD на хостингах «Айхор», Vultr, DigitalOcean, а также официальном установочном образе FreeBSD 11.1.

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector