История изменений
Исправление 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). И твоя первая ссылки именно про это.