Как настроить Linux-сервер в качестве маршрутизатора с QoS

Как настроить Linux-сервер в качестве маршрутизатора с QoS

Этот вопрос является продолжением«Как настроить Linux-сервер в качестве маршрутизатора?»но с дополнительным предварительным условием: я хочу быть уверен, прежде чем начать монтировать маршрутизатор Ubuntu, что смогу реализовать QoS. Это в основном для использования мелкозернистого QoS, который я хочу использовать в первую очередь для пользовательского маршрутизатора, поэтому мне нужно быть уверенным, что это возможно.

Я хочу использовать машину Ubuntu Server в качестве маршрутизатора домашней сети (с DHCP, DMZ, правилами брандмауэра). Я также хочу иметь возможность регулировать пропускную способность восходящего канала (для обеспечения QoS) на основе следующих критериев:

  • Диапазон локальных IP-адресов
  • Локальный MAC-адрес
  • Диапазон локальных портов
  • Диапазон удаленных IP-адресов
  • Диапазон удаленного порта
  • Приоритет

Например, я хотел бы иметь возможность ограничивать пропускную способность моего сервиса Google Drive Sync (который синхронизируется с IP-адресом Google на порту 443), но только в том случае, если другим службам с более высоким приоритетом нужна пропускная способность.

На самом деле я хотел бы иметь сочетание StreamEngine QoS (который может ограничивать полосу пропускания до IP-адреса назначения, но работает только с приоритетом 0..255 на моем маршрутизаторе D-Link) и «случайных» маршрутизаторов Cisco (которые допускают явное ограничение полосы пропускания — например, 50 Кбайт/с — но только по локальным правилам IP).

Возможно ли это с использованием Ubuntu Server? Если да, то с чего мне начать?

решение1

Я думаю, что все, что вы хотите сделать, можно сделать с помощью комбинации iptables и iproute2. Пожалуйста, посмотрите на Iptables-Учебникирасширенный маршрутизатор howto.

Связанный контент