Ограничение скорости на роутере mikrotik

В этой статье мы опишем различные способы, как ограничить скорость на роутере MikroTik: по IP адресу, по MAC адресу, для всей подсети, по порту или интерфейсу, как разделить скорость интернета между пользователями.

СОДЕРЖАНИЕ:

  1. Отключаем fasttrack
  2. Ограничение скорости по интерфейсу / порту / подсети / vlan
  3. Ограничение скорости по IP адресу определенному пользователю
  4. Ограничение скорости по MAC адресу
  5. Ограничение скорости всем «качальщикам»
  6. Ограничение скорости определенному «качальщику» по IP адресу
  7. Ограничение скорости по часам и дням недели
  8. Определяем, какой IP адрес больше всех потребляет трафик
  9. Распределение скорости интернета поровну
  10. Распределение скорости интернета поровну с приоритезацией трафика

Отключаем fasttrack

Перед настройкой ограничений скорости в MikroTik необходимо убедиться, что на роутере в фаерволе отключен fasttrack. Эта технология появилась начиная с RouterOS 6.29 и позволяет увеличить производительность путем пересылки данных без их дополнительной обработки. Однако если она включена, то ограничения скорости не сработают. Поэтому fasttrack необходимо отключить.

  1. Откройте меню IP — Firewall.
  2. На вкладке Filter Rules выберите правило fasttrack connection.
  3. Нажмите красный крестик Disable, чтобы деактивировать правило.

Ограничение скорости по интерфейсу / порту / подсети / vlan

Допустим у нас есть входной интернет канал 20 Мбит/с. Мы хотим каждому пользователю подсети сделать ограничение скорости 2 Мбит/с на загрузку и отдачу.

Добавим pcq очередь на загрузку с ограничением 2 Мбит/с.

  1. Откройте меню Queues.
  2. Перейдите на вкладку Queue Types.
  3. Нажмите синий плюсик.
  4. В поле Type Name укажите название очереди на загрузку pcq-download-2M.
  5. В списке Kind выберите pcq.
  6. В поле Rate укажите ограничение скорости на загрузку 2M (2 Мбит/с).
  7. Проверьте, что напротив Dst. Address стоит галочка.
  8. Нажмите кнопку OK.

Добавим pcq очередь на отдачу с ограничением 2 Мбит/с.

  1. Нажмите синий плюсик.
  2. В поле Type Name укажите название очереди на загрузку pcq-upload-2M.
  3. В списке Kind выберите pcq.
  4. В поле Rate укажите ограничение скорости на отдачу 2M (2 Мбит/с).
  5. Поставьте галочку напротив Src. Address.
  6. Уберите галочку напротив Dst. Address.
  7. Нажмите кнопку OK.

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

  1. Перейдите на вкладку Simple Queues.
  2. Нажмите синий плюсик.
  3. На вкладке General в поле Name укажите название правила queue-limit-2M.
  4. В поле Target укажите нашу подсеть 192.168.88.0/24 либо интерфейс / порт / vlan
  5. В поле Max Limit в колонке Target Upload укажите максимальную скорость отдачи 18M (18 Мбит/с), которую мы выделяем на всю подсеть.
    Если ваш интернет канал равен 20 Мбит/с, то значение нужно указать на 5-20% меньше, например, 18 Мбит/с, чтобы правила сработали. Иначе скорость будет упираться в шейпер провайдера и правила срабатывать не будут.
  6. В поле Max Limit в колонке Target Download укажите максимальную скорость загрузки 18M (18 Мбит/с), которую мы выделяем на всю подсеть.
     
  7. Перейдите на вкладку Advanced.
  8. В списке Queue Type в колонке Target Upload выберите pcq-upload-2M.
  9. В списке Queue Type в колонке Target Download выберите pcq-download-2M.
  10. Нажмите кнопку OK.

Теперь проверьте на компьютере скорость с помощью сайта www.speedtest.net или аналогичного мобильного приложения на смартфоне.

Если вам нужно определенному пользователю, например, директору сделать скорость выше чем у остальных, то выполните следующее:

  1. Откройте меню Queues.
  2. На вкладке Simple Queues нажмите синий плюсик.
  3. В появившемся окне на вкладке General в поле Name укажите название ограничения boss.
  4. В поле Target пропишите IP адрес компьютера, для которого будет действовать ограничение.
  5. В поле Max Limit в колонке Target Upload укажите необходимую скорость отдачи.
  6. В поле Max Limit в колонке Target Download укажите необходимую скорость загрузки.
  7. Нажмите кнопку OK.

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

Теперь запустите на компьютере директора speedtest и проверьте скорость. Если на компьютере запустить закачку, то скорость в MikroTik можно посмотреть на вкладке Traffic:

  1. Откройте правило и перейдите на вкладку Traffic.
  2. В поле Rate в колонке Target Upload видим скорость отдачи.
  3. В поле Rate в колонке Target Download видим скорость загрузки.

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

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

В MikroTik нельзя ограничить скорость, указав только MAC адрес устройства. Вам нужно сначала настроить ограничение скорости по IP адресу, а потом привязать IP адрес к MAC адресу конкретного устройства.

Привязка IP адреса к MAC адресу выполняется следующим образом:

  1. Подключите устройство к роутеру, чтобы оно получило IP адрес.
  2. В настройках роутера откройте меню IP — DHCP Server.
  3. Перейдите на вкладку Leases.
  4. Нажмите правой кнопкой мыши на устройстве, которому нужно привязать MAC адрес к IP адресу.
  5. Выберите в выпадающем меню Make Static.

Ограничение скорости всем «качальщикам»

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

Допустим у нас есть входной интернет канал 20 Мбит/с. Мы хотим, чтобы каждый пользователь по возможности просматривал интернет странички с максимальной скоростью 20 Мбит/с. Но как только он начнет качать большие файлы, его скорость уменьшилась до 3 Мбит/с.

Добавим pcq очередь на загрузку с параметрами Burst.

  1. Откройте меню Queues.
  2. Перейдите на вкладку Queue Types.
  3. Нажмите синий плюсик.
  4. В поле Type Name укажите название очереди на загрузку pcq-burst-download.
  5. В списке Kind выберите pcq.
  6. В поле Rate укажите скорость на загрузку 3M (3 Мбит/с), которая будет действовать, если пользователь начнет качать файлы. Значение Rate должно быть меньше значения Burst Rate.
  7. В поле Burst Rate укажите максимальную скорость на загрузку 18M (18 Мбит/с), которая будет по возможности действовать для просмотра интернет страничек, пока пользователь не начнет качать файлы. Если два пользователя будут одновременно просматривать интернет странички, то 18 Мбит/с поделятся между ними. Каждый получит скорость по 9 Мбит/с. Если скорость вашего интернет-канала 20 Мбит/с, то скорость Burst Rate нужно ставить немного меньше, например, 18 Мбит/с, чтобы правила не уперлись в шейпер провайдера и сработали.
  8. В поле Burst Threshold укажите скорость 2M (2 Мбит/с), при превышении которой начнет действовать ограничение скорости Rate 3M. Значение Burst Threshold должно быть меньше значения Rate.
  9. В поле Burst Time укажите время для подсчета средней скорости загрузки 64. Роутер будет вычислять скорость каждую 1/16 периода. Например, при Burst Time=16 роутер будет вычислять каждую 1 сек, а при Burst Time=32 будет вычислять каждые 2 сек.
    Фактическое время, через которое сработает ограничение на загрузку вычисляется по формуле Real Time = Burst Threshold * (Burst Time / Burst Rate). В нашем случае ограничение сработает через Real Time = 2 * (64 / 20) = 6,4 секунды.
    Для тестирования работы Burst рекомендую сначала поставить большим значение Burst Time. Например, для данного случая лучше поставить Burst Time=192. При этом значении ограничение скорости сработает через 19,2 секунды. Это позволит запустить торрент на компьютере и посмотреть, как будет срабатывать Burst.
  10. Проверьте, что напротив Dst. Address стоит галочка.
  11. Нажмите кнопку OK.

Добавим pcq очередь на отдачу с параметрами Burst.

  1. Нажмите синий плюсик.
  2. В поле Type Name укажите название очереди на отдачу pcq-burst-upload.
  3. В списке Kind выберите pcq.
  4. В поле Rate укажите скорость на отдачу 3M (3 Мбит/с), которая будет действовать, если пользователь начнет передавать файлы в интернет. Значение Rate должно быть меньше значения Burst Rate.
  5. В поле Burst Rate укажите максимальную скорость на отдачу 18M (18 Мбит/с), которая будет по возможности действовать для просмотра интернет страничек, пока пользователь не начнет передавать файлы в интернет.
  6. В поле Burst Threshold укажите скорость 2M (2 Мбит/с), при превышении которой начнет действовать ограничение скорости Rate 3M. Значение Burst Threshold должно быть меньше значения Rate.
  7. В поле Burst Time укажите время для подсчета средней скорости отдачи 64.
    Для тестирования работы рекомендую сначала поставить большим значение Burst Time=192. При этом значении ограничение скорости сработает через 19,2 секунды. Это позволит запустить торрент на компьютере и посмотреть, как будет срабатывать Burst.
  8. Поставьте галочку напротив Src. Address.
  9. Уберите галочку напротив Dst. Address.
  10. Нажмите кнопку OK.

Теперь добавим в Simple Queues правило с ограничениями.

  1. Перейдите на вкладку Simple Queues.
  2. Нажмите синий плюсик.
  3. На вкладке General в поле Name укажите название правила queue-burst-limit.
  4. В поле Target укажите нашу подсеть 192.168.88.0/24
     
  5. Перейдите на вкладку Advanced.
  6. В списке Queue Type в колонке Target Upload выберите pcq-burst-upload.
  7. В списке Queue Type в колонке Target Download выберите pcq-burst-download.
  8. Нажмите кнопку OK.

Теперь проверьте на компьютере скорость с помощью сайта www.speedtest.net. Она должна стремиться к максимальной 18 Мбит/с. После этого поставьте на закачку торрент и посмотрите, как измениться скорость. Если вы использовали Burst Time=192, то через 20 секунд после старта закачки торрента скорость упадет до 3 Мбит/с.

Ограничение скорости определенному «качальщику» по IP адресу

MikroTik позволяет по IP адресу ограничить скорость определенному пользователю, который качает большие файлы из интернета. Пока пользователь будет смотреть интернет странички, скорость будет высокой, но как только начнет качать файлы, то скорость уменьшится. Для этого настраивается взрывная скорость Burst.

Допустим, мы хотим, чтобы пользователь просматривал интернет странички с максимальной скоростью 20 Мбит/с. Но как только он начнет качать большие файлы, его скорость уменьшилась до 3 Мбит/с.

  1. Откройте меню Queues.
  2. На вкладке Simple Queues нажмите на синий плюсик.
  3. В поле Name укажите имя ограничения dima-burst-limit-3M.
  4. В поле Target укажите IP адрес пользователя 192.168.88.254, для которого будет действовать ограничение.
  5. В поле Max Limit в столбце Target Upload укажите скорость отдачи файлов в интернет 3M (3 Мбит/с). Она должна быть меньше Burst Limit.
  6. В поле Max Limit в столбце Target Download укажите скорость загрузки файлов из интернета 3M (3 Мбит/с). Она должна быть меньше Burst Limit.
  7. В поле Burst Limit в столбце Target Upload укажите максимальную скорость отдачи 20M при просмотре интернет страничек. Она должна быть больше скорости Max Limit.
  8. В поле Burst Limit в столбце Target Download укажите максимальную скорость загрузки 20M при просмотре интернет страничек. Она должна быть больше скорости Max Limit.
  9. В поле Burst Threshold в столбце Target Upload укажите скорость отдачи 2M, при превышении которой, сработает ограничение скорости Max Limit. Значение Burst Threshold должно быть меньше скорости Max Limit.
  10. В поле Burst Threshold в столбце Target Download укажите скорость загрузки 2M, при превышении которой, сработает ограничение скорости Max Limit. Значение Burst Threshold должно быть меньше скорости Max Limit.
  11. В поле Burst Time в столбце Target Upload укажите время для подсчета средней скорости отдачи 64.
    Роутер будет вычислять скорость каждую 1/16 периода. Например, при Burst Time=16 роутер будет вычислять каждую 1 сек, а при Burst Time=32 будет вычислять каждые 2 сек.
    Фактическое время, через которое сработает ограничение вычисляется по формуле Real Time = Burst Threshold * (Burst Time / Burst Rate). В нашем случае ограничение сработает через Real Time = 2 * (64 / 20) = 6,4 секунды.
    Для тестирования работы Burst рекомендую сначала поставить большие значения Burst Time. Например, для данного случая лучше поставить Burst Time=192. При этом значении ограничение скорости сработает через 19,2 секунды. Это позволит запустить торрент на компьютере и посмотреть, как будет срабатывать Burst.
  12. В поле Burst Time в столбце Target Download укажите время для подсчета средней скорости загрузки 64.
  13. Нажмите кнопку OK.

На практике это правило будет работать следующим образом. Пользователь будет просматривать странички в интернете с максимальной скоростью 20 Мбит/с. Когда он начнет качать торренты и средняя скорость превысит 2 Мбит/с, то отключится ограничение 20 Мбит/с, и включится ограничение 3 Мбит/с.

Если у вас есть Burst правило для всей подсети, то правило для определенного пользователя нужно поднять выше него. Для этого перетащите его левой кнопкой мыши.

Ограничение скорости по часам и дням недели

Если вы хотите, чтобы ограничение скорости в MikroTik работало в определенные дни недели и часы, то выполните следующее:

  1. Нажмите раскрывающийся список Time.
  2. В первом поле Time укажите, с какого времени будут действовать ограничения.
  3. Во втором поле Time укажите, до какого времени будут действовать ограничения.
  4. Выберите по каким дням недели будет действовать правило.
  5. Нажмите кнопку OK.

Определяем, какой IP адрес больше всех потребляет трафик

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

  1. Открываем меню Interfaces.
  2. Выбираем в списке интерфейс, к которому подключены компьютеры локальной сети. Это может быть ethernet порт ether2 или Wi-Fi интерфейс wlan0. В нашем случае мы объединили ethernet и Wi-Fi порты в интерфейс brige, поэтому выбираем его.
  3. Правой кнопкой мыши кликаем на необходимом интерфейсе и выбираем в меню Torch.
     
  4. В появившемся окне нажимаем кнопку Start.
  5. Нажимаем на заголовок столбца TxRate, чтобы отсортировать и отобразить первыми IP адреса, которые больше всех потребляют трафик.

Как видим, больше всего потребляет трафик IP адрес 192.168.88.254, он качает файлы со скоростью 16 Mbps.

Распределение скорости интернета поровну

Этот способ подходит для использования на домашнем роутере или в небольшом офисе.

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

В данном примере скорость будет делиться поровну, только если все трое начнут качать на максимальной скорости. В этом случае каждый получит скорость около 6,7 Мбит/с (20/3).

Но если отец будет качать файл на скорости 4 Мбит/с, а мать на скорости 2 Мбит/с, то сын получит остальные 14 Мбит/с. Т.е. скорость распределится пропорционально загрузке.

Добавим правило с ограничением скорости.

  1. Откройте меню Queues.
  2. Перейдите на вкладку Simple Queues.
  3. Нажмите синий плюсик.
  4. На вкладке General в поле Name укажите название правила queue-limit.
  5. В поле Target укажите IP адрес подсети 192.168.88.0/24. Если адрес вашей подсети отличается, то укажите необходимый.
  6. В поле Max Limit в колонке Target Upload укажите максимальную скорость отдачи 18M (18 Мбит/с), которую мы выделяем на всю подсеть.
    Значение Max Limit нужно указывать на 5-10% меньше, чем скорость интернета. Если ваша скорость интернета равна 20 Мбит/с, то значение Max Limit нужно указать 18 Мбит/с, чтобы правила сработали. Иначе скорость будет упираться в шейпер провайдера и правила не будут срабатывать.
  7. В поле Max Limit в колонке Target Download укажите максимальную скорость загрузки 18M (18 Мбит/с), которую мы выделяем на всю подсеть.
     
  8. Перейдите на вкладку Advanced.
  9. В списке Queue Type в колонке Target Upload выберите очередь pcq-upload-default.
    Эти очереди используют алгоритм PCQ, который позволяет равномерно распределить скорость между всеми пользователями вне зависимости от количества открытых подключений.
  10. В списке Queue Type в колонке Target Download выберите очередь pcq-download-default.
  11. Нажмите кнопку OK.

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

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

Распределение скорости интернета поровну с приоритезацией трафика

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

Весь трафик разделим по приоритетам на 4 группы:

  • LOW — низкий (торренты, p2p и т.д.)
  • NORMAL — нормальный (интернет странички (HTTP), видео на Youtube (HTTPS) и т.д.)
  • HIGH — высокий (ICQ, Jabber, SSH, Telnet и т.д.)
  • SUPER-HIGH — очень высокий (онлайн-игра Counter Strike, DNS, PING и т.д.)

Алгоритм работы будет такой:

  1. Маркируем все неизвестные соединения LOW.
  2. В соединениях пакеты на загрузку помечаем LOW-DOWNLOAD
  3. В соединениях пакеты на отдачу помечаем LOW-UPLOAD.
     
  4. Известные соединения маркируем в зависимости от сервиса: NORMAL, HIGH или SUPER-HIGH.
  5. В соединениях пакеты на загрузку помечаем NORMAL-DOWNLOAD, HIGH-DOWNLOAD или SUPER-HIGH DOWNLOAD.
  6. В соединениях пакеты на отдачу помечаем NORMAL-UPLOAD, HIGH-UPLOAD или SUPER-HIGH-UPLOAD.
     
  7. Создаем PCQ очереди, которые позволят равномерно делить скорость между всеми пользователями. Мы их будем использовать в правилах ограничения скорости.
     
  8. Создаем правила ограничения скорости в дереве Queue Tree.
    В правилах используем помеченные пакеты, которым задаем приоритет и PCQ очереди.
    Максимальную скорость указываем с помощью родителей DOWNLOAD — 18Мбит/с и UPLOAD — 18Мбит/с.
    Помеченным пакетам присваиваем следующие приоритеты:
  • DOWNLOAD18M
    • SUPER-HIGH-DOWNLOAD — приоритет 1
    • HIGH-DOWNLOAD — приоритет 2
    • NORMAL-DOWNLOAD — приоритет 3
    • LOW-DOWNLOAD — приоритет 4
  • UPLOAD18M
    • SUPER-HIGH-UPLOAD — приоритет 1
    • HIGH-UPLOAD — приоритет 2
    • NORMAL-UPLOAD — приоритет 3
    • LOW-UPLOAD — приоритет 4

Приступим к настройке.

Добавим пару Layer7 наборов для определения http трафика.

Данные наборы анализируют трафик, пытаются найти в нем указанные последовательности и определить, что это http трафик, gif файл, png файл или jpg файл.

Откройте меню New Terminal и выполните следующие команды:

/ip firewall layer7-protocol
add name=HTTP regexp="http/(0\\.9|1\\.0|1\\.1) [1-5][0-9][0-9]|post [\\x09-\\x0d -~]* http/[01]\\.[019]"
add name=GIF_FILE regexp=gif
add name=PNG_FILE regexp=png
add name=JPG_FILE regexp=jpg

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

Много наборов Layer7 лучше не использовать, т.к. они существенно нагружают роутер.

В меню IP — Firewall на вкладке Layer7 Protocols отобразятся добавленные типы трафика.

По умолчанию промаркируем весь незнакомый трафик, как низкий — LOW.

/ip firewall mangle
add action=accept chain=forward comment="############## LOW #############" disabled=yes
add action=mark-connection chain=forward comment=ALL-TRAFFIC disabled=no new-connection-mark=LOW passthrough=yes
add action=mark-packet chain=forward comment=LOW-DOWNLOAD connection-mark=LOW disabled=no dst-address-list=LAN new-packet-mark=LOW-DOWNLOAD passthrough=yes src-address-list=!LAN-EXCEPTION
add action=mark-packet chain=prerouting comment=LOW-UPLOAD connection-mark=LOW disabled=no dst-address-list=!LAN-EXCEPTION new-packet-mark=LOW-UPLOAD passthrough=yes src-address-list=LAN
add action=accept chain=forward comment="############## END LOW #########" disabled=yes

Добавим маркировку трафика NORMAL.

/ip firewall mangle
add action=accept chain=forward comment="############## NORMAL #########" disabled=yes
add action=mark-connection chain=forward comment=HTTP disabled=no layer7-protocol=HTTP new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=HTTPS disabled=no port=443 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=Proxy disabled=no port=3128,8080 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=FTP disabled=no port=20,21 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=SMTP disabled=no port=25 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=SMTPS disabled=no port=465 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=IMAP disabled=no port=143 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=POP3 disabled=no port=110 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=POP3S disabled=no port=995 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=IMAPS disabled=no port=993 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=GIF_FILE disabled=no layer7-protocol=GIF_FILE new-connection-mark=NORMAL passthrough=yes
add action=mark-connection chain=forward comment=PNG_FILE disabled=no layer7-protocol=PNG_FILE new-connection-mark=NORMAL passthrough=yes
add action=mark-connection chain=forward comment=JPG_FILE disabled=no layer7-protocol=JPG_FILE new-connection-mark=NORMAL passthrough=yes
add action=mark-connection chain=forward comment="100Kb Connections" connection-bytes=0-100000 disabled=no new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment=NORMAL-DOWNLOAD connection-mark=NORMAL disabled=no dst-address-list=LAN new-packet-mark=NORMAL-DOWNLOAD passthrough=yes src-address-list=!LAN-EXCEPTION
add action=mark-packet chain=prerouting comment=NORMAL-UPLOAD connection-mark=NORMAL disabled=no dst-address-list=!LAN-EXCEPTION new-packet-mark=NORMAL-UPLOAD passthrough=yes src-address-list=LANadd action=accept chain=forward comment="############## END NORMAL ############" disabled=yes

Добавим маркировку трафика HIGH:

/ip firewall mangle
add action=accept chain=forward comment="############## HIGH ############" disabled=yes
add action=mark-connection chain=forward comment=ICQ disabled=no port=5190 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=Jabber disabled=no port=5222,5223 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=IRC disabled=no port=6667-6669 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=SSH disabled=no port=22 new-connection-mark=HIGH packet-size=0-1400 passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=TELNET disabled=no port=23 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=SNMP disabled=no port=161-162 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=PPTP disabled=no port=1723 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=L2TP disabled=no port=1701 new-connection-mark=HIGH passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=GRE disabled=no new-connection-mark=HIGH passthrough=yes protocol=gre
add action=mark-connection chain=forward comment="50Kb Connections" connection-bytes=0-50000 disabled=no new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment=HIGH-DOWNLOAD connection-mark=HIGH disabled=no dst-address-list=LAN new-packet-mark=HIGH-DOWNLOAD passthrough=yes src-address-list=!LAN-EXCEPTION
add action=mark-packet chain=prerouting comment=HIGH-UPLOAD connection-mark=HIGH disabled=no dst-address-list=!LAN-EXCEPTION new-packet-mark=HIGH-UPLOAD passthrough=yes src-address-list=LAN
add action=accept chain=forward comment="############## END HIGH ##########" disabled=yes

Добавим маркировку трафика SUPER-HIGH:

/ip firewall mangle
add action=accept chain=forward comment="############## SUPER-HIGH ##########" disabled=yes
add action=mark-connection chain=forward comment=CounterStrike disabled=no port=27005,27014-27025,27035,52046-52048,52146 new-connection-mark=SUPER-HIGH passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=DNS disabled=no port=53 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp src-port=53
add action=mark-connection chain=forward comment=DNS disabled=no port=53 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=DNS disabled=no port=53 new-connection-mark=SUPER-HIGH passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=NNTP disabled=no port=119 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=Winbox disabled=no port=8291 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=ntp disabled=no port=123 new-connection-mark=SUPER-HIGH passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=VNC disabled=no port=5900-5901 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=RDP disabled=no port=3389 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=PING disabled=no new-connection-mark=SUPER-HIGH passthrough=yes protocol=icmp
add action=mark-connection chain=forward comment="5Kb Connections" connection-bytes=0-5000 disabled=no new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment=SUPER-HIGH-DOWNLOAD connection-mark=SUPER-HIGH disabled=no dst-address-list=LAN new-packet-mark=SUPER-HIGH-DOWNLOAD passthrough=yes src-address-list=!LAN-EXCEPTION
add action=mark-packet chain=prerouting comment=SUPER-HIGH-UPLOAD connection-mark=SUPER-HIGH disabled=no dst-address-list=!LAN-EXCEPTION new-packet-mark=SUPER-HIGH-UPLOAD passthrough=yes src-address-list=LAN
add action=accept chain=forward comment="############## END SUPER-HIGH ##########" disabled=yes

Чтобы в онлайн игре CounterStrike не было лагов (запаздываний), я добавил ее порты 27005,27014-27025,27035,52046-52048,52146, протокол udp и пометил соединения, как SUPER-HIGH. Если вам нужно добавить другую онлайн игру, узнайте какие порты и протокол она использует, и добавьте свое правило.

В меню IP — Firewall на вкладке Mangle отобразятся добавленные правила маркировки трафика.

Добавим IP адрес нашей подсети и адреса соседних локальных сетей в список Address List:

/ip firewall
address-list add address=192.168.88.0/24 disabled=no list=LAN
address-list add address=192.168.0.0/16 disabled=no list=LAN-EXCEPTION
address-list add address=10.0.0.0/8 disabled=no list=LAN-EXCEPTION

LAN — это список с IP адресами нашей сети 192.168.88.0/24. Укажите другой, если адрес вашей подсети отличается. Этот адрес нужен, чтобы правила маркировали трафик пользователей нашей сети.

LAN-EXCEPTION — список сетей, при обмене данными с которыми не будут работать ограничения скорости.
Например, вы находитесь с другим компьютером в подсети одного провайдера, и хотите скачать с него файл. Ограничивать скорость такой загрузки нет смысла, поскольку компьютер находится не где-то в интернете, а в одной с вами кабельной сети. Поэтому целесообразно, чтобы файл с него качался на максимальной скорости.
192.168.0.0/16 — это адреса локальных подсетей класса С.
10.0.0.0/8 — это подсеть провайдера.

Проверьте на вкладке Address Lists, что подсети добавились.

Добавим PCQ очереди на загрузку и отдачу.

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

/queue type
add kind=pcq name=PCQ-DOWNLOAD pcq-rate=0 pcq-limit=50 pcq-total-limit=2000 pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-src-address-mask=32 pcq-dst-address-mask=32 pcq-src-address6-mask=128 pcq-dst-address6-mask=128
add kind=pcq name=PCQ-UPLOAD pcq-rate=0 pcq-limit=50 pcq-total-limit=2000 pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=src-address pcq-src-address-mask=32 pcq-dst-address-mask=32 pcq-src-address6-mask=128 pcq-dst-address6-mask=128

Посмотрите созданные очереди в меню Queues на вкладке Queue Types.

Построим дерево Queue Tree и присвоим приоритеты промаркированным пакетам.

  • DOWNLOAD18M
    • SUPER-HIGH-DOWNLOAD — приоритет 1
    • HIGH-DOWNLOAD — приоритет 2
    • NORMAL-DOWNLOAD — приоритет 3
    • LOW-DOWNLOAD — приоритет 4
  • UPLOAD18M
    • SUPER-HIGH-UPLOAD — приоритет 1
    • HIGH-UPLOAD — приоритет 2
    • NORMAL-UPLOAD — приоритет 3
    • LOW-UPLOAD — приоритет 4

/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=18M name=DOWNLOAD parent=global priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=SUPER-HIGH-DOWNLOAD packet-mark=SUPER-HIGH-DOWNLOAD parent=DOWNLOAD priority=1 queue=PCQ-DOWNLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=HIGH-DOWNLOAD packet-mark=HIGH-DOWNLOAD parent=DOWNLOAD priority=2 queue=PCQ-DOWNLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=NORMAL-DOWNLOAD packet-mark=NORMAL-DOWNLOAD parent=DOWNLOAD priority=3 queue=PCQ-DOWNLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=LOW-DOWNLOAD packet-mark=LOW-DOWNLOAD parent=DOWNLOAD priority=4 queue=PCQ-DOWNLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=18M name=UPLOAD parent=global priority=8add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=SUPER-HIGH-UPLOAD packet-mark=SUPER-HIGH-UPLOAD parent=UPLOAD priority=1 queue=PCQ-UPLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=HIGH-UPLOAD packet-mark=HIGH-UPLOAD parent=UPLOAD priority=2 queue=PCQ-UPLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=NORMAL-UPLOAD packet-mark=NORMAL-UPLOAD parent=UPLOAD priority=3 queue=PCQ-UPLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=LOW-UPLOAD packet-mark=LOW-UPLOAD parent=UPLOAD priority=4 queue=PCQ-UPLOAD

max-limit=18M— это максимальная скорость 18 Мбит/с на всю подсеть. Укажите свою скорость.
Значение max-limit нужно указывать на 5-10% меньше, чем скорость интернета. Если ваша скорость интернета равна 20 Мбит/с, то значение max-limit нужно указать 18 Мбит/с, чтобы правила сработали. Иначе скорость будет упираться в шейпер провайдера и правила не будут срабатывать.

Посмотрите созданное дерево на вкладке Queue Tree. Здесь видно, с какой скоростью в данный момент передается и принимается каждый вид трафика.

Теперь весь интернет канал будет равномерно распределяться между пользователями, а при запуске торрентов, вы будете комфортно открывать интернет странички в браузере, смотреть видео на Youtube, общаться по ICQ и т.д.

Источник www.technotrade.com.ua

Время на прочтение
4 мин

Количество просмотров 39K

Предыстория: имеем Интернет-соединение со скоростью «до 50 Мбит/с», имеющее «фичу» разгоняться до 100 если канал свободен. Пользуясь облачным хранилищем заметил проблему, что выгрузив или загрузив около 50-100 файлов клиент для работы с облаком «зависает» и либо качает файлы на крайне низкой скорости (порядка 50-200 Кбит/с), либо вообще «молчит». При этом, сайты в браузере открываются без всяких проблем.

Как такое может быть? Ограничение ширины канала по определенным IP-адресам при скачке за определенный промежуток времени.

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

В просторах сети было найдено множество статей на подобную тематику, только все они предлагали распределение скорости между пользователями по приоритету (интернет-страницы с высоким, потоковое видео ниже и самый низкий приоритет у p2p-систем).

Итак, для начала теория. Провайдер отслеживает все «скачки» скорости и количество обращений к ресурсам, выдавая ограничение на превышающие их показатели предел. Узнать его не получится — это закрытая информация провайдера. Но как же скачивать и заливать по 1к+ файлов в облако, не получая за это временный «бан» на доступ к ресурсу? Легко!

Алгоритм действий будет таков:

  1. Создаем список IP-адресов, для которых нужно включить ограничение скорости;
  2. Организовать маркировку пакетов, идущих на и с ресурсов списка;
  3. Задать ограничение скорости по требуемым ресурсам при помощи очередей.

Приступим к настройке

Шаг 1. Добавим IP-адреса ресурса(ов) в список. Для этого зайдем на вкладку «Address Lists» окна «Firewall«

Я пользуюсь облачным хранилищем Mega.nz и пул их IP-адресов будет:

  • 31.216.144.0/24
  • 31.216.145.0/24
  • 31.216.147.0/24
  • 89.44.168.0/24
  • 154.53.224.0/24
  • 154.53.225.0/24

Добавим все подсети адресов в лист с именем, например, «mega.nz«.

/ip firewall address-list
add address=31.216.144.0/24 list=mega.nz
add address=31.216.145.0/24 list=mega.nz
add address=31.216.147.0/24 list=mega.nz
add address=89.44.168.0/24 list=mega.nz
add address=154.53.224.0/24 list=mega.nz
add address=154.53.225.0/24 list=mega.nz

Шаг 2. Маркировка пакетов

После этого перейдем во вкладку «Mangle» и добавим правила маркировки пакетов. Для этого жмем на «плюс» и указываем следующие параметры:

MEGA-upload:

  • CommentMEGA-upload.
  • chainforward.
  • Out. Interface — интерфейс, на котором висит Инет. В моем случае это «eth1-Wi-Fi».
  • Dst. Address Listmega.nz — это имя того самого набора адресных листов с прошлого шага.
  • Actionmark packet.
  • New Packet MarkMEGA-upload.
  • Passthroughttrue.



/ip firewall mangle
add action=mark-packet chain=forward comment=MEGA-upload \
    out-interface=eth1-Wi-Fi new-packet-mark=MEGA-upload \
    passthrough=yes dst-address-list=mega.nz
MEGA-download:

  • CommentMEGA-download.
  • chainforward.
  • In. Interface — интерфейс, на котором висит Инет. В моем случае это «eth1-Wi-Fi».
  • Src Address Listmega.nz — это имя того самого набора адресных листов с прошлого шага.
  • Actionmark packet.
  • New Packet MarkMEGA-download.
  • Passthroughtrue.



/ip firewall mangle
add action=mark-packet chain=forward comment=MEGA-download \
    in-interface=eth1-Wi-Fi new-packet-mark=MEGA-download \
    passthrough=yes src-address-list=mega.nz

Шаг 3. Добавление правил очередей (Queues)

Далее, переходим во вкладку «Queue Tree» и также добавляем два новых правила:

MEGA-upload:

  • NameMEGA-upload
  • Parentglobal
  • Packet MarksMEGA-upload (выбираем из списка)
  • Queue Typedefault-small
  • Priority8
  • Bucket Size0.100
  • Max Limit25M

/queue tree
add max-limit=25M name=MEGA-upload packet-mark=MEGA-upload parent=global \
    queue=default-small
MEGA-download:

  • NameMEGA-download
  • Parentglobal
  • Packet MarksMEGA-download (выбираем из списка)
  • Queue Typedefault-small
  • Priority8
  • Bucket Size0.100
  • Max Limit25M

/queue tree
add max-limit=25M name=MEGA-download packet-mark=MEGA-download parent=global \
    queue=default-small

Всё. Теперь при синхронизации облачного хранилища на вход и выход скорость не поднимется больше 25 Мбит/с и, тем самым, устранили вероятность получения временного бана от провайдера.

Полный список скриптов

/ip firewall address-list
add address=31.216.144.0/24 list=mega.nz
add address=31.216.145.0/24 list=mega.nz
add address=31.216.147.0/24 list=mega.nz
add address=89.44.168.0/24 list=mega.nz
add address=154.53.224.0/24 list=mega.nz
add address=154.53.225.0/24 list=mega.nz

/ip firewall mangle
add action=mark-packet chain=forward comment=MEGA-upload \
    out-interface=eth1-Wi-Fi new-packet-mark=MEGA-upload \
    passthrough=yes dst-address-list=mega.nz
add action=mark-packet chain=forward comment=MEGA-download \
    in-interface=eth1-Wi-Fi new-packet-mark=MEGA-download \
    passthrough=yes src-address-list=mega.nz

/queue tree
add max-limit=25M name=MEGA-upload packet-mark=MEGA-upload parent=global \
    queue=default-small
add max-limit=25M name=MEGA-download packet-mark=MEGA-download parent=global \
    queue=default-small

PS.: Таким образом можно ограничивать скорость на любые ресурсы.

PPS: Правила ограничений были частично взяты из статьи «Ограничение скорости в MikroTik» и изменены для своих нужд.

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

PPPPS: Если кому нужно, ниже представлен скрипт автодобавления IP-адресов из кэша DNS в именованный список. Сразу скажу, что скрипт настроен на работу с несколькими облачными сервисами и добавляет адреса в список с именем «clouds». Если нужно, можете изменить его под себя.

Скрипт автодобавления

:log info "STARTING SCAN TO CLOUD"

:put [:resolve mega.nz]
:put [:resolve mega.co.nz]
:put [:resolve eu.static.mega.co.nz]
:put [:resolve dropbox.com]
:put [:resolve d.dropbox.com]
:put [:resolve bolt.dropbox.com]
:put [:resolve dl-debug.dropbox.com]
:put [:resolve api.disk.yandex.net]

:foreach i in=[/ip dns cache all find where (name~"mega.nz" || name~"mega.co" || name~"dropbox" || name~"disk.yandex") && (type="A") ] do={

:local tmpAddress [/ip dns cache get $i address];

delay delay-time=10ms

#prevent script from using all cpu time

:if ( [/ip firewall address-list find where address=$tmpAddress] = "") do={ 

:local cacheName [/ip dns cache get $i name] ;

:log info ("added entry: $cacheName $tmpAddress");

/ip firewall address-list add address=$tmpAddress list=clouds comment=$cacheName;

}

}

:log info "CLOUD SCAN COMPLETE"

В статье подробно описано, как настроить на Микротике ограничение скорости по отдельному ip или на целую сеть, ограничение на интерфейсе и физическом порту. А также настройка приоритета трафика (QoS), для sip, tv и других сервисов. Все настройки будут производиться через программу winbox.

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если у Вас версия RouterOS выше 6.29, то перед настройкой шейпера убедитесь. что в firewall отключен fasttrack, эта технология позволяет увеличить производительность маршрутизатора, но если она включена, то шейпить скорость не получится. Заходим в меню   на вкладке Filter Rules,  ищем правило fasttrack connection. Если такое правило существует, то отключаем или удаляем его.

Содержание

  1. Ограничение скорости интернета на всеip адреса в подсети.
  2. Ограничение на интерфейсе
  3. Ограничение скорости с помощью маркировки пакетов иQueues Treeна всю сеть
  4. Simple Queues
  5. Приоритезация трафика на Mikrotik

Ограничение скорости интернета на все ip адреса в подсети.

Предположим, провайдер предоставляет нам интернет канал 50 Мбит/сек. Стоит задача: для каждого пользователя ограничить канал до 5 Мбит/с.

Создадим  новый тип. Для этого заходим в меню Queue вкладка Queue Types. И нажимаем на кнопку «+» добавить.

Type Name – имя нового типа

Kind – тип, принимает следующие значения
bfifo – тип основанный на алгоритме First-In First-Out, Первый-пришел первый ушел, размер очереди определяется в байтах параметром queue size, если очередь переполнена, то остальные пакеты отбрасываются.
pfifoто же самое что и bfifo, только размер не в байтах, а в пакетах
mq pfifo тот же pfifo с поддержкой нескольких очередей
red — Random Early Drop — это механизм очередей, который пытается избежать перегрузки сети, контролируя средний размер очереди. Средний размер сравнивается с двумя порогами: минимальным (минимальным) и максимальным (максимальным) порогом. Если средний размер (avgq) меньше минимального порога, пакеты не отбрасываются. Когда средний размер очереди больше максимального порога, все входящие пакеты удаляются.
sfq — Stochastic Fairness Queuing (SFQ) обеспечивается хешированием и циклическими алгоритмами. Трафик может быть однозначно идентифицирован с помощью 4 параметров (src-адрес, dst-адрес, src-порт и dst-порт), поэтому эти параметры используются алгоритмом хэширования SFQ для классификации пакетов в один из 1024 возможных подпотоков. Затем алгоритм round-robin начнет распространять доступную пропускную

способность для всех подпотоков, причем каждый раунд дает байты трафика sfq-allot. Вся очередь SFQ может содержать 128 пакетов и доступно 1024 подпотока.
pcq – то же что sfq,  но с возможностью ограничить скорость потоков

Более подробно о типах можно прочитать здесь https://wiki.mikrotik.com/wiki/Manual:Queue#Kinds

Для ограничения ширины канала выбираем тип pcq, в поле Rate указываем значение скорости. В нашем случае 3M. Нам нужно ограничить 3 Мбит/c на вход и на выход, поэтому ставим галочки напротив Dst. Address и Src.Address. Если нам нужно не симметрично ограничить канал, скажем на загрузку 3Мбит/c, а на отдачу 5Мбит/c, то нужно создать два типа, на загрузку и на отдачу с соответствующими параметрами. Остальные поля оставляем как есть.

Остальные поля pcq типа

Limit — размер одного подпотока
Total limit — максимальное количество данных в во всех подпотоках
Burst Rate, Burst Threshold, Burst Time  — довольно интересные параметры, рассмотрим их более подробно.
Burst Rateдословно «взрыв скорости» если мы сделаем настройки как показаны на рисунке.

То это будет работать так: если пользователь допустим начнет закачку файла, то сначала канал  у него будут 10Мбит/c, параметр Burst Rate, и такая скорость будет в течении 3-х минут, параметр Burst Time, далее скорость вернется к значению Rate. Если пользователь не будет некоторое время скачивать и у него использование интернет канала опустится меньше 512 Кбит/c, значение Burst Threshold , то при следующем использовании интернета, первые 3 минуты пользователь будет пользоваться каналом со значением  Burst Rate. Это бывает очень полезно, скажем когда пользователи просто ходят по страницам в интернете, то скорость загрузки страниц у них будет 10 Мбит, а если они начнут качать большие файлы, то через три минуты скачивание будет всего 5 Мбит/c.
Поля раздела Classifer думаю понятны без объяснений, это адрес, порт источника и назначения, а также маски адресов. Более подробно о типе pcq читайте здесь https://wiki.mikrotik.com/wiki/Manual:Queues_-_PCQ.

Следующим шагом применим наши созданные правила. Заходим на вкладку Simple Queues и добавляем очередь.

Name – имя нашей очереди

Target – цель. Здесь прописываем нашу подсеть

Остальные поля не заполняем, если вы встречали статьи где нужно прописывать Max Limit, то могу сказать что это не обязательно, работать будет и с параметром unlimited. Далее переходим на вкладку advanced и выбираем в качестве Queue type. Созданные выше типы.

Нажимаем кнопку ОК. На этом настройки закончены. Теперь любой компьютер c ip адресом из подсети 192.168.7.0/24 будет ограничен шириной канала в 3Мбит/с.

Ограничение на интерфейсе

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

В примере на порту eth6 будет применено ограничение в 3Мбит/с

Ограничение скорости с помощью маркировки пакетов и Queues Tree на всю сеть

Если нужно ограничить ширину канала на одну или несколько сетей, а также на отдельные ip адреса то этот можно сделать с помощью маркировки пакетов .

Заходим в меню IP-Firewall, вкладка Address Lists создаем новый адрес лист с нашей сетью.

Также в этот лист можно добавить и отдельные ip адреса, а не сеть, скажем если они идут не по порядку, допустим 192.168.7.11, 192.168.7.87, 192.168.7.199.

Далее переходим на вкладку Mangle , здесь добавляем два правила. На вкладке General, поле Chain выбираем forward

Переходим в advanced и в поле Src. Address List выбираем лист созданный на первом шаге

Идем на вкладку Action. Здесь в поле action выбираем маркировку пакетов mark packet и пишем как будем маркировать, например upload.

Аналогично создаем еще одно правило на download. Только уже будет Dst. Address List и маркировка download.

Нажимаем Ок. Теперь все пакеты идущие из сети 192.168.7.0/24 будут маркироваться как upload, а пакеты идущие в эту сеть как download.

Теперь идем в меню Queues, вкладка Queues tree и добавляем правило.

Name – имя

Parent выбираем global

Packet Marks выбираем маркировку созданную ранее upload

Limit AT гарантированная скорость, т.е если у нас скажем общий канал 10 Мбит/c и мы создаем две очереди с максимальной шириной канала по 10 Мбит. То если вторая очередь заняла скажем канал на 8 Мбит, то нашей остается всего 2 Мбит, параметром Limit AT мы указываем, что гарантируем канал в 5 Мбит. т.е если в нашей очереди начнут интенсивно использовать интернет, то приоритет у нашей очереди увеличится, а у второй очереди уменьшится и скорость поделится по 5 Мбит

Max Limit максимальная скорость. Это и есть наше ограничение скорости.

Нажимаем ОК и аналогично создаем очередь на загрузку

Если все сделали правильно, то мы увидим наши созданные queue и загрузку по ним.

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

Simple Queues

Более простой способ ограничения скорости делается через вкладку Simple Queues. Заходим на эту вкладку нажимаем добавить

В поле name пишем имя в target нашу сеть. Max Limit ограничения на загрузку и на отдачу

Нажимаем ОК, На этом настройка завершена, теперь вся сеть 192 .168.7.0/24 ограничена в 10Мбит, про Burst Limit я писал выше, здесь это работает также. Если нам нужно ограничить скорость не на всю сеть, а на отдельный ip адрес, то просто в поле target прописываем этот ip.

Приоритезация трафика на Mikrotik

Если нужно настроить приоритизацию трафика на Mikrotik то это делается через параметр Priority в настройка Queues tree.

Или на вкладке Advanced в Simple Queues.

Приоритет принимает значение от 1 до 8. Чем меньше значение, тем выше приоритет, т.е очередь с priority 1 будет обрабатываться самой первой, а с 8 последней. Например если у вас есть сервер ip телефонии asterisk с ip 192.168.7.10, то для него лучше сделать настройки такие.

Если нам нужно настроить приоритет определенного типа трафика, например SIP, VoIP или IpTV не привязываясь к ip адресам. То сделать это можно с помощью Mangle и Queues Tree, как это сделать я писал выше, только маркируем пакеты не по ip а по протоколу и порту. Например для маркировки пакетов на порт 5060 будет выглядеть так.

Комбинируя выше указные способы можно очень гибко настроить шейпинг скорости и приоритет трафика. Также надо отметить что настройки в Queue Tree имеют больший приоритет чем в simple Queues.

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

Mikrotik Ограничение скорости скачивания

Довольно распространенной ситуацией в компаниях небольшого
уровня, в которых нет возможности подключения широкой полосы пропускания
интернет-канала, является случаи, когда один или несколько сотрудников начинают
скачивание объемных файлов из сети, а чаще запускают торренты, это приводит к
тому что весь канал забивается подобным трафиком. В рамках данной статьи будет
рассмотрен механизм ограничения скорости тем пользователям кто злоупотребляет
скачиванием больших файлов. Для настройки ограничений будет использоваться
механизм Simple Queue роутера MikroTik. На тестовом стенде использовался
MikroTik с базовой настройкой. Все действия будут произведены через Winbox.

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

В открывшемся окне необходимо выбрать интерфейс (раздел
Interface), в который подключена локальная сеть, в нашем случае это bridge,
запустить анализатор кнопкой Start. Текущая нагрузка по входящему и исходящему
трафику отображается в колонках Tx Rate и Rx Rate. На нижеприведенном скриншоте
видна нормальная скорость трафика при стандартной работе компьютера, на котором
открыто несколько вкладок браузера и идут стандартные обращения к сайтам.

А на следующем скриншоте показана ситуация когда включили скачивание в торренте. В колонке Src будет показан источник — ip-адрес компьютера, качающего в данный момент файлы.

Для большего удобства и наглядности можно отсортировать колонку Tx Rate или Rx Rate по уменьшению скорости.

Теперь можно настроить ограничение скорости. Но перед этим
рекомендуется сделать еще один шаг, если в сети ip-адреса раздаются
DHCP-сервером — необходимо адрес, на котором будет настраиваться ограничение,
сделать статическим по факту привязать ip-адрес к MAC-адресу сетевой карты
компьютера. Для этого необходимо перейти в раздел IP > DHCP Server.

В открывшемся окне необходимо перейти во вкладку Leases,
далее на необходимом ip-адресе правой кнопкой мыши открыть контекстное меню и
выбрать параметр Make Static.
Обратите внимание, что у всех адресов, назначенных DHCP сервером, в начале
строки стоит ключ D, который означает что адрес динамический.

После выполнения привязки адреса, ключ D не отображается на
соответствующей строке.

Теперь можно переходить к настройке ограничений, выполняется это в разделе Queues. В открывшемся окне на вкладке General необходимо внести название правила (параметр Names), ip-адрес компьютера (параметр Target), а также максимальный лимит на скачивание и отдачу (параметр Max Limit).

Здесь и далее для добавления нового правила необходимо нажимать пиктограмму крестика в левом верхнем углу.

После сохранения правила можно проверить его работу, также
проверяется через Torch.
На ниже приведенном скриншоте видно, что при ограничении Max Limit по 768kbits/s,
скорость не превышала данный лимит. Также о том, что скачивание упирается в
потолок ограничения, можно увидеть по пиктограмме правила Simple Queues
созданного на предыдущем шаге — данная пиктограмма окрашивается в красный цвет.

Обратите внимание, что в данном типе настройке ограничение идет на весь трафик независимо от того, что делает пользователь: скачивает файлы или просто просматривает страницы.

Но MikroTik позволяет ограничивать скорость именно при скачивании, для этого создается очередь аналогично предыдущему способу, но с добавлением расширенных параметров настройки, таких как Burst:
— Burst Limit — максимальная скорость отдачи при стандартной работе пользователя в сети
— Burst Threshold — скорость отдачи при превышении которой пользователю будет включено ограничение Max Limit

— Burst Time — время по прошествии которого после
превышения  Burst Threshold будет
включено ограничение скорости указывается в секундах.

Теперь можно проверить работает ли ограничение — также через Torch
или же через вкладку   Traffic созданного
правила Simple Queue.

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

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

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Настройки выполнялись на роутер RB750GR3 с прошивкой v6.49. Выполнена базовая настройка по этой инструкции.

Выбран тестовый ПК с произвольным IP-адресом, чтоб наблюдать результаты настроек. Затем IP-адрес заменен на требуемый.

1.Проверка скорости доступа в Интернет.

Перед началом настроек проверим реальную существующую скорость с помощью сервиса в Интернете, например speedtest.

Скорость соответствует тарифному плану 20/20 Мбит/сек.

2.Определение IP-адреса пользователя.

IP-адреса в сети раздает DHCP сервер.

Переходим по меню в: IP >> DHCP Server >> Leases

Находим в списке нужного пользователя. У него статус D – dynamic.

Нажимаем на него правой кнопкой мыши и выбираем из меню строчку «Make Static».

После этих действий указанному пользователю всегда будет раздаваться один и тот же IP-адрес. Он привязан к MAC-адресу. Статус D пропадет.

3.Ограничение скорости.

Создадим правило, ограничивающее скорость заданному пользователю на уровне 3Мбит/сек.

Queues >> Simple Queues >> +

В открывшемся окне на вкладке General вводим настройки:

Name: USER-320-1-LIMIT-3M – имя пользователя, которому ограничивается скорость. Если пользователей будет несколько, то лучше сразу задать толковое имя, чтоб понимать, где кто. В данном случае  указан пользователь (USER, BUH, MARKETOLOG, ECONOM и тп.), номер кабинета, номер подключения в кабинете и лимит скорости.

Target: 192.168.15.99 – IP-адрес пользователя.

Dst: ether1-WAN – внешний интерфейс для конкретизации, если их несколько.

Target Upload Max.Limit: 3M – максимальная скорость для выгрузки в Интернет.

Target Download Max.Limit: 3M – максимальная скорость скачивания из Интернета.

M –означает мегабиты. Скорость можно выбрать из списка или написать любую.

Нажимаем кнопку «ОК» для сохранения настроек.

Через командную строку терминала:

/queue simple add dst=ether1WAN maxlimit=3M/3M name=USER3201LIMIT3M target=192.168.15.99/32

Проверяем скорость

Скорость соответствует.

О том, что правило работает, так же сообщает значок напротив пользователя. В зависимости от загрузки он становится желтым – 50% (и выше) или красным – 75% (и выше).

Цель достигнута. Осталось только заменить в правиле IP-адрес тестового компьютера, на IP нужного пользователя.

Если скорость не ограничивается и правило не работает, то нужно проверить в IP >> Firewall >> Filter Rules наличие правила fasttrack connection (пересылка трафика без обработки). Если это правило присутствует его нужно удалить и перезагрузить роутер.

После того, как правило поработало пару дней, пользователь-качатель пришел на переговоры. Объяснил, что дома совсем плохой Интернет, сделать лучше не позволяет техническая возможность, 3G нет и тп и он хочет иногда что-то скачивать на работе. Было найдено компромиссное решение – разрешено качать с 18:00 до 7:00 в период, когда никто не работает.

Настройка время находится в нижней части окна правила.

Time: 07:00:00 – 18:00:00 – период времени в течение которого будет работать это правило.

Days: mon, tue, wed, thu, fri, — дни недели с понедельника по пятницу в течение которых будет работать правило.

Во все остальное неуказанное время (с 18 вечера до 7 утра по будням и все выходные) правило не работает, скорость не ограничена и пользователь может занимать канал в Интернет, не нарушая чью-то работу.

Через консоль с добавлением время работы:

/queue simple add dst=ether1WAN maxlimit=3M/3M name=USER3201LIMIT3M target=192.168.15.99/32 time=7h18h,mon,tue,wed,thu,fri

Когда правило не работает, оно написано в списке красными буквами.

4.Разделение скорости пользователям и админам.

Рассмотрим еще один вариант, в котором нужно ограничить скорость всем пользователям сети кроме админов. Порядок расположения правил в Simple Queues имеет значение. Воспользуемся этой возможностью. Создадим правило, ограничивающее скорость на интерфейсе Bridge-LAN (локальная сеть). Затем создадим правило для скорости админу и поместим его выше правила для интерфейса. Проверим, как это работает.

Правило для пользователей.

Переходим в Simple Queues, создаем новое правило, нажав синий плюс.

Name: LAN-15-LIMIT-10M – имя для правила на локальную сеть с указанием лимита (любое понятное название латиницей);

Target: bridge-LAN – мост на котором локальная сеть;

Dst.: ether1-WAN (можно не указывать);

Target Upload Max Limit: 10M – максимальная скорость выгрузки;

Target Download Max Limit: 10M – максимальная скорость загрузки (скачивания);

Нажимаем кнопку «ОК».

Через командную строку терминала:

/queue simple add dst=ether1WAN maxlimit=10M/10M name=LAN15LIMIT10M target=bridgeLAN

Правило для администратора.

В Simple Queues, создаем новое правило, нажав синий плюс.

Name: ADMIN-101-LIMIT-20M – имя для правила скорости админа;

Target: 192.168.15.101 – IP-адрес админа;

Dst.: ether1-WAN

Target Upload Max Limit: 20M – максимальная скорость выгрузки;

Target Download Max Limit: 20M – максимальная скорость загрузки (скачивания);

Нельзя оставлять значение «unlimited», нужно указать цифровое значение, иначе правило не заработает.

«ОК» для сохранения.

Чтоб правила пользователей и админа работали, их нужно расположить в определенном порядке: админ верхнее, пользователи – ниже.

Если правила не перетаскиваются нужно нажать на значок #.

По результатам проверки у пользователей в этой сети скорость 10Мбит/с, а у админа 20Мбит/с. У пользователя, который качает – 3Мбит/сек по расписанию.

Если нужно добавить еще одного админа или сервер без ограничений скорости, следует добавить требуемые IP-адреса в первое правило в поле «Target» (или создать еще одно правило).

К сожалению, в данном варианте прикрепить список пользователей в одно правило не получится и добавлять нужно по одному IP-адресу, привязанному к MAC-адресу.

Текущие скорости и график можно посмотреть на вкладке «Traffic», но для каждого правила отдельно.

Общую картину внешнего трафика в Simple Queues можно увидеть, если создавать одно родительское правило и все правила добавлять в него, но это отдельная тема. Или использовать Torch или IP Firewall Connection, но эти способы не очень удобны, потому что показан трафик на каждый IP-адрес назначения.

Burst.

В правиле «Simple Queues» на вкладке «General» кроме всего вышеперечисленного есть еще одна выпадающая вкладка с названием «Burst». Рассмотрим ее назначение.

Burst (вспышка) – функция, которая позволяет кратковременно увеличить скорость свыше установленного лимита. Например, при открытии Интернет-страниц в браузере не будет возникать задержек и тормозов, а если пользователь начнет смотреть видео или скачивать, то его скорость вернется к установленным лимитам.

Устанавливаем значения параметров «Burst». Значения в разных ситуациях будут разные и зависят от тарифного плана и настроенного ранее максимального ограничения скорости.

Burst Limit – максимальная скорость на время включения режима «Burst»;

Burst-time – время в течение которого рассчитывается средняя скорость;

Burst Threshold – значение средней скорости определяющее включение или выключение режима «Burst».

Через командную строку терминала:

/queue simple add name=LAN15LIMIT10M target=bridgeLAN dst=ether1WAN maxlimit=10M/10M burstlimit=15M/15M burstthreshold=8M/8M bursttime=20s/20s

Итак, мы открыли страницу и она начала загружаться с максимальной скоростью 15М. В течение 20сек  (Burst Time) рассчитывается средняя скорость. Когда средняя скорость достигает 8М (Burst Threshold), режим «Burst» отключается и скорость снижается до лимита в 10М. Вот примерно так это работает. Подробности с графиком в официальной wiki.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Другие наши интересноые статьи:

  • Объединить две сети через два роутера
  • Один ip адрес на два роутера
  • Один ноутбук подключается к роутеру а другой нет
  • Ограничение скорости отдачи в роутере
  • Один планшет видит роутер другие нет

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии