Я пытаюсь настроить формирование трафика на шлюзе Linux, как написано здесь . Сценарий должен быть настроен, потому что у меня есть несколько интерфейсов локальной сети. Поэтому для формирования стороны локальной сети я планирую создать псевдоустройство ifb следующим образом:
modprobe ifb
ip link set dev ifb0 up
/sbin/tc qdisc add dev $WAN_INTERFACE ingress
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
Сценарий из упомянутого выше репозитория gist имеет следующие строки:
/sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 1 u32 match ip sport $INTERACTIVE_PORT 0xffff flowid :1
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 1 u32 match ip dport $INTERACTIVE_PORT 0xffff flowid :1
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 5 0 u32 match ip src 0.0.0.0/0 police rate $MAX_DOWNRATE_INGRESS burst 20k drop flowid :2
Этот код и код создания интерфейса ifb плохо ладят друг с другом. Настроенный скрипт выполняется, но устройство ifb0 не показывает статистику трафика. Если я закомментирую код входящего репо (приведенный выше), тогда устройство ifb0 показывает количество переданных пакетов. Также эти строки не могут быть выполнены вместе:
/sbin/tc qdisc add dev $WAN_INTERFACE ingress
/sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress
Я получаю файл существует ошибка. Итак, как я могу формировать вход на WAN_INTERFACE и в то же время также формировать трафик, который идет в LAN через устройство ifb0?
источник
ifb0
статистику специально для classid cgroup? То есть я могу успешно получить исходящую статистику для cgroup с фильтром classid. Но можно ли учитывать входящий трафик для каждой группы?Основываясь на ответе Сержиу Карвалью, я создал небольшой bash-скрипт для ограничения пропускной способности:
Имя файла: netspeed
источник
У вас есть простой скрипт, который делает это в маршрутизаторе Linux для входящего и исходящего трафика:
https://github.com/rfrail3/misc/blob/master/tc/traffic-control.sh
источник