[Sysadmins] nat and shaper

Alexei Takaseev alexei на taf.ru
Пт Апр 8 19:18:44 MSK 2016



----- 8 Апр 2016 г. в 16:42 Anton Gorlov stalker на altlinux.ru написал(а):

> 08.04.2016 04:56, Alexei Takaseev пишет:
>> А какие проблемы с шейпингом входящего НА клиентов трафика? Там все
>> нормально и классически по мануалам. Проблема только в шейпинге исходящего
>> ОТ клиентов трафика, там да, придется танцевать вокруг псевдоинтерфейсов ifb
> 
> Хм..видимо я где-то запутался. Мне казалось что шейпить нужно на
> интерфейсе от апплинка ко мне.
> А по факту мне нужно будет для шейпинга входящего - шейпить на
> интерфейсе смотрящем на клиентов?

Не-не-не. Шейпить можно только исходящий с интерфейса трафик. Чтобы можно было
шейпить приходящий на интерфейс трафик, его приходится перенаправлять на
виртуальный ifb, и уже на виртуальном прописывать политики, так как трафик с ifb
будет исходящим куда-то.

В случае с NAT все сложно, так как по направлению клиент -> ifLAN -> NAT -> inWAN
на ifWAN на момент применения политик шейпера уже произведена подмена src-адреса в пакете.
Политики шейпера применяются уже после прохождения пакетом POSTROUTING.

Чтобы обойти эту ситуацию, приходится городить конструкции вида:

 # перенаправлять входящие пакеты с LAN в ifb0 
 tc qdisc add dev LAN ingress
 tc filter add dev LAN parent ffff: protocol ip \
  u32 match u32 0 0 action mirred egress redirect dev ifb0

и уже на ifb прописывать правила нарезки исходящей от клиентов скорости.


Подробная информация о списке рассылки Sysadmins