Итак, у чукчей снова проблема. Есть канал точка-точка на двух NSLM5 с прошивкой XM.v5.5.8.
{интернет}--[NSLM5 роутер] ~ ~ ~ [NSLM5 мост]--[свич]==(клиенты)
Одна NLM5 работает в режиме роутера, т.е. делает NAT. Проводом подключена к провайдеру.
Другая NLM5 работает как мост, к ней подключен тупой свич, а к нему несколько клиентских компов и роутеров.
Нужно ограничить максимальную полосу, выдаваемую каждому клиенту (а то как включат качалку...)
В принципе, шейпинг на базе AirOS - это не более чем временное решение, потому что в скором будущем там будет MikroTik 750GL и какие-нибудь VLAN'ы или PPPoE или что-то еще. Сейчас клиентов можно идентифицировать по МАКам или по IP. Скорость каждому можно выдать одинаковую, например, 3 мегабита.
Я нарыл вот такое решение для большого линукса:
https://jve.linuxwall.info/blog/index.php?post/2010/10/16/How-can-I-do-traffic-shaping-in-Linux-by-I...
но строки типа
iptables -t mangle -A INPUT -i br0 -s 192.168.1.2 -j CONNMARK --set-mark 2
дают ошибку
iptables v1.4.0: Unknown arg `--set-mark`
В теории вместо iptables для маркировки можно использовать ebtables:
ebtables -A INPUT -i br0 -s de:ad:e9:d0:00:ff -j mark --set-mark 2 --mark-target CONTINUE
Но оно тоже дает ошибку:
The kernel doesn't support a certain ebtables extension, consider recompiling your kernel or insmod the extension.
Остальные команды, в частности, tc, работают без ошибок.
На версии 5.5.10 все то же самое, проверил на других наносах на другом канале.
Все перерыл, успешную маркировку пакетов на родной прошивке нигде не встретил.
Полагаю, кастрированы соответствующие модули ядра?
Решение - переход на альтернативную прошивку?
{интернет}--[NSLM5 роутер] ~ ~ ~ [NSLM5 мост]--[свич]==(клиенты)
Одна NLM5 работает в режиме роутера, т.е. делает NAT. Проводом подключена к провайдеру.
Другая NLM5 работает как мост, к ней подключен тупой свич, а к нему несколько клиентских компов и роутеров.
Нужно ограничить максимальную полосу, выдаваемую каждому клиенту (а то как включат качалку...)
В принципе, шейпинг на базе AirOS - это не более чем временное решение, потому что в скором будущем там будет MikroTik 750GL и какие-нибудь VLAN'ы или PPPoE или что-то еще. Сейчас клиентов можно идентифицировать по МАКам или по IP. Скорость каждому можно выдать одинаковую, например, 3 мегабита.
Я нарыл вот такое решение для большого линукса:
https://jve.linuxwall.info/blog/index.php?post/2010/10/16/How-can-I-do-traffic-shaping-in-Linux-by-I...
но строки типа
iptables -t mangle -A INPUT -i br0 -s 192.168.1.2 -j CONNMARK --set-mark 2
дают ошибку
iptables v1.4.0: Unknown arg `--set-mark`
В теории вместо iptables для маркировки можно использовать ebtables:
ebtables -A INPUT -i br0 -s de:ad:e9:d0:00:ff -j mark --set-mark 2 --mark-target CONTINUE
Но оно тоже дает ошибку:
The kernel doesn't support a certain ebtables extension, consider recompiling your kernel or insmod the extension.
Остальные команды, в частности, tc, работают без ошибок.
На версии 5.5.10 все то же самое, проверил на других наносах на другом канале.
Все перерыл, успешную маркировку пакетов на родной прошивке нигде не встретил.
Полагаю, кастрированы соответствующие модули ядра?
Решение - переход на альтернативную прошивку?
Комментарий