Придумаем виртуальную схему сети и создадим конфигурацию
роутера для нее.

Итак, два филиала, в филиале А находится
несколько рабочих мест, почтовый сервер и web сервер, роутер этого
филиала подключен одновременно к двум провайдерам, провайдер ISP1
предоставляет 100Мб внутри своей сети, внутренний трафик не
тарифицируется, второй провайдер ISP2 предоставляет безлимитный доступ к
сети Internet. В филиале В находится терминальный сервер, этот филиал
так же подключен к провайдеру ISP1.
Вся дальнейшая настройка будет делаться
для роутера филиала А.
В этой статье дается описание настройки
ограничения по скорости доступа все остальные настройки можно найти в
предыдущих статьях.
Необходимо:
- Работа по каналу провайдера ISP2
- Ограничить
скорость доступа офисным машинам к сети Internet:
- Машины
192.168.1.10-192.168.1.15 - Download = 64kb/s, Upload = 32kb/s
- Машина
192.168.1.20 - Download = 256kb/s, Upload = 128kb/s
- Ограничить
скорость доступа почтового сервера - Donwload = 1Mb/s, Upload = 1Mb/s
- Ограничить
скорость доступа web сервера - Download = 1Mb/s, Upload = 4Mb/s
- Работа
по каналу провайдера IPS1
- Ограничить скорость доступа офисным
машинам 192.168.1.10-192.168.1.15 до уровня, достаточного для работы с
1-2 одновременными терминальными сеансами (RDP) - 1Mb/s
- Ограничить
скорость доступа машины 192.168.1.20 до 10Mb/s
- Ограничить
скорость доступа серверов до 10Mb/s
Самым простым механизмом ограничения
скорости доступа является /queue simple, ограничения задаются в виде
правил, правила обрабатываются по порядку от меньшего номера к большему
(сверху вниз).
Т.к.
оговорено, что провайдер IPS1 предоставляет доступ ко внутренней сети,
то известна подсеть, которую будут использовать филиалы для совместной
работы.
Первым шагом
создадим правила для серверов.
[mkt@MikroTik] > queue simple add name="mail to branch" target-addresses=192.168.1.2
dst-address=195.82.111.0/24 interface=ISP1 max-limit=10000000/10000000
target-addresses - адрес, который
ограничиваем.
dst-address -
назначение, в нашем случае это подсеть внутри провайдера.
interface - интрефес, через который буду
проходить пакеты от target-addresses к dst-address.
max-limit - значение максимальной скорости
(target upload/download)
Теперь тоже, но для веб сервера и 192.168.1.20.
[mkt@MikroTik] > queue simple add name="web to branch" target-addresses=192.168.1.3
dst-address=195.82.111.0/24 interface=ISP1 max-limit=10000000/10000000
[mkt@MikroTik] > queue simple add name="192.168.1.20 to branch"
target-addresses=192.168.1.20 dst-address=195.82.111.0/24 interface=ISP1
max-limit=10000000/10000000
Значение name должно быть уникальным!
Теперь правило для машин
192.168.1.10-192.168.1.15.
[mkt@MikroTik] > queue simple add name="192.168.1.10-15 to branch"
target-addresses=192.168.1.10,192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14,
192.168.1.15 dst-address=195.82.111.0/24 interface=ISP1 max-limit=1000000/1000000
В target-addresses можно указать
перечисление адресов, на которые распространяется это правило.
Считаем, что с правилами маршрутизации
проблем нет и то, что должно пойти по не тарифицируемому каналу, то по
нему пойдет и не свернет случайно на второй интерфейс, который со
стороны филиала А безлимитный, а вот со стороны филиала В находится уже
другой провайдер, который выставит счет за такую ошибку. А вдруг что то
не так? Или этими настройками занимается другой человек, лучше себя
подстраховать!
Защитится
от этого можно одним простым правилом, все, что не предназначено
подсети, в которой находятся наши филиалы, должно быть ограничено до
скорости в 10b/s.
Можно
перефразировать задачу по другому, учитывая, что правилами, которые
стоят выше, оговорены ограничения для доступа к филиалам через интерфейс
ISP1, остальные соединения, проходящие через интерфейс ISP1 ограничить
скоростью в 10b/s.
[mkt@MikroTik] > queue simple add name="not to branch" interface=ISP1
max-limit=10/10
Теперь настало время прописать
ограничения для работы со вторым провайдером.
Начнем так же с серверов.
Почтовый серер - 1Mb/s, Upload = 1Mb/s
[mkt@MikroTik] > queue simple add name="mail to external"
target-addresses=192.168.1.2 interface=ISP2 max-limit=1000000/1000000
Веб сервер - Download = 1Mb/s,
Upload = 4Mb/s.
[mkt@MikroTik] > queue simple add name="web to external"
target-addresses=192.168.1.3 interface=ISP2 max-limit=4000000/1000000
Теперь машина 192.168.1.20 - Download
= 256kb/s, Upload = 128kb/s
[mkt@MikroTik] > queue simple add name="192.168.1.20 to external"
target-addresses=192.168.1.20 interface=ISP2 max-limit=128000/256000
В заключение одним правилом для машин
192.168.1.10-192.168.1.15 - Download = 64kb/s, Upload = 32kb/s
[mkt@MikroTik] > queue simple add name="192.168.1.10-15 to external"
target-addresses=192.168.1.10,192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14,
192.168.1.15 interface=ISP2 max-limit=32000/64000
Продублируем защиту для интрефейса
ISP2, что бы все выходящее с него в подсеть филиалов ограничивалось
скоростью в 10b/s.
[mkt@MikroTik] > queue simple add name="ISP2 to branch" dst-address=195.82.111.0/24
interface=ISP2 max-limit=10/10
Посмотрим, что у нас получилось.
[mkt@MikroTik] > queue simple print
Flags: X - disabled, I - invalid, D - dynamic
0 name="web to branch" target-addresses=192.168.1.3/32
dst-address=195.82.111.0/24 interface=ISP1 parent=none direction=both
priority=8 queue=default-small/default-small limit-at=0/0
max-limit=10000000/10000000 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small
1 name="192.168.1.20 to branch" target-addresses=192.168.1.20/32
dst-address=195.82.111.0/24 interface=ISP1 parent=none direction=both
priority=8 queue=default-small/default-small limit-at=0/0
max-limit=10000000/10000000 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small
2 name="192.168.1.10-15 to branch"
target-addresses=192.168.1.10/32,192.168.1.11/32,192.168.1.12/32,
192.168.1.13/32,192.168.1.14/32,192.168.1.15/32
dst-address=195.82.111.0/24 interface=ISP1 parent=none direction=both
priority=8 queue=default-small/default-small limit-at=0/0
max-limit=1000000/1000000 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small
3 name="not to branch" dst-address=0.0.0.0/0 interface=ISP1 parent=none
direction=both priority=8 queue=default-small/default-small
limit-at=0/0 max-limit=10/10 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small
4 name="mail to external" target-addresses=192.168.1.2/32
dst-address=0.0.0.0/0 interface=ISP2 parent=none direction=both
priority=8 queue=default-small/default-small limit-at=0/0
max-limit=1000000/1000000 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small
5 name="web to external" target-addresses=192.168.1.3/32
dst-address=0.0.0.0/0 interface=ISP2 parent=none direction=both
priority=8 queue=default-small/default-small limit-at=0/0
max-limit=4000000/1000000 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small
6 name="192.168.1.20 to external" target-addresses=192.168.1.20/32
dst-address=0.0.0.0/0 interface=ISP2 parent=none direction=both
priority=8 queue=default-small/default-small limit-at=0/0
max-limit=128000/256000 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small
7 name="192.168.1.10-15 to external"
target-addresses=192.168.1.10/32,192.168.1.11/32,192.168.1.12/32,
192.168.1.13/32,192.168.1.14/32,192.168.1.15/32
dst-address=0.0.0.0/0 interface=ISP2 parent=none direction=both
priority=8 queue=default-small/default-small limit-at=0/0
max-limit=32000/64000 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small
8 name="ISP2 to branch" dst-address=195.82.111.0/24 interface=ISP2
parent=none direction=both priority=8 queue=default-small/default-small
limit-at=0/0 max-limit=10/10 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small

Это самый простой из механизмов
ограничения скорости и обеспечения качества сервиса.