
각 Wireguard 피어의 다운로드 및 업로드 속도를 512kbit로 제한하려고 합니다.
문제는내 다음 명령은다운로드 대역폭만 제한피어이며 업로드 대역폭을 제한하지 않습니다. 어떤 도움이라도 주시면 감사하겠습니다.
예를 들어 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
다음 코드를 사용하여 문제를 해결했습니다.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}