Прокси

Шаг 3: изменение изначальных установок для включения прокси

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

Сначала нужно открыть конфигурационный файл Apache в редакторе nano (или в другом редакторе на ваш выбор):

$ sudo nano /etc/apache2/sites-available/000-default.conf

Внутри этого файла найдите блок с первой строкой <VirtualHost *:80> . Первый пример ниже продемонстрирует, как изменить этот файл так, чтобы использовать обратный прокси для одного бэкенд-сервера, а второй пример – для установки балансировки нагрузки для нескольких бэкенд-серверов.

1 пример: обратное прокси для одного бэкенд-сервера

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

<VirtualHost *:80>
 ProxyPreserveHost On

 ProxyPass / http://127.0.0.1:8080/
 ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

Если вы продолжаете следовать этому руководству и используете тестовые серверы, которые создали ранее, то скопируйте 127.0.0.1:8080, как и написано в примере. Если у вас есть свои собственные серверы приложений, то используйте их адреса.

В блоке используется три директивы:

  • ProxyPreserveHost – заставляет Apache передать оригинальный заголовок Host бэкенд-серверу. Это полезно, так как в этом случае бэкенд-сервер получает адрес, который используется для доступа к приложению;
  • ProxyPass – основная директива для настройки прокси. В данном случае она указывает, что все, что идет после корневого адреса URL (/), должно быть отправлено на бэкенд-сервер по указанному адресу. Например, если Apache получит запрос /primer, то он подключится к http://ваш_бэкенд-сервер/primer и отправит соответствующий ответ;
  • ProxyPassReverse – должна иметь такие же настройки, как и ProxyPass. Она сообщает Apache, как изменить заголовки в ответе от бэкенд-сервера. Таким образом гарантируется, что браузер клиента будет перенаправлен на прокси-адрес, а не на адрес бэкенд-сервера.

После внесения изменений Apache необходимо перезапустить:

$ sudo systemctl restart apache2

Теперь, если вы наберете в браузере адрес своего сервера, вы увидите ответ от вашего бэкенд-сервера вместо приветственной страницы Apache.

2 пример: балансировка нагрузки между несколькими бэкенд-серверами

Если у вас есть несколько бэкенд-серверов, будет хорошей идеей при использовании прокси распределить трафик между ними; сделать это можно при помощи функции балансировки нагрузки утилиты mod_proxy.

Как и в первом примере, тут вам тоже необходимо заменить текст в блоке VirtualHost на следующий:

<VirtualHost *:80>
<Proxy balancer://mycluster>
 BalancerMember http://127.0.0.1:8080
 BalancerMember http://127.0.0.1:8081
</Proxy>

 ProxyPreserveHost On

 ProxyPass / balancer://mycluster/
 ProxyPassReverse / balancer://mycluster/
</VirtualHost>

В целом текст похож на предыдущий, однако вместо указания одного бэкенд-сервера появляется новый блок Proxy, в котором указано несколько серверов. Блок называется balancer://mycluster (название можно изменить) и состоит из одного или нескольких BalancerMembers, которые определяют адреса лежащих в основе бэкенд-серверов.

Директивы ProxyPass и ProxyPassReverse используют пул балансировки нагрузки под названием mycluster вместо конкретного сервера.

Вы можете использовать адреса тестовых серверов (как указано выше), либо заменить их на адреса своих серверов.

Для того, чтобы изменения вступили в силу, перезапустите Apache:

$ sudo systemctl restart apache2

Теперь проведите такой же тест, как и в первом примере: введите IP-адрес вашего сервера в браузер и вместо стандартного приветствия Apache вы увидите один из ответов бэкенд-серверов. Если вы используете тестовые серверы, то это будет либо “Hello world!”, либо “Hello Timeweb!”. Обновите страницу несколько раз и, если вы увидели оба текста, значит все работает корректно.

Удаление 3Proxy (при необходимости)

Так как установка осуществлялась из исходников, то пакетный менеджер операционной системы бесполезен. Для удаления выполнить следующие команды:

sudo /etc/init.d/3proxyinit stop
sudo rm -rf /etc/3proxy
sudo rm /etc/rc0.d/*proxyinit
sudo rm /etc/rc1.d/*proxyinit 
sudo rm /etc/rc6.d/*proxyinit
sudo rm /etc/rc2.d/*proxyinit
sudo rm /etc/rc3.d/*proxyinit 
sudo rm /etc/rc4.d/*proxyinit
sudo rm /etc/rc5.d/*proxyinit
sudo rm /etc/init.d/3proxyinit
sudo rm -rf /var/log/3proxy
sudo rm /usr/bin/3proxy

Прочее

Множество программ (включая веб-браузеры) поддерживают работу через прокси по умолчанию. Интерфейс настроек у каждой свой.

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

Либо использование программы проксификатора.
Например такой как:
WideCap
FreeCap
tun2socks
redsocks
Proxifier
ProxyCap

Настройки для браузера Google Chrome:
Для подключения к сети Google Chrome использует системные настройки прокси-сервера.
В случае Microsoft Windows это настройки можно также найти в Internet Explorer / MS Edge.

Форма с предложением ввода логина и пароля (username:strongpassword) появится после первой попытки открытия любой веб-страницы.

Затем любые сервисы по проверки IP-адреса, сообщат IP-адрес вашего сервера вместо текущего.

Например, такие как:https://yandex.ru/internethttps://2ip.ru/https://ifconfig.co/

Updating clients to use your proxy server

apt clients need the /etc/apt/sources.list file to be reconfigured to point to the new apt-proxy server instead of the outside world. Configuration of the sources.list file looks similar to the config for normal apt repositories with the exception that the backend section has to be appended to the path:

deb http://apt-proxy:port/backend dist component

Replace mentions of specific repository URL with references to your server and the backend for it; such as:

deb http://archive.ubuntu.com/ubuntu dapper main restricted
deb http://security.ubuntu.com/ubuntu dapper-security main restricted universe

would become

deb http://server:9999/ubuntu dapper main restricted
deb http://server:9999/ubuntu-security dapper-security main restricted universe

A sources.list corresponding to the apt-proxy-v2.conf above may look like this:

# apt-proxy entries for standard modules
deb http://localhost:9999/ubuntu dapper main restricted universe multiverse
deb-src http://localhost:9999/ubuntu dapper main restricted universe multiverse

# apt-proxy entries for security patches
deb http://localhost:9999/ubuntu-security dapper-security main restricted universe multiverse
deb-src http://localhost:9999/ubuntu-security dapper-security main restricted universe multiverse

Режим Турбо от Opera Software

Пользователи Opera и Яндекс.Браузера для доступа к заблокированным сайтам могут использовать штатный инструмент этих двух браузеров – режим Турбо. Режим Турбо – это технология сжатия интернет-трафика, запатентованная норвежской компанией Opera Software, которая была представлена ещё в версии 10 старой Opera на движке Presto. Режим Турбо был создан специально для работы в условиях медленного Интернета. При активации режима Турбо интернет-трафик пользователя проходит через сервера Opera Software, где и происходит его сжатие – уменьшение веса элементов веб-страниц, снижение разрешения картинок, снижение битрейта аудио, ускорение буферизации потокового видео и т.п. Этап пропускания интернет-трафика через сервера Opera Software, сродни работе прокси-серверов, собственно, и позволяет обойти территориальную блокировку сайтов. Безусловно, если речь не идёт о сайтах, заблокированных в Норвегии. Активировать/деактивировать режим Турбо можно в меню Opera, выставив/убрав галочку на функции Opera Turbo.

Правда, проку от режима Турбо в составе Яндекс.Браузера, если использовать его для получения доступа к заблокированным на территории России сайтам, немного. Ведь интернет-трафик с целью сжатия будет проходить через сервера Яндекса, расположенные также в России.

Враг у ворот

<hidden Список PKH IP для блокировки>

iptables -A INPUT -s 5.61.16.0/21 -j DROP
iptables -A INPUT -s 5.61.232.0/21 -j DROP
iptables -A INPUT -s 79.137.157.0/24 -j DROP
iptables -A INPUT -s 79.137.174.0/23 -j DROP
iptables -A INPUT -s 79.137.183.0/24 -j DROP
iptables -A INPUT -s 94.100.176.0/20 -j DROP
iptables -A INPUT -s 95.163.32.0/19 -j DROP
iptables -A INPUT -s 95.163.212.0/22 -j DROP
iptables -A INPUT -s 95.163.216.0/22 -j DROP
iptables -A INPUT -s 95.163.248.0/21 -j DROP
iptables -A INPUT -s 128.140.168.0/21 -j DROP
iptables -A INPUT -s 178.22.88.0/21 -j DROP
iptables -A INPUT -s 178.237.16.0/20 -j DROP
iptables -A INPUT -s 185.5.136.0/22 -j DROP
iptables -A INPUT -s 185.6.244.0/22 -j DROP
iptables -A INPUT -s 185.16.148.0/22 -j DROP
iptables -A INPUT -s 185.16.244.0/22 -j DROP
iptables -A INPUT -s 188.93.56.0/21 -j DROP
iptables -A INPUT -s 194.186.63.0/24 -j DROP
iptables -A INPUT -s 195.211.20.0/22 -j DROP
iptables -A INPUT -s 195.211.128.0/22 -j DROP
iptables -A INPUT -s 195.218.168.0/24 -j DROP
iptables -A INPUT -s 195.218.190.0/23 -j DROP
iptables -A INPUT -s 208.87.93.0/24 -j DROP
iptables -A INPUT -s 208.87.94.0/23 -j DROP
iptables -A INPUT -s 217.20.144.0/20 -j DROP
iptables -A INPUT -s 217.69.128.0/20 -j DROP
iptables -A INPUT -s 2a00:1148::/29 -j DROP
iptables -A INPUT -s 2a00:1148::/32 -j DROP
iptables -A INPUT -s 2a00:a300::/32 -j DROP
iptables -A INPUT -s 2a00:b4c0::/32 -j DROP
iptables -A INPUT -s 2a00:1148:5::/48 -j DROP

</hidden>

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

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

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

apt-get install build-essential

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

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

wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz

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

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

tar xzf 0.9.3.tar.gz

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

cd 3proxy-*

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

make -f Makefile.Linux

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

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

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

mkdir -p /var/log/3proxy

mkdir /etc/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 созданной учетной записи:

id proxy3

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

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

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

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

vi /etc/3proxy/3proxy.cfg

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
daemon
log /var/log/3proxy/3proxy.log D
logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»
rotate 30
auth none
allow * * * 80-88,8080-8088 HTTP
allow * * * 443,8443 HTTPS
proxy -n

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

Запускаем 3proxy:

/usr/bin/3proxy /etc/3proxy/3proxy.cfg

Setting up apt-get to use a http-proxy

These are three methods of using apt-get with a http-proxy.

Temporary proxy session

This is a temporary method that you can manually use each time you want to use apt-get through a http-proxy. This method is useful if you only want to temporarily use a http-proxy.

Enter this line in the terminal prior to using apt-get (substitute your details for yourproxyaddress and proxyport).

export http_proxy=http://yourproxyaddress:proxyport

If you normally use sudo to run apt-get you will need to login as root first for this to work unless you also add some explicit environment settings to /etc/sudoers, e.g.

Defaults env_keep = "http_proxy https_proxy ftp_proxy"

APT configuration file method

This method uses the apt.conf file which is found in your /etc/apt/ directory. This method is useful if you only want apt-get (and not other applications) to use a http-proxy permanently.

On some installations there will be no apt-conf file set up. This procedure will either edit an existing apt-conf file or create a new apt-conf file.

gksudo gedit /etc/apt/apt.conf

Add this line to your /etc/apt/apt.conf file (substitute your details for yourproxyaddress and proxyport).

Acquire::http::Proxy "http://yourproxyaddress:proxyport";

Save the apt.conf file.

BASH rc method

This method adds a two lines to your .bashrc file in your $HOME directory. This method is useful if you would like apt-get and other applications for instance wget, to use a http-proxy.

gedit ~/.bashrc

Add these lines to the bottom of your ~/.bashrc file (substitute your details for yourproxyaddress and proxyport)

http_proxy=http://yourproxyaddress:proxyport
export http_proxy

Save the file. Close your terminal window and then open another terminal window or source the ~/.bashrc file:

source ~/.bashrc

Test your proxy with sudo apt-get update and whatever networking tool you desire. You can use firestarter or conky to see active connections.

If you make a mistake and go back to edit the file again, you can close the terminal and reopen it or you can source ~/.bashrc as shown above.

source ~/.bashrc

How to login a proxy user

If you need to login to the Proxy server this can be achieved in most cases by using the following layout in specifying the proxy address in http-proxy. (substitute your details for username, password, yourproxyaddress and proxyport)

http_proxy=http://username:password@yourproxyaddress:proxyport

Что такое ProxyCap и как им пользоваться

ПроксиКап – софт, который пропускает входящий и исходящий трафик через прокси или цепочку промежуточных серверов. Максимальная длина такой цепочки – 16 прокси.

Скачать ProxyCap можно на официальном сайте разработчика.

Как работает ПроксиКап

Подключаете ip-адрес в проге – и все софты, мессенджеры, браузеры на компе будут работать через прокси. Но туннелирование настраивается и для определённых программ. Вы можете настроить один промежуточный сервер для всех софтов или отдельный айпи-адрес для каждой проги.

В ProxyCap есть чекер ip. То есть программа сразу же определяет, подходит proxy server для работы с конкретным ресурсом или приложением или нет.

Для утилиты подойдут айпи протоколов SOCKS 4/5, HTTP и HTTPS. Прога работает и с SSH-соединениями.

Утилита устанавливается на Windows, Windows Mobile и MacOS.

Typical usage example

I want to feel the wind in my hair, I want the adrenaline of speed. So let’s install a racing game. But what racing games are available?

apt-cache search racing game

It gives me a lot of answers. I see a game named «torcs». Let’s get some more information on this game.

apt-cache show torcs

Hmmm… it seems interesting. But is this game not already installed on my computer? And what is the available version? Which repository is it from (Universe or Main)?

apt-cache policy torcs

Ok, so now, let’s install it!

apt-get install torcs

What is the command I must type in the console to launch this game? In this example, it’s straightforward («torcs»), but that’s not always the case. One way of finding the name of the binary is to look at what files the package has installed in «/usr/bin». For games, the binary will be in «/usr/games». For administrative programs, it’s in «/usr/sbin».

dpkg -L torcs | grep /usr/games/

The first part of the command display all files installed by the package «torcs» (try it). With the second part, we ask to only display lines containing «/usr/games/».

Hmmm, that game is cool. Maybe there are some extra tracks?

apt-cache search torcs

But I’m running out of space. I will delete the apt cache!

apt-get clean

Oh no, my mother asked me to remove all games from this computer. But I want to keep the configuration files so I can simply re-install it later.

apt-get remove torcs

If I want to also remove config files :

apt-get purge torcs

IPv6

Формат такой

proxy -6 -p -i -e

  • -p — номер порта. Должен быть разный для каждого v6 адреса
  • -i — адрес для подключения
  • -e — исходящий адрес

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

# HTTP(S) прокси
auth strong
users user1337:CL:CoolPassword
allow *
proxy -6 -n -a -p50001 -i -e
proxy -6 -n -a -p50002 -i -e

# Socks прокси
auth strong
users user1337:CL:CoolPassword
allow *
socks -6 -p50003  -i -e
socks -64 -p50004 -i -e -e

опции , , , задают приоритет разрешения имен в адреса IPv4 и IPv6 (только IPv4, приоритет IPv4, приоритет IPv6, только IPv6). Подробности в

Важно! Если используется только v6, то с socks-сервером .

Для плагина FoxyProxy например требуется включить опцию Send DNS through SOCKS5 proxy

При правильной настройке сайт ipv6-test.com покажет следующий результат

IPv6

IPv4+IPv6

Установка Tor и Proxychains в Linux

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

Мы дождемся обновления репозиториев и установки всех обновлений, прежде чем продолжить этот процесс. После обновления нашей системы мы установим в нее Tor из тех же репозиториев, набрав:

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

И проверяем правильность запуска с помощью:

Теперь, когда у нас активирован сервис Tor, мы собираемся произвести необходимую настройку в Proxychains для выхода в Интернет через сеть Tor.

Область применения прокси

Существует несколько причин использовать прокси, разберем самые распространенные из них.

Блокировка провайдера

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

Парсинг

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

Мультиаккаунтинг

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

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

Настройка подключения к прокси-серверу

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

Для браузера

Айпи-адреса добавляются в каждый браузер: Mozilla Firefox, Google Chrome, Opera, Safari. Это делается двумя способами.

Расширение

Настройка в прокси в браузере с помощью расширения – самый простой способ. Нужно только выбрать плагин, установить его, внести в него данные IP-адреса. Далее айпи подключается/отключается в один клик: нажимаете “Подключить” или “Отключить” – и готово. Если у вас несколько адресов, то переключиться между ними просто: достаточно кликнуть на нужный IP.

В настройках

Этот способ требует больше времени:

  • Открываем настройки браузера.
  • Находим “Дополнительно” или “Продвинутые настройки” – везде этот пункт называется по-разному. В некоторых браузерах нужно найти пункт “Параметры сети” и нажать “Настроить”, как в Firefox, например.
  • Вводим данные IP-адреса.
  • Сохраняем настройки.

Иногда этот метод не работает: подключил айпи, перезапускаешь браузер – и ничего не происходит. Поэтому лучше настраивать прокси с помощью плагинов.

Для компьютера

Промежуточные серверы для компьютера настраиваются в системе ОС. Но не все операционные системы поддерживают прокси с логином и паролем. Например, никакая версия Windows не даст добавить защищённый айпи: вы просто не найдёте в настройках поля для логина и пароля. Поэтому лучше поступить так:

Подключить прокси непосредственно в программе, в которой работаете.

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

Добавить IP в браузере.

Как это сделать, мы написали выше.

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

Некоторые программы не поддерживают использование прокси. Из-за этого нужно настраивать IP через стороннюю утилиту, например Proxifier, ProxyCap или SocksCap. В зависимости от задач такие программы бывают платные и бесплатные. Чтобы обойти гоеблокировку, достаточно бесплатного софта.

Для телефона

Айпи добавляется в настройках смартфона или через специальное приложение.

В настройках

На Android и iPhone алгоритм один и тот же. Отличия минимальные. Делаем следующее:

  • Открываем “Настройки”.
  • Заходим в пункт “Подключения”.
  • Открываем настройки текущей сети.
  • Нажимаем “Дополнительно”.
  • Выбираем тип айпи-адреса.
  • Вписываем данные IP. Сохраняем.

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

Через специальное приложение

Для настройки прокси на “Андроиде” скачайте Drony. Программа бесплатная. В приложении есть журнал, который показывает, где используется айпи-адрес и его статус – работает или нет.

Есть ещё программа ProxyDroid, но для её работы нужны root-права. В случае с Drony рут-права не требуются.

Что такое прокси?

Говоря не техническим, а простым языком, прокси-сервер – это компьютер, который выступает посредником между вашим компьютером и доступом в интернет. Через него идут все ваши обращения в интернет, которые называются трафиком. Посреднический компьютер обрабатывает ваш трафик, а затем передает вам результаты (в виде показа страницы сайта, загруженного файла и т.п).

Зачем это нужно, ведь можно входить в интернет без посредника напрямую?

Да, можно. Но в основном, прокси сервер служит как переходной мост и помогает:

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

В техническом плане прокси служит для таких целей:

  1. Подмена фактического адреса и дислокации – веб ресурсы, к которым вы обращаетесь, будут определять то местоположение и тот сетевой адрес, что укажет им прокси-сервер.
  2. Экономия трафика – прокси-сервер может загрузить данные и передавать их вам в сжатом виде. При этом, вы получите искомую информацию в приемлемом виде и сэкономите 5-30% трафика. Довольно актуальная функция для тех, кто использует лимитное соединение.
  3. Защита локальной сети от внешнего доступа – можно настроить прокси-сервер только на прием трафика, запретив отдачу. В таком случае локальные ПК будут обращаться к всемирной паутине через сервер, но внешние ПК не смогут получить доступ к подключенным к прокси компьютерам.
  4. Ограничение доступа – настройка прокси-сервера для запрета на выход в интернет определенным пользователям компьютера или компьютеру в целом, ограничение доступа к запрещенным ресурсам (устанавливается администратором). установка маленькой пропускной способности и лимита на используемый трафик, фильтрование рекламных блоков на посещаемых сайтах.

Интересный факт! Ранее, прокси-сервер был необходим для выполнения функций кэширования данных, что ускоряло работу пользователя с веб-ресурсами. Но это потеряло актуальность с развитием динамического контента.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: