Skip to content

By Тодор in Linux

Примерният сценарий е линукс рутер с повече от 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)'

Tags: , , , , , ,

Comment Feed

No Responses (yet)



Some HTML is OK

or, reply to this post via trackback.