tc_htb_example
#ens160 внутренний интерфейс
#Создаем очередь, весь неклассифцированный трафик попадет в класс 1:12
tc qdisc add dev ens160 root handle 1: htb default 12
#Создаем родительский класс 
tc class add dev ens160 parent 1: classid 1:1 htb rate 1000mbit ceil 1000mbit
#Создаем дочерний класс (приоритет 12)
tc class add dev ens160 parent 1:1 classid 1:12 htb rate 40mbit ceil 100mbit prio 12
#Создаем дочерний класс (приоритет 2)
tc class add dev ens160 parent 1:1 classid 1:2  htb rate 5mbit ceil  5mbit   prio 2
#Создаем дочерний класс (приоритет 1)
tc class add dev ens160 parent 1:1 classid 1:3  htb rate 1000mbit ceil  1000mbit   prio 1

#Фильтруем и направляем трафик в класс 1:2 (протокол tcp, с порта 443)
tc filter add \
	dev ens160 \
	protocol ip \
	parent 1:0 \
	prio 2 \
	u32 \
	match ip protocol 6 0xff \
	match ip dst 192.168.150.0/24 \
	match ip sport 443 0xffff \
	flowid 1:2

#Фильтруем и направляем трафик в класс 1:2 (протокол tcp, с порта 80)
tc filter add \
	dev ens160 \
	protocol ip \
	parent 1:0 \
	prio 2 \
	u32 \
	match ip protocol 6 0xff \
	match ip dst 192.168.150.0/24 \
	match ip sport 80 0xffff \
	flowid 1:2

#Фильтруем и направляем трафик в класс 1:2 (протокол icmp)
tc filter add \
	dev ens160 \
	protocol ip \
	parent 1:0 \
	prio 2 \
	u32 \
	match ip protocol 1 0xff \
	match ip dst 192.168.150.0/24 \
	match ip sport 80 0xffff \
	flowid 1:2

#Фильтруем и направляем трафик в класс 1:3 (локальный трафик)
tc filter add \
	dev ens160 \
	protocol ip \
	parent 1:0 \
	prio 1 \
	u32 \
	match ip src 192.168.0.0/16 \
	match ip dst 192.168.0.0/16 \
	flowid 1:3
tc_htb_example.txt · Last modified: 2023/08/28 15:46 by admin