WireGuard: ограничение скорости загрузки и выгрузки

Я пытаюсь ограничить скорость загрузки и выгрузки каждого однорангового узла Wireguard до 512 кбит.

Проблема в том, что мои следующие команды, ограничивают только полосу пропускания однорангового узла загрузки и не ограничивают полосу пропускания загрузки. Любая помощь будет оценена по достоинству.

tc правила, например, одноранговый узел с ip 10.7.0.2 и iptables mark 12:

tc qdisc add dev eth0 root handle 1: htb
tc qdisc add dev wg0 root handle 1: htb

tc class add dev eth0 parent 1:1 classid 1:12 htb rate 512kbit ceil 512kbit
tc qdisc add dev eth0 parent 1:12 sfq perturb 10
tc filter add dev eth0 protocol ip parent 1: prio 1 handle 12 fw flowid 1:12

tc class add dev wg0 parent 1:1 classid 1:12 htb rate 512kbit ceil 512kbit
tc qdisc add dev wg0 parent 1:12 sfq perturb 10
tc filter add dev wg0 protocol ip parent 1: prio 1 handle 12 fw flowid 1:12

А с iptables я помечаю однорангового узла номером 12, поэтому tc его ограничивает:

iptables -I FORWARD -s 10.7.0.2 -j MARK --set-mark 12
iptables -I FORWARD -d 10.7.0.2 -j MARK --set-mark 12 

Спасибо!

1
задан 27 July 2021 в 12:20
1 ответ

Проблема устранена с помощью этого кода из: https://stackoverflow.com/a/65248666/3411911

export IF_INET=eth0
export LIMIT=300kbit

tc qdisc add dev ${IF_INET} ingress

tc filter add dev ${IF_INET} protocol ip ingress prio 2 u32 match ip dst 0.0.0.0/0 action police rate ${LIMIT} burst ${LIMIT}
tc filter add dev ${IF_INET} protocol ip ingress prio 2 u32 match ip src 0.0.0.0/0 action police rate ${LIMIT} burst ${LIMIT}
0
ответ дан 29 July 2021 в 08:59

Теги

Похожие вопросы