[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