apt-add-repository
Многие компании и университеты блокируют все неизвестные порты наружу. Обычно блокируется и порт 11371, используемый утилитой apt-add-repository для добавления репозиториев. Есть простое решение, как получать ключи репозиториев через 80-ый порт, который используется для доступа к web-страницам и чаще всего не блокируется.
Редактируем файл /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py (нужны привилегии root, вместо /usr/lib/python2.6 может быть версия 2.7). Ищем фразу keyserver.ubuntu.com, заменяем
hkp://keyserver.ubuntu.com
на
hkp://keyserver.ubuntu.com:80
В версии 16.04 достаточно иметь настроенной переменную окружения
Общесистемные прокси в Ubuntu Studio, Xubuntu и XFCE должны быть установлены через переменные среды
Ubuntu Studio, как и Xubuntu, использует среду рабочего стола XFCE, которая не содержит графического инструмента настройки для настройки прокси-серверов в масштабе всей системы (в ).
1. Настройте прокси / прокси для большинства программ
- Открой файл с (или ваш любимый редактор). В этом файле хранятся общесистемные переменные, инициализированные при загрузке.
-
Добавьте следующие строки, изменяя соответствующим образом. Вы должны дублировать оба в верхнем и нижнем регистре, потому что (к сожалению) некоторые программы ищут только одну или другую:
http_proxy = HTTP://myproxy.server.com:8080/ https_proxy= HTTP://myproxy.server.com:8080/ ftp_proxy= HTTP://myproxy.server.com:8080/ no_proxy="локальный,127.0.0.1,localaddress,.localdomain.com" HTTP_PROXY= HTTP: //myproxy.server.com: 8080 / Https_proxy = HTTP://myproxy.server.com:8080/ FTP_PROXY= HTTP://myproxy.server.com:8080/ No_proxy = "локальный, 127.0.0.1, localaddress,.localdomain.com"
2. Затем настройте прокси для программ GTK3, таких как Rhythmbox:
Некоторые новые программы GTK3, такие как Rhythmbox, игнорируют переменные окружения, установленные выше, и вместо этого полагаются на настройки Gnome. Чтобы убедиться, что они закрыты, откройте терминал и построчно вставьте нижеприведенную строку, изменив соответствующим образом:
3. Наконец, настройте прокси для и менеджер обновлений
Эти программы также не будут подчиняться переменным среды. Создайте файл с именем 95proxies в /etc/apt/apt.conf.d/и включают следующее:
Получить::http::proxy «http://myproxy.server.com:8080/»;
Получить:: ftp:: прокси «ftp://myproxy.server.com:8080/»;
Получить::https::proxy «https://myproxy.server.com:8080/»;
Наконец, выйдите из системы и перезагрузитесь, чтобы изменения вступили в силу.
Уменьшить размер системных журналов (логов) Ubuntu
Ubuntu ведет целую кучу журналов. Как общесистемных, так
и журналов отдельных программ и служб.
Как правило все эти журналы хранятся в папке /var/log.
Если эта папка размещена на разделе root (/) то в
некоторых случаях возможно такое увеличение размера этой папки, что будет
забито все свободное место на разделе root, вплоть
до невозможности запуска операционной системы. Это нетипичная ситуация, но
такое случается.
Поэтому лучше настроить систему хранения
журналов таким образом, чтобы максимально снизить объем хранимой информации.
Делать это правильнее через настройку специальной
программы logrotate. Эта программа удаляет архивные копии журналов с
указанной периодичностью. Настройки программы хранятся в папке
/etc/logrotate.d. Каждый файл в этой папке
определяет управление журналами конкретной программы. Например файл /etc/logrotate.d/rsyslog
это управление системными журналами. Для уменьшения размера хранимых
журналов, в этих файлах нужно указать параметры rotate 0 и daily. Можно
также добавить и ограничение по размеру журнала, например size 10M (10 мегабайт).
sudo gedit /etc/logrotate.d/rsyslog
И затем отредактировать этот файл. Так же
можно сделать с
другими файлами в этой папке. Можно изменить глобальные настройки для
программы logrotate, через файл /etc/logrotate.conf.
После изменения настроек ротации журналов, можно удалить
все старые журналы (логи). Команда в терминале:
sudo find /var/log -type f -name «*.gz» -delete
Configuring Squid #
Squid can be configured by editing the configuration file. Separate configuration files can be included using the “include” directive.
The configuration file includes comments describing what each configuration option does.
Before making any changes, it is always a good idea to back up the original file:
To modify the configuration, open the file in your text editor :
By default, Squid listens on port on all network interfaces.
If you want to change the port and set a listening interface, locate the line starting with and specify the interface IP address and the new port. If no interface is specified Squid will listen on all interfaces.
/etc/squid/squid.conf
Running Squid on all interfaces and on the default port should be fine for most users.
The Access Control Lists (ACLs) allows you to control how the clients can access web resources. By default, Squid allows access only from the localhost.
If all of the clients that will use the proxy have a static IP address the simplest option is to create an ACL that will include the allowed IPs.
Instead of adding the IP addresses in the main configuration file we will create a new include file that will store the IP addresses:
/etc/squid/allowed_ips.txt
Once done open the main configuration file and create a new ACL named (first highlighted line) and allow access to that ACL using the directive (second highlighted line):
/etc/squid/squid.conf
The order of the rules is important. Make sure you add the line before .
The directive works in a similar way as the firewall rules. Squid reads the rules from top to bottom, and when a rule matches the rules below are not processed.
Whenever you make changes to the configuration file you need to restart the Squid service for the changes to take effect:
Шаг 2: создание тестовых бэкенд-серверов
Запуск нескольких базовых бэкенд-серверов – отличная возможность протестировать, корректно ли работает Apache. Поэтому необходимо создать два сервера, которые будут отвечать на HTTP-запросы, печатая строку текста. Один будет отвечать “Hello world!”, другой “ Hello Timeweb!”.
Примечание. Если говорить не о тестовом запуске, то обычно бэкенд-серверы отдают одинаковый тип контента. Однако для тестирования будет удобнее, если это будет два сервера с разными сообщениями, потому что так будет проще отследить, что балансировка нагрузки работает корректно.
Flask – это микрофреймворк Python, который используется для создания веб-приложений. В этом руководстве мы будем использовать Flask, так как для написания базового приложения требуется всего несколько строк. Вам необязательно знать Python для того, чтобы выполнить дальнейшие действия.
Для начала обновите список доступных пакетов:
$ sudo apt-get update
Теперь установите Pip, рекомендованная система управления пакетами Python.
$ sudo apt-get -y install python3-pip
И уже при помощи Pip установите Flask:
sudo pip3 install flask
Теперь, когда все необходимые компоненты установлены, можно перейти к созданию файла, в котором будет находиться необходимый для первого бэкенд-сервера код.
Файл можно создать в домашней директории пользователя, под которым вы авторизованы.
$ nano ~/backend1.py
Скопируйте в файл текст, который приведен ниже, а затем сохраните и закройте файл.
from flask import Flask app = Flask(__name__) @app.route('/') def home(): return 'Hello world!'
Первые две строчки инициализируют фреймворк Flask. Единственная функция home() будет отдавать строку текста (“Hello world!”). А за то, чтобы этот текст появлялся в ответ на HTTP-запросы, отвечает @app.route(‘/’).
Второй бэкенд-сервер будет точно таким же, как и первый, кроме единственного отличия в тексте.
Поэтому для начала необходимо скопировать первый файл:
$ cp ~/backend1.py ~/backend2.py
Теперь откройте новый скопированный файл:
$ nano ~/backend2.py
И в последней строчке вместо “Hello world!” напишите, к примеру, “Hello Timeweb!”:
return 'Hello Timeweb!'
Команда ниже запустит первый бэкенд-сервер, его порт 8080.
$ FLASK_APP=~/backend1.py flask run --port=8080 >/dev/null 2>&1 &
Второй сервер тоже необходимо запустить, его порт 8081:
$ FLASK_APP=~/backend2.py flask run --port=8081 >/dev/null 2>&1 &
Теперь протестируем работу обоих серверов.
Сначала первого:
$ curl http://127.0.0.1:8080/
В ответ вы должны получить “Hello world!”.
Затем второй:
$ curl http://127.0.0.1:8081/
В этом случае вы увидите в терминале надпись “Hello Timeweb!”.
Примечание. Для того, чтобы закрыть оба тестовых сервера (например, после выполнения всех действий в этом руководстве), вы можете просто выполнить следующую команду: killall flask.
Далее мы изменим конфигурационный файл Apache для того, чтобы появилась возможность использовать его в качестве обратного прокси-сервера.
Squid аутентификация
Squid может использовать разные серверные части, включая Samba , LDAP и базовую аутентификацию HTTP для аутентифицированных пользователей.
В этом руководстве мы настроим Squid для использования базовой аутентификации. Это простой метод аутентификации, встроенный в протокол HTTP.
Мы будем использовать, чтобы сгенерировать пароли и добавить пару в файл, используя команду, как показано ниже:
Давайте создадим пользователя с именем «josh» с паролем « »:
Теперь, когда пользователь создан, следующим шагом будет включение базовой аутентификации HTTP и включение файла.
Откройте основную конфигурацию и добавьте следующее:
/etc/squid/squid.conf
Первые три выделенные строки создают новый ACL с именем, а последняя выделенная строка разрешает доступ аутентифицированным пользователям.
Перезапустите сервис Squid:
Контроль доступа к сайтам
С помощью прокси-сервера SQUID мы можем разрешать и запрещать доступ к определенным сайтам. Рассмотрим два сценария — запретить определенные сайты или разрешить только конкретные сайты.
Разрешаем все, кроме определенного списка
Открываем конфигурационный файл:
vi /etc/squid/squid.conf
В разделе с acl добавим строку:
acl BLOCKED url_regex -i «/etc/squid/denysite»
* в данном примере мы создаем acl с названием BLOCKED — по сути, список, который будет читаться из файла /etc/squid/denysite.
Выше разрешающих правил добавляем строку:
http_access deny BLOCKED
…
http_access allow localnet
http_access allow localhost
* данная строка указывает прокси-серверу на блокироку acl с названием BLOCKED.
Создаем файл со списком запрещенных сайтов:
vi /etc/squid/denysite
* в данном примере мы запретили доступ к сайтам web.whatsapp.com, и всем их поддоменам, а также к vk.com (поддомены vk.com разрешены).
Перечитываем конфигурацию:
systemctl reload squid
Запретить все, кроме некоторых сайтов
Теперь рассмотрим обратную ситуацию — мы запретим заходить на все сайты, а разрешим только для нескольких. Для этого открываем конфигурационный файл:
vi /etc/squid/squid.conf
В разделе с acl добавим строку:
acl ALLOWED url_regex -i «/etc/squid/allowsite»
* в данном примере мы создаем acl с названием ALLOWED — список, который будет читаться из файла /etc/squid/allowsite.
Комментируем все разрешающие правила и добавляем строку с ALLOWED:
…
#http_access allow localnet
#http_access allow localhost
http_access allow ALLOWED
* в нашей конфигурации используется только эти разрешающие правила на пользователей, но в вашей конфигурации их может быть больше.
Создаем файл со списком разрешенных сайтов:
vi /etc/squid/allowsite
dmosk\.ru
mail\.ru
^fonts\.googleapis\.com/*
* мы разрешаем доступ к сайтам dmosk.ru, mail.ru и всех и всем их поддоменам, а также к fonts.googleapis.com.
Перечитываем конфигурацию:
systemctl reload squid
Предварительная загрузка программ на старте Ubuntu
Есть специальные программы, которые управляют
очередностью загрузки бинарных модулей в процессе запуска операционной
системы. Они упорядочивают размещение загружаемых бинарников таким образом,
чтобы снизить их фрагментацию в пределах файловой системы. И за счет
снижения фрагментации ускорить их загрузку с диска.
Во многих советах по оптимизации Ubuntu упоминают
программу preload. Ее установку
можно выполнить через терминал:
sudo apt-get install preload
sudo touch /var/lib/preload/preload.state
sudo chmod 644 /var/lib/preload/preload.state
/etc/init.d/preload restart
Примечание
Использование таких программ имеет смысл только в случае
если на компьютере установлен механический (HDD)
диск и при этом есть как минимум 4 Гб оперативной памяти.
А если диск электронный (SSD), тогда
смысла в этих программах нет.
Скрипты для включения / выключения прокси-сервера:
Отказ от ответственности:: Прежде чем продолжить, обратите внимание, что я пробовал это на Lubuntu 14.04, и ВАЖНО, что перед запуском упомянутых скриптов файл должна содержать только одну строку, то есть ‘$PATH…’, и в файле ничего не должно быть, иначе вам может понадобиться изменить код скрипта. Эти сценарии устанавливают и удаляют прокси, как описано выше, но они зависят от усечения файла и добавления файла для изменения. а также файлы
Поэтому убедитесь, что:
а также файлы. Поэтому убедитесь, что:
1) содержит только одну строку, то есть ‘$PATH:…’. И ничего больше.
2) файл не существует или не имеет в этом ничего важного. Так! Если вы хотите автоматизировать процесс включения и выключения прокси без необходимости набирать allot
Вы можете сделать два исполняемых сценария оболочки а также как:
Так! Если вы хотите автоматизировать процесс включения и выключения прокси без необходимости набирать allot. Вы можете сделать два исполняемых сценария оболочки а также как:
Automate Proxy Server Settings In Linux
If you use the same proxy server settings for the , and traffic, you can use the following commands to set and unset the proxy settings:
$ export {http,https,ftp}_proxy="http://PROXY_SERVER:PORT" $ unset {http,https,ftp}_proxy
If you use a proxy server often, you can create Bash functions as follows (add to your file):
# Set Proxy function setproxy() { export {http,https,ftp}_proxy="http://PROXY_SERVER:PORT" } # Unset Proxy function unsetproxy() { unset {http,https,ftp}_proxy }
Reload your file.
$ source ~/.bashrc
Now use the and commands to set and unset Linux proxy server settings.
Глобальные настройки
Для того, чтобы настроить прокси в Ubuntu откройте Системные параметры, перейдите в пункт Сеть. Выберите пункт Сетевая прокси-служба. Смените метод на Вручную и введите ваши настройки прокси. Минус такой настройки в том, что в случае, если у Вас прокси с авторизацией по логину и паролю, то указать эти данные невозможно, и прокси не будет работать.
Настроить прокси на системном уровне можно и через конфигурационные файлы (True UNIX-way). Для этого нужно открыть на редактирования с правами root файл /etc/environment (например sudo nano /etc/environment). В конец файла добавим строки:
Если прокси без авторизации, то строки должны быть вида:
Для применения настроек придется пере-загрузиться, изменения в файле /etc/environment вступили в силу при запуске процесса init — родителя всех процессов в системе и именно от него все дочерние процессы унаследуют настройки прокси в переменных окружения.
Как правила глобальной насторойки прокси достаточно для того что бы все остальные приложения работали через прокси без необходимости настраивать прокси внутри приложения. Однако некоторые приложения не умеют работать с глобальными настройками или им нужны особенные настройки.
Настройка панели Ubuntu 18.04
Панелей в Ubuntu две, это док панель слева (Ubuntu Dash), где находятся иконки запуска приложений и меню, и верхняя панель Ubuntu, на которой расположен системный трей и календарь. Для настройки панелей вам понадобится устанавливать расширения, поэтому сначала ознакомьтесь со статьей установка расширений Gnome. Теперь займемся панелью запуска приложений.
1. Изменение положения Ubuntu Dash
По умолчанию панель запуска приложений Ubuntu находится в левой части экрана. Но её можно перенести вправо или вниз. Для этого откройте настройки системы и на вкладке Панель задач выберите нужное расположение:
Здесь же можно включить автоматическое скрытие и настроить размер значков. Все остальные настройки нам придётся делать с помощью расширений.
2. Как убрать Ubuntu Dash
Если вы хотите полностью скрыть боковую панель Ubuntu, нужно установить расширение Dash to Dock и выполнить в терминале такие команды:
Чтобы вернуть всё обратно, присвойте всем параметрам значение true вместо false.
3. Превратить Ubuntu Dash в Dock
Чтобы открыть настройки расширения, кликните по значку меню правой кнопкой и выберите Dash to Dock Параметры:
Здесь вы можете настроить позицию док панели, например, внизу экрана, размер значков, поведение, а также внешний вид.
4. Превратить Ubuntu Dash в панель
Настойки панели Ubuntu открываются так же, как и в предыдущем варианте, здесь можно настроить размер панели, её расположение (сверху или внизу), а также её поведение.
6. Формат даты и времени
По умолчанию расширение выводит дату в формате %Y-%m-%d. Формат можно изменить с помощью dconf такой командой:
Вот основные сокращения, которые вы можете использовать:
- %A — полное название дня недели;
- %B — название месяца;
- %C — столетие;
- %d — день месяца в формате 01-31;
- %e — день месяца в формате 1-31;
- %H — часы в формате 00-24;
- %I — часы в формате 01-12;
- %m — месяц в формате 01-12;
- %M — минуты в формате 0-59;
- %Y — год;
7. Расположение уведомлений
Окно настроек расширения можно открыть на вкладке Installed Extensions:
Здесь вы можете точно отрегулировать место появления уведомлений по вертикали и горизонтали с помощью двух ползунков. Например, я хочу, чтобы уведомления показывались сверху, слева.
10. Как скрыть верхнюю панель Ubuntu
Чтобы убрать верхнюю панель Ubuntu, используйте расширение Hide Top Bar. После активации расширения панель прячется только тогда, когда её перекрывают какие-либо окна. Если вы хотите прятать панель Ubuntu всегда, откройте настройки расширения и отключите пункт Only hide panel when a window takes the space. Затем включите Show panel when mouse approaches edge of the screen, чтобы отображать панель, когда мышка прикасается к краю экрана.
Шаг 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.
6.1. Настройка панели задач
Панель задач — это измененная версия расширения Dash to Dock. На данной панели отображается кнопка «Показать приложения», а также значки избранных и запущенных приложений.
6.1.1 Закрепить избранных приложения
Самое первое, что всегда делаю, удаляю из избранного лишние значки с панели задач.
И закрепляю нужные приложения, в последствие, когда будут установлены дополнительные приложения их тоже можно закрепить. Пока же избавляемся от лишних и добавляем нужные, что уже установлены в системе.
Делается это через контекстное меню, нажав правой кнопкой по значку:
Чтобы добавить приложение в избранное, нужно нажать на запущенном значке приложения нажать правой кнопкой и выбрать «Добавить в избранное».
Кроме того, добавить в избранное можно, нажав кнопку «Все приложения» и перетащить любой значок на панель задач.
Также, перетаскиванием значков на панели задач можно выставить их порядок сверху вниз.
6.1.2. Настройка размера значков и положение панели задач
Открываем «Параметры» и переходим на вкладку «Панель задач»:
Здесь мы можем задать размер значков на панели. Я предпочитаю делать размер около 36, чтобы больше значков помещалось на панели.
А также можно переместить панель задач вниз, изменив пункт «Положение на экране»:
6.1.3. Изменение расположения кнопки «Показать все приложения»
Вот это как по мне, очень глупое решение, когда эта кнопка расположена внизу панели задач.
Ну или справа, когда панель задач расположена внизу.
Давайте изменим ситуацию и изменим расположения кнопки «Показать все приложения». Для этого открывает редактор dconf, который мы установили в одном из предыдущих пунктов.
И переходим по адресу:
Сразу советую добавить этот адрес в избранное, нажав на значок звездочки на верхней панели:
Находим параметр «show-apps-at-top» (Show application button at top) и включаем его:
В результате, имеем:
6.1.4 Сворачивание одиночного окна приложения по клику на панели задач
Запущенные приложения на панели задач отображаются с оранжевыми кружками.
Мне нравится функция, когда при клике на значке с одним открытым окном приложения, оно сворачивается. Либо разворачивается, если было свернуто.
А если запущенно несколько окон приложения (несколько оранжевых кружков у значка), то отображается предпросмотр открытых:
Чтобы включить этот параметр, нужно открыть редактор dconf, переходим по адресу:
Выключаем чекбокс «Use default value» и в пункте «Custom value» выбираем параметр «minimize-or-previews»:
Вернуть обратно можно, включив чекбокс «Use default value».
Тоже самое можно включить в терминале:
Сбрасывается это значение следующей командой:
6.1.5. Показать значок корзины на панели задач
В Ubuntu 19.10 появилась возможность показать значок корзины на панели задач:
Удобно, чтобы быстро очистить корзину от удаленных файлов или наоборот перейти и восстановить удаленный файл.
Чтобы отобразить значок корзины на панели задач, введите следующую команду в терминале:
А убирается следующей командой:
Можно и через редактор dconf это сделать, перейдите по адресу:
и включите параметр «show-trash».
Как узнать, в каком пакете содержится файл
Если вы компилируете программы из исходных кодов, то вы, наверняка, сталкивались с ошибками компиляции, когда программа не находит какой-либо файл и компиляция обрывается. Что делать в данной ситуации? Понятно, что нужно установить пакет, который содержит требуемый файл. Но как узнать имя этого пакета?
С помощью программы apt-file можно искать по именам файлов в пакетах (как установленных, так и нет). Также она может показать все файлы в пакете.
Установка программы:
sudo apt install apt-file
Сразу после установки кэш данных о программах пуст. Чтобы его обновить нужно выполнить команду:
sudo apt-file update
Когда всё готово, то поиск осуществляется так:
apt-file search ИМЯ-ФАЙЛА
К примеру поиск файла ffi.h:
apt-file search ffi.h
У программы apt-file есть альтернативы, подробности смотрите в статье «Как в Linux узнать, в каком пакете содержится файл».
Дополнительные настройки
Настройки, которые могут не понадобиться. Но они позволят настроить дополнительные возможности прокси-сервера.
Настройка портов и прокси-интерфейсов
При необходимости, можно настроить 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