Как сделать свой прокси сервер linux

Установка и использование 3proxy на Ubuntu

Настройка брандмауэра

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

а) если используем Iptables.

iptables -I INPUT 1 -p tcp —dport 3128 -j ACCEPT

* если система вернет ошибку при вводе команды для сохранения правил, устанавливаем пакет командой apt-get install iptables-persistent.

б) если у нас firewalld.

firewall-cmd —permanent —add-port=3128/tcp

* 3128 — порт по умолчанию, по которому работает 3proxy в режиме прокси;

Установка и запуск 3proxy

3proxy отсутствует в репозиториях Ubuntu, поэтому для установки сначала необходимо скачать его исходник.

Для начала устанавливаем пакет программ для компиляции пакетов:

apt-get install build-essential

Переходим на официальную страницу загрузки 3proxy и копируем ссылку на версию пакета для Linux:

. используя ссылку, скачиваем пакет:

* в моем случае будет скачена версия 0.9.3.

Распакуем скачанный архив:

tar xzf 0.9.3.tar.gz

Переходим в распакованный каталог:

Запускаем компиляцию 3proxy:

make -f Makefile.Linux

Создаем системную учетную запись:

adduser —system —disabled-login —no-create-home —group proxy3

Создаем каталоги и копируем файл 3proxy в /usr/bin:

mkdir -p /var/log/3proxy

cp bin/3proxy /usr/bin/

Задаем права на созданные каталоги:

chown proxy3:proxy3 -R /etc/3proxy

chown proxy3:proxy3 /usr/bin/3proxy

chown proxy3:proxy3 /var/log/3proxy

Смотрим uid и gid созданной учетной записи:

Получим, примерно, такой результат:

uid=109(proxy3) gid=113(proxy3) groups=113(proxy3)

* где 109 — идентификатор пользователя; 113 — идентификатор для группы.

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

setuid 109
setgid 113

nserver 77.88.8.8
nserver 8.8.8.8

nscache 65536
timeouts 1 5 30 60 180 1800 15 60

external 111.111.111.111
internal 111.111.111.111

log /var/log/3proxy/3proxy.log D
logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»
rotate 30

allow * * * 80-88,8080-8088 HTTP
allow * * * 443,8443 HTTPS

* необходимо обратить внимание на настройки setuid и setgid — это должны быть значения для созданной нами учетной записи; external и internal — внешний и внутренний интерфейсы (если наш прокси работает на одном адресе, то IP-адреса должны совпадать).

Настройка браузера

Проверяем работоспособность нашего 3proxy. Для этого настраиваем браузер для работы через прокси-сервер, например, Mozilla Firefox:

. пробуем открыть сайты.

Настройка автозапуска

Для автозагрузки 3proxy настроим его как сервис. Создаем файл в systemd:

[Unit]
Description=3proxy Proxy Server

[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill `/usr/bin/pgrep -u proxy3`
RemainAfterExit=yes
Restart=on-failure

Обновляем конфигурацию systemd:

Разрешаем запуск сервиса и стартуем его:

systemctl enable 3proxy

systemctl start 3proxy

Настройка аутентификации

Для редактирования настроек открываем конфигурационный файл:

Добавляем опции users и добавляем пользователей:

users 3APA3A:CL:3apa3a «test:CR:$1$qwer$CHFTUFGqkjue9HyhcMHEe1»
users dmosk1:CL:password
users «dmosk2:CR:$1$UsbY5l$ufEATFfFVL3xZieuMtmqC0»

* в данном примере мы добавили 3-х пользователей: 3APA3A с паролем 3apa3a, dmosk1 с открытым паролем password и dmosk2 с паролем dmosk2 в виде md5 и солью UsbY5l (Для получения хэша пароля можно воспользоваться командой openssl passwd -1 -salt UsbY5l, где в качестве соли можно использовать любую комбинацию).
* обратите внимание, при использовании знака $, строчка пишется в кавычках.

* возможные типы паролей:

  • CL — текстовый пароль
  • CR — зашифрованный пароль (md5)
  • NT — пароль в формате NT.

Чтобы включить запрос логина, необходимо поменять значение для опции auth на strong:

Читайте также:  Как отключить обновление mac os high sierra

* возможные варианты для auth:

  • none — без авторизации.
  • iponly — авторизация по IP-адресу клиента.
  • nbname — по Netbios имени.
  • strong — по логину и паролю.

Также можно использовать двойную авторизацию, например:

auth nbname strong

После внесения изменений, перезапускаем службу:

systemctl restart 3proxy

SOCKS

Для прозрачного прохождения пакетов через прокси можно настроить SOCKS5. В конфигурационном файле добавляем:

* запускаем socks на порту 1080.

socks -p8083 -i192.168.1.23 -e111.111.111.111

* запускаем socks на порту 8083; внутренний интерфейс — 192.168.1.23, внешний — 111.111.111.111.

После перезапускаем сервис:

systemctl restart 3proxy

Настройка анонимности

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

1. Меняем порты, которые используются по умолчанию — 3128, 1080. Данные порты известны, как порты для прокси. Открываем конфигурационный файл 3proxy:

socks -p1088
proxy -n -p3111

* в данном примере мы укажем серверу работать на портах 3111 и 1088.

После перезапускаем сервис:

systemctl restart 3proxy

2. Необходимо, чтобы время на сервере совпадало с временем на компьютере.

На стороне сервера необходимо задать часовой пояс, например, если наш прокси находится в Германии, вводим:

timedatectl set-timezone Europe/Berlin

На стороне клиента либо меняем часовой пояс в системе, либо устанавливаем плагин для браузера, например, для Mozilla Firefox и меняем часовой пояс уже в нем.

3. Отключение icmp. По времени ответа на ping можно определить отдаленноесть клиента от прокси. Чтобы проверку нельзя было выполнить, отключаем на сервере icmp. Для этого создаем файл:

И применяем настройки:

sysctl -p /etc/sysctl.d/icmp.conf

4. Проверяем настройки.

Открываем браузер, который работает через прокси и переходим на страницу 2ip.ru/privacy — кликаем по Проверить:

Будет выполнена проверка анонимности нашего сервера.

Дополнительные настройки

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

Настройка портов и прокси-интерфейсов

При необходимости, можно настроить 3proxy на использование разных интерфейсов на разных портах:

proxy -n -a -p3128 -i192.168.0.23 -e222.222.222.222
proxy -n -a -p8080 -i192.168.1.23 -e111.111.111.111

* 3proxy будет слушать на порту 3128 с внутреннего интерфейса 192.168.0.23 и направлять пакеты в сеть Интернет через внешний интерфейс 222.222.222.222, а также, на порту 8080 для внутреннего и внешнего интерфейсов 192.168.1.23 и 111.111.111.111 соответственно.
* не забываем также настраивать брандмауэр (вначале инструкции мы открывали только 3128 порт).

systemctl restart 3proxy

Ограничение пропускной способности

При необходимости, можно ограничить скорость.

bandlimin 1000000 user1,user3
bandlimin 5000000 user2,user4

* в данном примере пользователям user1 и user3 установлено ограничение в 1000000 бит/сек (1 мбит); для user2 и user4 — 5 мбит/сек.

systemctl restart 3proxy

Ограничения доступа

Можно ограничить доступ и разрешить только для определенных портов, сетей и пользователей.

  • userlist — список пользователей через запятую.
  • sourcelist — сети клиентов через запятую.
  • targetlist — сети назначения через запятую.
  • targetportlist — порты назначения через запятую.
  • commandlist — команды, к которым применяется правило.
  • weekdays — в какие дни недели работает правило. 0 — 6 — Пн — Вс, 7 — тоже Вс.
  • timeperiodslist — время, когда работает правило. Указываются диапазоны.

allow * * * 80 HTTP
allow * * * 443,8443 HTTPS
allow * * * 21 FTP

Читайте также:  What is root in linux terminal

* в данном примере пользователям user1 и user3 установлено ограничение в 1000000 бит/сек (1 мбит); для user2 и user4 — 5 мбит/сек.

Также, ограничить доступ можно по количеству одновременных соединений для каждой службы:

maxconn 700
proxy -n -a -p3128 -i192.168.0.23 -e222.222.222.222
proxy -n -a -p8080 -i192.168.1.23 -e111.111.111.111

* таким образом, мы установим 700 максимальных соединений для прокси на порту 3128 и 700 — для proxy на порту 8080.

Источник

Быстрая установка прокси-сервера 3proxy в Ubuntu и Debian

Прокси-сервер 3proxy является одним из самых настраиваемых прокси серверов. Кроссплатформенность 3proxy делает его популярным не только на серверах Linux, но и на серверах Windows Server.

3proxy поддерживает такие протоколы как: SOCKS5 (4), HTTP прокси с поддержкой HTTPS и FTP, AIM/ICQ, прокси сервера на MSN messenger / Live messenger, FTP, кэширующий DNS прокси, TCP и UDP портмапперы (tcppm, udppm).

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

Автоматическая установка прокси-сервера 3proxy с помощью скрипта в Ubuntu и Debian

Редактируем файл авторизации. Меняем имя пользователя и пароль:

Сохраняем изменения и закрываем редактор: CTRL+O, CTRL+X.

Ознакомимся и если надо, то отредактируем файл конфигурации прокси-сервера:

Типовая конфигурация доступна по ссылке: 3proxy.cfg

По умолчанию для протокола socks (5) используется порт 8088, а для http протокола прокси-сервера порт 9999.

За тип авторизации отвечает строка с названием auth strong cache.

Работают следующие типы авторизации:

  • auth strong cache – по имени пользователя и паролю
  • auth iponly — авторизация по IP-адресу.

Где 192.168.0.1 IP-адрес пользователя.

  • auth none – отсутствие авторизации

Можно добавить еще одну строку:

  • maxconn 32 – максимально разрешённое число одновременных подключений.

Как фильтровать только определенные адреса в 3proxy

Можно разрешить фильтрацию только для определённых адресов, а все остальные заблокировать.

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

Правила по доменам корректно работают на http протоколе прокси-сервера.

Источник

Зачем и как настроить прокси-сервер под Linux или для других целей

Для начала стоит сразу определиться, что такое прокси и зачем он нужен. Proxy можно перевести, как «посредник». В данном контексте подразумевается компьютер-посредник, который стоит между пользователем, его обычным ПК и сетью Интернет.

Почему имеет смысл запускать прокси-сервер для Linux или отдельных приложений

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

  • пользователь может посещать сайты, запрещенные администратором сети ПК пользователя;
  • посещать сайты, серверы и узлы можно абсолютно анонимно, не оставляя следов в Сети;
  • посещать сайты, которые были заблокированы для пользователя.

Универсальные конфигурации серверов прокси для Linux

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

  • прописать $ export http_proxy=»http://proxy-server:port», где вместо HTTP можно использовать HTTPS или FTP;
  • в случае, если для сервера требуется авторизация, то строка должна выглядеть следующим образом: $ export http_proxy=»http://user:pass@proxy-server:port» (данные команды подходят под любые версии ОС, в том числе и для настройки прокси Linux Mint );
  • далее необходимо проверить правильность настройки, пинг, скорость соединения. Для этого вводим строки: $ wget -q -O — checkip.dyndns.org \ и вторая команда | sed -e ‘s/.*Current IP Address: //’ -e ‘s/
Читайте также:  Windows server 2016 гость

Для завершения работы употребляем команду $ unset http_proxy.

Как настроить сервер прокси под Outlook

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

Далее необходимо найти возможность подключения по протоколу HTTP. Это и есть пункт для настройки прокси Outlook . В качестве сервера для подключения можно использовать, скажем, сервер Microsoft. Пропишите в строку exchange.parking.ru, и согласитесь со всеми условиями проверки на подлинность. Необходимо будет внести свои данные в окно авторизации и для доступа к серверу почты.

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

Как можно пользоваться Skype через прокси

Многие сталкивались с проблемой плохой связи во время разговоров по Skype. Исправить это можно посредством использования прокси-настроек для приложения. Последняя версия Скайп способна самостоятельно определить настройки, но если этого не случилось, то Skype предлагает настройку прокси вручную.

Для этого необходимо открыть настройки (обычно они спрятаны под кнопкой «Еще» или «…». Далее переходим в раздел параметры и там находим пункт «Сеть». Здесь находим пункт, касающийся прокси-настроек и там выставляем все данные вручную (порт и адрес).

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

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

Но стоит помнить, что при использовании Skype через прокси, вы можете понижать стабильность работы программы (это зависит не от самого приложения, а от конкретного сервера, который вы используете).

Автоматическая настройка прокси сервера для серфинга

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

  • для Mozilla пройти в настройки, или инструменты, в раздел «дополнительно», «сеть». Найти соединение и открыть пункт «настройки»; ( Как настроить прокси в браузере Mozilla Firefox?)
  • для Google вам нужно зайти в «настройки», «сеть» и там выбрать пункт «настройка параметров»; ( Как настроить прокси в браузере Google Chrome? )
  • для Opera — это пункт «сеть», «прокси-серверы» и там найти пункт «автоматическая настройка»; (Как настроить прокси в браузере Opera? )
  • Internet Explorer потребует зайти в «свойства обозревателя», пункт «свойства» и «интернет». Далее найти кнопку «настройка сети». ( Как настроить прокси в браузере Internet Explorer)

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

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

  • высокой скоростью доступа и отклика:
  • должен работать стабильно;
  • если за использование взимается плата, стоит убедиться в высоких возможностях сервера, быть может, есть аналог с такими же характеристиками и совершенно бесплатный.

При неправильном использовании прокси может не улучшить, а ухудшить работу приложения, серьезно снизив их работу и производительность.

Источник

Оцените статью