rev="post-791" No Comments
Примерният сценарий е линукс рутер с повече от 1 входящ интерфейс:
eth0.123 – вход 1
eth0.321 – вход 2
eth1 – изход
# tc qdisc add dev eth1 root handle 1: htb
# tc class add dev eth1 parent 1: classid 1:1 htb rate 10000kbit
# tc filter add dev eth1 protocol all basic match meta\(rt_iif eq 1\) flowid 1:1
Интересен е само третият ред. И по специално частта match meta\(rt_iif eq 3\)
rt_iif указва, че ще сравняваме пакетите по входящ интерфейс
3 е поредният номер (индекс) на интерфейса от който идва трафика
Индексите на интерфейсите можете да видите с ip addr list
Примерен скрипт, който можете да ползвате за получаване на индекс на посочен интерфейс:
# ip addr list | grep " eth1:" | awk -F":" '{print $1}'
С така конфигурирания шейпър се ограничава скоростта само на трафика идващ от интерфейса с индекс 3.
Полезно:
# tc filter add dev eth1 basic match 'meta(help)'
# tc filter add dev eth1 basic match 'meta(list)'
Последни коментари