
Этот вопрос является продолжением«Как настроить 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.