Клиенты Mikrotik с ограничением скорости Wi-Fi

Обновлено: 21.11.2024

Привет, ребята,
сегодня я покажу вам, как управлять деревом очередей Mikrotik, чтобы ограничить общую пропускную способность (например, вы можете разделить DSL 20 Мбит/с на 4 Мбит/с на 5 пользователей)
В моем пример я ограничу upload+download=20Mbps

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

Затем мы настроим дерево очередей:

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

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

Хотя я сам им редко пользуюсь, многие пользователи Mikrotik знакомы с пакетом «user-manager», созданным mikrotik как универсальное решение для точки доступа для малых и средних установок.

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

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

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

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

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

В этом примере вы можете видеть, что если бы я купил пакет за 30 долларов (кредит-цена = 30000), ему было бы назначено ограничение скорости 512 000/128 000, тогда как при покупке за 90 долларов США было бы установлено ограничение в 2 млн/128 000.< /p>

Отказ от ответственности: я не несу ответственности за то, что вы решите делать с этим скриптом, и/или какой ущерб вы понесете. Он использует функции RouterOS таким образом, который, как я должен предположить, не был предназначен, поэтому пользователь должен быть осторожен.

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

Я рекомендую вам не превышать 500 итераций на RB1000, однако, если вы используете его для теста пропускной способности, вам потребуется всего 4 потока или около того.

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

Сервер — это сервер, к которому вы хотите подключиться, а
Файл — это файл, который вы хотите загрузить (он не сохраняется).
Время – это время, в течение которого вы хотите проводить тест (чтобы вы могли видеть среднюю пропускную способность или контролировать сервер, с которым вы сравниваете).

Файл должен быть index.php или index.html или index.asp и т. д. и т. д.

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

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

Если есть интерес к этому, я мог бы сделать другую версию скрипта, которая может просматривать веб-сайт и загружать несколько страниц одновременно (повышая эффективность использования этого в качестве тестера нагрузки сервера и избегая кэширования с хост-компьютера).< /p>

Обновление: версия 4 скрипта (использует команду :execute вместо планировщика для запуска параллельных процессов)

Управление и ограничение использования пропускной способности Интернета является важной вещью, когда наше интернет-соединение ограничено, например, квотами, ограничивающими пропускную способность интернет-провайдера. Нам нужно ограничить квоту пропускной способности каждого пользователя, подключенного к маршрутизатору Mikrotik. На самом Mikrotik Router уже доступны функции, которые могут ограничивать (лимитировать) пропускную способность — это Queue. На микротике есть два вида очереди

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

2-Дерево очередей: похоже на простую очередь, но более сложную, которая может сузить группу на основе пропускной способности даже иерархически. Мы должны включить эту функцию в Firewall Mangle, если вы хотите использовать дерево очередей.

В этой статье мы сначала обсудим функции Simple Queue.

Простая очередь для обсуждения. На этот раз мы попробуем попрактиковаться в ограничении пропускной способности для всех пользователей с прокси-сервером.Пожалуйста, откройте его и выберите меню Winbox Queues, оно отобразит следующее:

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

Прежде чем мы начнем ограничивать пропускную способность Интернета с помощью прокси-сервера, убедитесь, что пропускная способность вашего Интернета зависит от используемого вами интернет-провайдера. Чтобы значение не превышало лимит пропускной способности, выделенный интернет-провайдерами. Например, пропускная способность интернет-провайдера на 1 Мбит/с, тогда его лимит пропускной способности устанавливается меньше или равным 1 Мбит/с.

Чтобы добавить новую простую очередь, нажмите кнопку +, Нравится.

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

В окне Simple Queue есть несколько вкладок, но мы будем использовать только вкладку General и курс Advanced.

Вкладка "Общие"

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

Целевой адрес

Вы можете указать целевой адрес с определенным IP-адресом, для которого вы хотите ограничить пропускную способность, например, 192.168.100.0/24. На приведенном выше рисунке видно, что целевой адрес пуст, это означает, что ограничение пропускной способности конфигурации применяется ко всем IP-адресам.

Максимальное ограничение

Максимальное ограничение – это максимальное выделение полосы пропускания, которое может быть предоставлено пользователю, и обычно оно будет получено, если выделенная полоса пропускания больше не используется другим пользователем. Не забудьте проверить целевую загрузку и загрузку, чтобы активировать эту функцию, выберите ограничение на большую пропускную способность на максимальном пределе. Например, загрузка: 256 кбит/с. Загрузка: 1 Мбит/с.

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

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

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

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

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

At Limit – это распределение пропускной способности тренда, которое может быть получено пользователем, если сетевой трафик очень загружен. При любом плохом состоянии сети пользователь не будет выделять полосу пропускания ниже этого значения. Таким образом, это ограничение на наименьшее значение пропускной способности, которое может получить пользователь. Его значение пополнялось бы вам как. Например, заполненная загрузка 128 кбит/с загрузка: 512 кбит/с.

Ну, исходя из конфигурации, результат, если каждый пользователь использует подключение к Интернету, а состояние сети занято, то каждый пользователь получит пропускную способность 128 кбит/с / 512 кбит/с. Если один или несколько пользователей не используют подключение, пропускная способность будет предоставлена ​​подключенным пользователям. А если соединение использует только один пользователь, ему будет выделена максимальная пропускная способность 256 кбит/с / 1 Мбит/с.

Нажмите OK, чтобы добавить простую очередь, которая появится в списке очередей.

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

На картинке выше есть две Простые очереди, Простая очередь создается автоматически Hotspot в предыдущей статье Как сделать точку доступа Mikrotik
и Простая очередь создается заново. Если есть две разные конфигурации, она будет выполняться сверху вниз (сверху вниз), поэтому сначала выполняется точка доступа Simple Queue, а затем — Simple Queue Mikrotik. Несмотря на то, что точка доступа Simple Queue Tx Rx Max ограничивает ее безлимит, все пользователи точки доступа получат максимальную пропускную способность Tx Rx 256k / 1M для Simple Queue Mikrotik, точку доступа Simple Queue, так что это не применяется.

Очереди для ограничения скорости в Mikrotik RoutersOS могут быть созданы Splynx с помощью API.

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

Конфигурация показана на изображении ниже:

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

Для создания правил на маршрутизаторе необходимо выбрать маршрутизатор в сервисе заказчика. Обратите внимание, что очередь API работает только с постоянными/статическими IP-адресами:

После сохранения этих настроек в роутере будет добавлена ​​простая очередь для клиента:

Если применяется правило FUP, скорость очереди будет автоматически обновляться через API.

Простое формирование дерева очередей

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

Чтобы успешно настроить конкуренцию, нам нужно изменить тип формирования на "Простая очередь (с деревом)".

Затем Splynx создаст древовидную структуру очередей, где очереди тарифного плана всегда являются Родителем для очередей клиента:

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

Затем выберите сектор на интернет-сервисе:

После сохранения этих настроек Splynx передаст правила маршрутизатору:

* Пожалуйста, не совмещайте конкуренцию за секторы с конкуренцией за план, это слишком усложнит настройку очереди, и Mikrotik не справится с этим.

Формирование ПКК

В версиях до Mikrotik RouterOS v.6 простые очереди не оптимизировались, поэтому одним из популярных решений для формирования было формирование PCQ с использованием списка адресов. Чтобы включить этот тип формирования в Splynx, измените тип формирования в настройках маршрутизатора Splynx на «PCQ (список адресов)»:

Обратите внимание, что при формировании PCQ конфликты и политики FUP не работают.

Проблема с двойными очередями

Если у вас включены очереди Radius и API, Splynx создаст две очереди: одну через API, а другую сервером Radius через атрибуты. Это неправильно, и одну из очередей следует удалить.

Вы можете отключить очередь API и оставить автоматические очереди Radius включенными, или, если вы хотите использовать очереди API, в разделе Config → Networking → Radius settings вы можете просто удалить атрибуты ограничения скорости, и сервер Radius не будет создавать автоматические очереди. когда клиент подключает свое устройство. Просто удалите строки Mikrotik-Rate-Limit = > в атрибутах Rate-limit, атрибутах COA и атрибутах FUP:

Дополнительную информацию о различных параметрах управления пропускной способностью см. в следующих руководствах — Управление пропускной способностью FUP и конфликты в Splynx.

Если у вас более медленный интернет-пакет или слишком много пользователей для вашей доступной скорости интернета, может быть очень полезно иметь возможность разделить вашу скорость интернета в зависимости от количества одновременных пользователей. Такой возможности нет ни у одного маршрутизатора потребительского уровня с настройками QOS, которые я видел, но это довольно просто, если вы используете маршрутизатор Mikrotik.

Настройка фильтра брандмауэра

Настройка маршрутизатора/беспроводной точки доступа по умолчанию подходит, хотя вам может потребоваться отключить ускоренный просмотр в разделе IP > Брандмауэр > Фильтр:

По моему ограниченному опыту и почти без тестирования, отключение fasttrack, где ваш Mikrotik является вашим брандмауэром, может привести к низкой скорости, если у вас быстрое подключение к Интернету. Я не могу дать много данных об этом, но я помню, что скорость была ограничена 100-200 Мбит/с при соединении 700 Мбит/с, когда я отключил ускоренный режим, и видел менее 100 Мбит/с при соединении 400 Мбит/с, в обоих случаях с использованием RB750Gr3.

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

Настройка типов очередей

Вам нужно создать два типа очередей в разделе Очереди > Типы очередей. В этом примере я использую соединение, настроенное на 6 Мбит/с x 1,5 Мбит/с, и ожидается, что оно будет поддерживать эту скорость в любое время. Вы захотите изменить значение, чтобы оно отражало вашу собственную скорость интернета. Я просто назвал их pcq_download и pcq_upload. Вот скриншоты:

Единственное, что я изменил по сравнению с настройками по умолчанию, — это скорость, а для upload_pcq я проверил Src. Адрес как классификатор, а не Dst. Адрес.

Простая настройка очередей

Этот конкретный маршрутизатор использует сеть Mikrotik по умолчанию, поэтому вкладка "Общие" выглядит следующим образом:

В разделе «Простые очереди» > «Дополнительно» вам необходимо выбрать новые типы очередей pcq_upload и pcq_download, которые вы только что создали:

Вот и все. Я проверял это много раз, и, похоже, это работает довольно хорошо. Для одного пользователя они получают доступ к полной скорости. При обнаружении второго или третьего пользователя (активно использующего интернет, а не просто подключенного) скорость на первом устройстве ограничивается и т. д.

Случаи использования

Я выяснил эти настройки, потому что, будучи небольшим сельским WISP, мы по необходимости предлагаем пакеты с более низкой скоростью (10 Мбит/с или меньше). Сельская DSL, по крайней мере, в этом регионе, о котором я знаю, может быть намного медленнее, чем беспроводная, по той же основной причине: стоимость и способность окупать инвестиции. Если у одного из наших клиентов есть несколько одновременных пользователей, и у них есть Mikrotik, который мы им продали, мы можем настроить это в качестве любезности. Если вы живете далеко от города и/или у вас нет доступа к интернету со скоростью 25–100 Мбит/с и выше, а в сети одновременно находится несколько человек, эти настройки могут очень помочь.

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

Читайте также: