LINUX.ORG.RU

История изменений

Исправление vel, (текущая версия) :

Вот схема прохождения трафика

Входящий трафик - это трафик который приходит на интерфейс и который обрабатывается в ingres qdisc.

Входящий трафик можно шейпить либо через ifb интерфейс средствами tc, либо через imq средствами iptables+tc (но требуется патчить ядро)

Шейпить входящий трафик для клиентов без nat просто - через ifb интерфейс.

Шейпить входящий трафик для клиентов за nat-ом - очень не простая задача, т.к. информация о реальном адресе клиента есть в conntrack, который работает позже чем обработка ingres. IМHO возможно только с помощью imq

Если трафик к клиенту маршрутизируется, то ограничивать его на входе нет смысла т.к. это сложно и дорого. Значительно проще делать это на исходящем интерфейсе в сторону клиента (egress qdisc). И твоя первая ссылки именно про это.

Исправление vel, :

Вот схема прохождения трафика

Входящий трафик - это трафик который приходит на интерфейс и который обрабатывается в ingres qdisc.

Входящий трафик можно шейпить либо через ifb интерфейс средствами tc, либо через imq средствами iptables+tc (но требуется патчить ядро)

Шейпить входящий трафик для клиентов без nat просто - через ifb интерфейс. Это как раз твой случай.

Шейпить входящий трафик для клиентов за nat-ом - очень не простая задача, т.к. информация о реальном адресе клиента есть в conntrack, который работает позже чем обработка ingres. IМHO возможно только с помощью imq

Если трафик к клиенту маршрутизируется, то ограничивать его на входе нет смысла т.к. это сложно и дорого. Значительно проще делать это на исходящем интерфейсе в сторону клиента (egress qdisc). И твоя первая ссылки именно про это.

Исходная версия vel, :

Вот схема прохождения трафика

Входящий трафик - это трафик который приходит на интерфейс и который обрабатывается в ingres qdisc.

Входящий трафик можно шейпить либо через ifb интерфейс средствами tc, либо через imq средствами iptables+tc (но требуется патчить ядро)

Шейпить входящий трафик для клиентов без nat просто.

Шейпить входящий трафик для клиентов за nat-ом - очень не простая задача, т.к. информация о реальном адресе клиента есть в conntrack, который работает позже чем обработка ingres. IМHO возможно только с помощью imq

Если трафик к клиенту маршрутизируется, то ограничивать его на входе нет смысла т.к. это сложно и дорого. Значительно проще делать это на исходящем интерфейсе в сторону клиента (egress qdisc). И твоя первая ссылки именно про это.