Конфигурирование Squid
Squid можно настроить, отредактировав конфигурации . Отдельные файлы конфигурации могут быть включены с помощью директивы include.
Файл конфигурации содержит комментарии, описывающие, что делает каждый параметр конфигурации.
Прежде чем вносить какие-либо изменения, рекомендуется создать резервную копию исходного файла:
Чтобы изменить конфигурацию, откройте файл в текстовом редакторе:
По умолчанию Squid прослушивает порт на всех сетевых интерфейсах.
Запуск Squid на всех интерфейсах и на порте по умолчанию должен подойти большинству пользователей.
Списки контроля доступа (ACL) позволяют вам контролировать доступ клиентов к веб-ресурсам. По умолчанию Squid разрешает доступ только с локального хоста.
Если все клиенты, которые будут использовать прокси-сервер, имеют статический IP-адрес, самый простой вариант — создать ACL, который будет включать разрешенные IP-адреса.
Вместо добавления IP-адресов в основной файл конфигурации мы создадим новый включаемый файл, в котором будут храниться IP-адреса:
После этого откройте основной файл конфигурации и создайте новый ACL с именем (первая выделенная строка) и разрешите доступ к этому ACL с помощью директивы (вторая выделенная строка):
Порядок правил важен. Убедитесь, что вы добавили строку, прежде чем .
Директива работает аналогично правилам брандмауэра. Squid читает правила сверху вниз, и когда правило соответствует приведенным ниже правилам, они не обрабатываются.
Всякий раз, когда вы вносите изменения в файл конфигурации, вам нужно перезапустить службу Squid, чтобы изменения вступили в силу:
Как использовать прокси на компьютере
Этим способом айпи настраивается для всей системы. Что это значит: все программы, мессенджеры, браузеры начнут работать через подключённый IP-адрес. Вообще все.
Для примера мы взяли самые популярные ОС – Windows и Mac OS.
Windows
Данный метод не работает для Mozilla Firefox! Для этого браузера айпи подключается отдельно.
Чтобы настроить прокси в “десятке”, делаем следующее:
- Нажимаем “Пуск”.
- Кликаем по значку шестерёнки. Выбираем “Параметры”.
- Переходим в раздел “Сеть и Интернет”.
- Заходим в блок “Прокси-сервер”.
- Открываем пункт “Настройка прокси вручную”.
- Перематываем ползунок на “Вкл.”.
- Вписываем IP-адрес прокси и порт.
- Нажимаем “Сохранить”.
Как только откроете браузер, появится окошко. Вводим туда логин и пароль промежуточного сервера и кликаем “Вход”.
Mac OS
Здесь два способа настроить прокси: во всей системе и отдельно для Safari. Даём инструкцию к каждому из них, потому что если подключите промежуточный сервер во всей системе, то в «Сафари» он всё равно работать не будет, там IP настраивается отдельно.
Во всей системе
Этот метод не работает для Mozilla Firefox и Safari!
Алгоритм добавления IP-адреса следующий:
- Открываем настройки системы и выбираем “Системные настройки”.
- Слева указываем, в каком случае использовать промежуточный сервер. По дефолту в настройках выбрано Wi-Fi-подключение.
- Нажимаем “Дополнительно”.
- Кликаем “Прокси”.
- Выбираем тип IP.
- Ставим галочку напротив пункта “Прокси-сервер требует пароль” и вписываем данные прокси: айпи, порт, логин, пароль.
- Нажимаем “ОК”.
Когда откроете Google Chrome и Яндекс.Браузер, они попросят ввести логин и пароль айпи ещё раз.
В Safari
- Открываем раздел “Safari” и выбираем пункт “Preferences”.
- Переходим из раздела “Основные” в пункт “Дополнения”. Затем нажимаем “Изменить настройки”.
- Открываем блок “Прокси”.
- Выбираем тип прокси.
- Прописываем IP и порт промежуточного сервера. Ставим галочку напротив пункта “Прокси-сервер требует пароль” и указываем логин и пароль прокси.
- Нажимаем на замок.
- Кликаем “ОК”.
Если хотите ограничить работу айпи для определённых сайтов, напишите их адрес в поле “Не использовать прокси для следующих узлов и доменов”.
Как подключить IP-адрес в браузере
Для примера мы выбрали два самых популярных — Google Chrome и Mozilla Firefox.
Google Chrome
Алгоритм такой:
- Нажимаем на три точки справа вверху и открываем “Настройки”.
- Скроллим в самый низ и кликаем “Открыть настройки прокси-сервера для компьютера”.
- Выбираем “Настройка сети”.
- Ставим галочку напротив пункта “Использовать прокси-сервер для локальных подключений” и нажимаем “Дополнительно”.
- Вписываем IP-адрес и порт только в одно поле. Если используем протокол HTTP, то строки с остальными протоколами должны быть пустыми. То же самое относится и к SOCKS и HTTP прокси. Кликаем “ОК”.
- Перезапускаем браузер.
Когда Google Chrome откроется, появится окошко. Вводим в него логин и пароль прокси, а после нажимаем “Вход”.
Mozilla Firefox
В этом браузере устанавливаем расширение FoxyProxy. С помощью этого плагина айпи включаются и отключаются в один клик, между адресами переключаться удобно — просто кликнул на нужный прокси и всё.
Как пользоваться расширением:
- Нажимаем на значок FoxyProxy справа вверху.
- Выбираем “Настройки”.
- Затем слева кликаем “Добавить”.
- Если используем несколько IP-адресов, придумываем название каждому из них, чтобы не запутаться.
- Выбираем тип прокси. Тип айпи-адреса прописан в личном кабинете сервиса, в котором мы купили промежуточный сервер.
- Вводим данные IP: сервер, порт, логин и пароль.
- Затем выбираем айпи, которым будем пользоваться прямо сейчас.
Чтобы узнать, работает прокси или нет, переходим во вкладку “Какой у меня IP-адрес?”.
Если расширение покажет чужой айпи, значит, всё работает.
Настройка пользователей
После этого нужно создать файл, содержащий имена пользователей и хэши их паролей. Для этого можно воспользоваться утилитой из пакета или следующим скриптом:
#/usr/bin/env bash user=$1 realm=$2 password=$3 if ; then echo "Usage $0 user realm " exit 1 fi if ; then echo -n Password: read -s password echo fi digest=$(echo -n "$user:$realm:$password"|md5sum|cut -f1 -d' ') echo "$user:$realm:$digest"
Сохраните его в папку под именем . Не забудьте изменить права:
chmod +x /etc/squid/genpasswd
А сейчас, с помощью нашего скрипта, создадим файл с единственным, пока, пользователем:
/etc/squid/genpasswd myuser myproxy > /etc/squid/users
Скрипт запросит у вас пароль и запишет строку с аутентификационными данными пользователя в файл . Если нужно, вы можете добавить еще одного:
/etc/squid/genpasswd otheruser myproxy >> /etc/squid/users
В Ubuntu 18.04 демон squid запускает программу аутентификации от имени пользователя proxy, который создается в процессе установки. Поэтому нам надо изменить атрибуты нашего файла с пользователями:
chmod 640 /etc/squid/users chgrp proxy /etc/squid/users
После всех наших действий перезапустим сервис следующей командой:
systemctl restart squid.service
Но перед этим желательно проверить правильность файла настроек при помощи:
squid -k check
Дополнительные настройки
Настройки, которые могут не понадобиться. Но они позволят настроить дополнительные возможности прокси-сервера.
Настройка портов и прокси-интерфейсов
При необходимости, можно настроить 3proxy на использование разных интерфейсов на разных портах:
vi /etc/3proxy/3proxy.cfg
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
Ограничение пропускной способности
При необходимости, можно ограничить скорость.
vi /etc/3proxy/3proxy.cfg
bandlimin 1000000 user1,user3
bandlimin 5000000 user2,user4
* в данном примере пользователям user1 и user3 установлено ограничение в 1000000 бит/сек (1 мбит); для user2 и user4 — 5 мбит/сек.
systemctl restart 3proxy
Ограничения доступа
Можно ограничить доступ и разрешить только для определенных портов, сетей и пользователей.
vi /etc/3proxy/3proxy.cfg
Синтаксис:
allow <userlist> <sourcelist> <targetlist> <targetportlist> <commandlist> <weekdays> <timeperiodslist>
deny <userlist> <sourcelist> <targetlist> <targetportlist> <commandlist> <weekdays> <timeperiodslist>
* где:
- userlist — список пользователей через запятую.
- sourcelist — сети клиентов через запятую.
- targetlist — сети назначения через запятую.
- targetportlist — порты назначения через запятую.
- commandlist — команды, к которым применяется правило.
- weekdays — в какие дни недели работает правило. 0 — 6 — Пн — Вс, 7 — тоже Вс.
- timeperiodslist — время, когда работает правило. Указываются диапазоны.
Примеры:
allow * * * 80 HTTP
allow * * * 443,8443 HTTPS
allow * * * 21 FTP
* в данном примере пользователям 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.
systemctl restart 3proxy
Рассмотрим настройку переменных для использования прокси
Используйте следующий синтаксис для настройки таких типов трафика как http, https, socks и ftp из командной строки:
Используйте следующий синтаксис, если прокси-сервер требует аутентификацию:
Если Ваш пароль содержит спец. символы, Вы должны заменить их на ASCII коды.
Например символ собаки @, должен быть заменен на «%40».
Настроить прокси на системном уровне можно и через конфигурационные файлы (True UNIX-way). Для этого нужно открыть на редактирования с правами root файл
В конец файла добавим строки:
Если прокси без авторизации, то строки должны быть вида:
Для применения настроек придется перезагрузит систему, изменения в файле вступили в силу при запуске процесса init — родителя всех процессов в системе и именно от него все дочерние процессы унаследуют настройки прокси в переменных окружения.
Перенаправление только для подключения ESETЧтобы разрешить перенаправление только для подключения ESET, удалите эти параметры:
<Proxy *>Order deny,allowDeny from allAllow from all</Proxy> |
И добавьте следующие:
<Proxy *> Deny from all </Proxy> #*.eset.com: <ProxyMatch ^(?://)?(*@)?({0,63}\.)?{0,63}\.\.(:+)?(/.*)?$> Allow from all </ProxyMatch> #*.eset.eu: <ProxyMatch ^(?://)?(*@)?({0,63}\.)?{0,63}\.\.(:+)?(/.*)?$> Allow from all </ProxyMatch> #*.eset.systems: <ProxyMatch ^(?://)?(*@)?({0,63}\.)?{0,63}\.\.(:+)?(/.*)?$> Allow from all </ProxyMatch> #Antispam module (ESET Mail Security only): <ProxyMatch ^(?://)?(*@)?(ds1-uk-rules-1.mailshell.net|ds1-uk-rules-2.mailshell.net|ds1-uk-rules-3.mailshell.net|fh-uk11.mailshell.net)(:+)?(/.*)?$> Allow from all </ProxyMatch> #Services (activation) <ProxyMatch ^(?://)?(*@)?(edf-pcs.cloudapp.net|edf-pcs2.cloudapp.net|edfpcs.trafficmanager.net)(:+)?(/.*)?$> Allow from all </ProxyMatch> #ESET servers accessed directly via IP address: <ProxyMatch ^(?://)?(*@)?(91.228.165.|91.228.166.|91.228.167.|38.90.226.)(+)(:+)?(/.*)?$> Allow from all </ProxyMatch> #AV Cloud over port 53535 <ProxyMatch ^.*e5.sk.*$> Allow from all </ProxyMatch> |
Шаг 6 — Установка и настройка Nginx
На этом шаге мы выполним установку Nginx и настроим домены и как виртуальные хосты Nginx. Полное руководство по настройке виртуальных хостов в Nginx можно найти в документе .
Установите Nginx с помощью диспетчера пакетов:
Затем удалите соединение symlink по умолчанию виртуального хоста, поскольку мы больше не будем его использовать:
Позднее мы создадим собственный сайт по умолчанию ().
Теперь мы создадим виртуальные хосты для Nginx, используя ту же процедуру, что использовалась для Apache. Вначале необходимо создать корневые каталоги документов для обоих сайтов:
Мы будем хранить сайты Nginx в каталоге , где Nginx требуется хранить их по умолчанию. Вы можете поместить их в каталог с сайтами Apache, но разделение поможет привязать сайты к Nginx.
Как и в случае с виртуальными хостами Apache, после завершения настройки следует создать файлы и для тестирования:
Теперь создайте файл виртуального хоста для домена :
Nginx вызывает области серверных блоков файла конфигурации Создайте серверный блок для главного виртуального хоста, . Директива делает его виртуальным хостом по умолчанию для обработки запросов HTTP, не соответствующих никакому другому виртуальному хосту.
/etc/nginx/sites-available/example.com
Сохраните и закройте файл. Создайте файл виртуального хоста для второго домена Nginx, :
Добавьте в файл следующее:
/etc/nginx/sites-available/sample.org
Сохраните и закройте файл.
Затем активируйте оба сайта, создав символические ссылки на каталог :
Протестируйте конфигурацию Nginx и убедитесь в отсутствии проблем с конфигурацией:
При обнаружении ошибок перезагрузите Nginx:
Получите доступ к файлу виртуальных хостов Nginx через браузер по адресам http://example.com/info.php и http://sample.org/info.php. Снова изучите разделы PHP Variables.
должен иметь значение , указывая, что файлы обслуживались Nginx напрямую. должен указывать на каталог, ранее созданный на этом шаге для каждого из сайтов Nginx.
К настоящему моменту мы установили Nginx и создали два виртуальных хоста. Далее мы настроим Nginx на запросы прокси-сервера, предназначенные для доменов Apache.
Сценарии включения / выключения прокси-сервера:
Отказ от ответственности :: Прежде чем продолжить, обратите внимание, что я пробовал это на Lubuntu 14.04, и ВАЖНО, что перед запуском указанных скриптов файл /etc/environment должен содержать только одну строку, то есть «$ PATH …», и в файле ничего не должно быть, иначе вам может понадобиться изменить код скрипта. Эти сценарии устанавливают и освобождают прокси-сервер, как описано выше, но они полагаются на усечение файлов и добавление файлов для изменения файлов /etc/environment и /etc/apt/apt.conf.d/95proxies. Поэтому убедитесь, что:
Поэтому убедитесь, что:
1) /etc/environment содержит только одну строку, то есть «$ PATH: …». И ничего больше.
2) Файл /etc/apt/apt.conf.d/95proxies не существует или не имеет в нем ничего важного. Итак! Если вы хотите автоматизировать процесс включения и выключения прокси-сервера, не вводя его
вы можете сделать два исполняемых сценария оболочки proxyon.sh и proxyoff.sh как:
Итак! Если вы хотите автоматизировать процесс включения и выключения прокси-сервера, не вводя его. вы можете сделать два исполняемых сценария оболочки proxyon.sh и proxyoff.sh как:
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
Прокси-сервер на Linux
Стандартных возможностей операционной системы от Microsoft не всегда достаточно для гибкой настройки соединения, поэтому прокси-сервер на Линукс чаще используют для организации корпоративных сетей. Специалисты сходятся во мнении, что для компании идеальным решением является отдельный компьютер и только на базе Unix системы. В этой статье мы не станем сравнивать и определять лучший вариант, а просто предоставим вам инструкцию по настройка прокси-сервера Linux. Она составлена для пользователей Squid — ПО под Ubuntu.
Откройте терминал и введите:
sudo apt-get download squid squid common.
Сделайте копию конфигурационного файла и защитите его от редактирования:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original
sudo chmod a-w /etc/squid/squid.conf.original.
Наберите команду:
sudo vi /etc/squid/squid.conf.
Чтобы приступить к редактированию, наберите «ifconfig» и запишите номер рядом с «IP Address».
Наберите:
acl internal_network src 192.168.0.0/24
http_access allow internal_network (вместо указанного IP укажите ваш).
Выполните две последующие команды:
sudo chown -R proxy:proxy /var/log/squid/
sudo chown proxy:proxy /etc/squid/squid.conf.
Перезагрузите прокси-сервер Linux следующей командой:
sudo /etc/init.d/squid restart.
Чтобы завершить настройку, откройте браузер и укажите порт 3128. Можно приступать к работе, соединение защищено.
Более простой и удобный путь — работать через быстрые и удобные анонимные прокси-серверы. Для этого достаточно всего лишь выбрать на нашем сайте наиболее подходящий для вас пакет и оплатить его. Более подробную информацию можно получить у наших менеджеров.
Ubuntu Desktop Network Settings
Ubuntu 18.04 Network Proxy Settings
To configure your proxy settings in Ubuntu Desktop you need to access Network Settings. Within there you can set a number of parameters, including proxy settings for HTTP traffic, HTTPS traffic, and FTP traffic.
Equally as important as setting your Internet proxy settings is setting Ignore Hosts, to prevent local traffic from going through your proxy server.
To set your proxy in Ubuntu Desktop, do the following:
- Open the Application launcher by clicking the “Show Applications” icon, located at the bottom of the left-hand quick application access bar.
- Type in ‘Settings’
- Click the ‘Settings’ icon.
-
From the left-hand navigation, click the Network tab.
-
Click the cog icon near the Network Proxy label.
- A dialog box will appear where you can set your proxy settings.
-
In the appropriate text fields, enter your proxy server’s hostname or IP address. Ensure you change the port number to match your proxy server’s, too.
- Close the dialog box. Your settings will be automatically saved.
Установка и настройка Squid
Устанавливаем squid следующей командой:
sudo apt-get install squid -y
Во-первых, для удобства мы сделаем резервную копию файла просто переименовав его в . А во-вторых, создадим файл конфигурации, убрав все комментарии и пустые строки. Для удобства все наши дальнейшие действия будем выполнять с правами root.
sudo -i mv /etc/squid/squid.conf /etc/squid/squid.conf.dist cat /etc/squid/squid.conf.dist | grep -v ^$ | grep -v ^# > /etc/squid/squid.conf
После установки наш прокси-сервер принимает входящие соединения с любых адресов на порту 3128 без какой-либо аутентификации и авторизации.
Наша задача настроить сервер таким образом, чтобы им могли пользоваться только те, кому мы дадим к нему доступ. Для этого в начало файла вставьте следующие строки:
auth_param digest program /usr/lib/squid/digest_file_auth -c /etc/squid/users auth_param digest children 5 startup=1 idle=1 auth_param digest realm myproxy acl auth_users proxy_auth REQUIRED
В этот же файл добавьте правило доступа:
http_access allow auth_users
сразу выше строки .
В конечном итоге у вас должно получиться примерно следующее содержимое :
auth_param digest program /usr/lib/squid/digest_file_auth -c /etc/squid/users auth_param digest children 5 startup=1 idle=1 auth_param digest realm proxy acl auth_users proxy_auth REQUIRED acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localhost http_access allow auth_users http_access deny all http_port 3128 coredump_dir /var/spool/squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 refresh_pattern . 0 20% 4320
Пару моментов перед тем как начать
- Я выбрал Digital Ocean (DO) как хостинг провайдера для VDS прокси-сервера, в основном, потому что у них замечательная техническая поддержка, API, крутой продукт, и огромное количество полезных и нужных дроплетов полезных сервисов, которые разворачиваются в один клик;
- В частности вот список того, что DO прекрасно делает за вас:
- Присвоить ssh ключ новому дроплету;
- Создать снэпшот (бекап);
- Создать дроплет в один клик;
- Профит;
- Я следовал туториалам, которые нашел в интернете. Благодарности тем ребятам, что их написали:
- https://www.tazdij.com/post/setup-dante-1.4.1-sockd-dante-server-on-ubuntu-16.04 ;
- https://krasovsky.me/it/2017/07/socks5-dante/ ;
- https://la2ha.ru/dev-seo-diy/unix/socks5-proxy-server-ubuntu ;
- https://krasovsky.me/it/2017/07/socks5-dante/ ;
- На самом деле, этот гайд является компоновкой этих плюс то, как сгенерировать ssh ключи и создать дроплеты в DO;
- Я выбрал только открытый софт и предполагаю, что вы будете использовать Ubuntu 16;
- Я буду рассказывать больше для Windows пользователей, обычно блоги представленные выше рассказывают для Linux или Mac пользователей;
- Если вы используете эту реферальную ссылку, вы получите 10$ на аккаунт Digital Ocean, этого вам хватит на 2 месяца использования, как раз чтобы понять, нужно ли оно вам или нет;
Итак, начнем.
Шаг первый — аренда хостинга
- Проследуйте по моей ссылке
- Создайте аккаунт и добавьте свои платежные данные
- Выберете самый дешевый тариф как описано ниже (не бойтесь нафакапить, у вас будут списывать деньги за час, а не сразу за весь месяц)
Просто создайте дроплет. Меню может изменится в будущем, но все будет понятно
Выберете Ubuntu 16.04. Я все тестировал на этой системе
Выберите самый дешевый тариф. Провайдеры типа Vulture или Hetzner дешевле, но у DO отличнейший сервис
Выберите регион, который ближе всего к вашему
Вы можете заметить, что у вас нет ssh ключа в вашем аккаунте. Если так, то вот чуть про ssh ключи и как их настроить
Если вы пользователь Windows — не беспокойтесь, я расскажу как легко работать с ssh ключами в Windows.
Шаг второй — доступ до вашего VDS
Если вы Linux или Mac пользователь, то вы скорее всего уже знаете как сгенерировать ssh ключи и как использовать их. В этом случае, просто загрузите публичный ключ на ваш аккаунт Digital Ocean и проследуйте дальше.
Также — включение двухфакторной аутентификации добавит безопасности и избавит от головной боли в случае чего.Это меню находит в разделе Settings -> Secuity tab
Загрузка вашего ключа это просто копирование и вставка вашего публичного ключа
Есть один момент — DO ожидает формат вашего ключа как если бы он был сгенерирован Linux ssh генератором. Это выглядит вот так:
Настройка Tinyproxy
Чтобы настроить прокси-сервер нужно отредактировать файл tinyproxy.conf, который располагается в каталоге /etc.
nano /etc/tinyproxy.conf
Стоит обратить внимание на следующие директивы
- Port — порт на котором работает прокси-сервер. По умолчанию используется 8888 порт. Можно изменить на любой другой.
- ConnectPort — данная директива определяет использование метода CONNECT позволяющего передавать зашифрованные HTTPS-соединения. По умолчанию Tinyproxy настроен на прослушивание двух портов по методу CONNECT — 443 и 563. Если выставить значение данных директив в 0 или закомментировать их, то Tinyproxy не сможет подключаться к HTTPS сайтам.
- Listen — по умолчанию закомментирована/отключена. Listen используется для указания сетевого интерфейса, с использованием которого будет работать прокси-сервер, если на машине несколько сетевых интерфейсов и каждый из них имеет свой ip-адрес.
- Allow — разрешает доступ к прокси-серверу. По умолчанию разрешены подключения на только localhost (Allow 127.0.0.1). Чтобы разрешить подключение к серверу нужно добавить свой ip-адрес/подсеть или ip-адрес/подсеть того человека, которому вы хотите дать доступ на сервер. Если вы хотите разрешить доступ всем подряд, то нужно добавить Allow 0.0.0.0/0 (категорически не стоит этого делать).
- Timeout — определяет временной отрезок, по истечении которого неактивное соединение будет закрыто. Значение по умолчанию равно 600 секунд, можно уменьшить до 300 (если у вас хороший канал).
- MaxClients — определяет максимальное количество одновременно подключенных клиентов. Если сервер используется в частных целях (не публичный), то количество можно уменьшить, например до 20.
- MinSpareServers — минимальное количество процессов. Если количество процессов меньше минимального значения, то будут созданы новые. По умолчанию 5.
- MaxSpareServers — максимальное количество процессов. Если количество процессов больше максимального, то лишние будут закрыты. По умолчанию 20.
- StartServers — количество одновременно запускаемых процессов при загрузке. Значение не должно быть меньше чем MinSpareServers.
Остальные настройки оставляем со значениями по умолчанию. Tinyproxy и по дефолту неплохо работает. Настройки отвечающие за анонимность рассмотрим отдельно.
Обновлено 06.11.2018 — настройка для Ubuntu 18.04 (есть небольшие отличия).
Ubuntu Terminal Proxy Settings
Like every Linux distribution, proxy settings can be set using environment variables. There are a number of variables available to use, ranging from HTTP traffic to FTP traffic.
Proxy settings can be either persistent by setting them in your profile, or non-persistent by setting them from the shell session.
Variable | Description |
---|---|
http_proxy | Proxy server for HTTP Traffic. |
https_proxy | Proxy server for HTTPS traffic |
ftp_proxy | Proxy server for FTP traffic |
no_proxy | Patterns for IP addresses or domain names that shouldn’t use the proxy |
The value for every proxy setting, except for no_proxy, uses the same template. They all require a hostname, but you may optionally specify a proxy server port and your user credentials if required to do so. For example:
proxy_http=username::port
Single User Temporary Proxy Settings
You may not always want to force Internet traffic through a proxy. Sometimes you need to override existing settings, and you can do this safely by setting the proxy environment variables from the command line.
The following will set a proxy for HTTP and HTTPS, while preventing local traffic from going through the proxy. Our example proxy server endpoint is my.proxy.server:8080 for HTTP traffic and my.proxy.server:8081 for HTTPS.
- Open a Terminal window where you need proxy access.
- Set and export the HTTP_PROXY variable.
export HTTP_PROXY=user::8080
- Set and export the HTTPS_PROXY variable.
export HTTPS_PROXY=user::8081
- Set and export the NO_PROXY variable to prevent local traffic from being sent to the proxy.
export NO_PROXY=localhost,127.0.0.1,*.my.lan.domain
Шаг 10 — Блокировка прямого доступа к Apache (опционально)
Поскольку Apache прослушивает порт на публичном IP-адресе, он доступен кому угодно. Его можно заблокировать с помощью следующей команды IPtables в наборе правил брандмауэра.
Обязательно используйте IP-адрес своего сервера вместо выделенного красным адреса в примере. Когда ваш брандмауэр заблокирует порт , убедитесь в недоступности Apache через этот порт. Для этого откройте браузер и попробуйте получить доступ к любому из доменных имен Apache через порт . Например: http://example.com:8080
Браузер должен вывести сообщение об ошибке Unable to connect (Не удается подключиться) или Webpage is not available (Страница недоступна). Если используется опция IPtables , сторонний наблюдатель не увидит разницы между портом и портом, где отсутствует какое-либо обслуживание.
Примечание. По умолчанию правила IPtables теряют силу после перезагрузки системы. Существует несколько способов сохранения правил IPtables, но проще всего использовать параметр в хранилище Ubuntu. Прочитайте эту статью, чтобы узнать больше о настройке IPTables.
Теперь настроим Nginx для обслуживания статических файлов для сайтов Apache.