LINUX.ORG.RU

Сообщения herenickname

 

Не настраивается tc для шейпинга

Форум — Admin

Привет! К сожалению, у меня очень мало опыта системного администрирования и настройки linux систем, сильно не ругайте, я только учусь ;)

Как выглядит сеть: 172.21.0.1 - сам сервер с шейпером. 172.21.0.2 - второй сервер, хранящий файлы, которые запрашивают клиенты по http. 172.21.0.6, 172.21.0.7 - два клиента.

Пытаюсь настроить шейпинг трафика wg-клиентов:

tc qdisc add dev wg0 parent root handle 1:0 hfsc default 10

# Root-класс
tc class add dev wg0 parent 1: classid 1:1 hfsc sc rate 1gbit ul rate 1gbit

# Зарезервированный трафик
# Гарантированная полоса в 500 Mbit/s и максимум 1 Gbit/s
tc class add dev wg0 parent 1:1 classid 1:10 hfsc sc rate 500mbit ul rate 1gbit

# Клиентский трафик
# Гарантированная полоса в 500 Mbit/s и максимум 1 Gbit/s
tc class add dev wg0 parent 1:1 classid 1:20 hfsc sc rate 500mbit ul rate 1gbit

# Шейпинг индивидуального клиента 6
tc class add dev wg0 parent 1:20 classid 1:3006 hfsc sc rate 100kbit ul rate 100kbit
tc filter add dev wg0 protocol ip parent 1:0 prio 1 u32 match ip dst 172.21.0.6/32 flowid 1:3006

# Шейпинг индивидуального клиента 7
tc class add dev wg0 parent 1:20 classid 1:3007 hfsc sc rate 100kbit ul rate 100kbit
tc filter add dev wg0 protocol ip parent 1:0 prio 1 u32 match ip dst 172.21.0.7/32 flowid 1:3007

tc -pretty filter show dev wg0

filter parent 1: protocol ip pref 2 u32 chain 0
filter parent 1: protocol ip pref 2 u32 chain 0 fh 800: ht divisor 1
filter parent 1: protocol ip pref 2 u32 chain 0 fh 800::801 order 2049 key ht 800 bkt 0 *flowid 1:3006 not_in_hw
  match IP dst 172.21.0.6/32
filter parent 1: protocol ip pref 2 u32 chain 0 fh 800::802 order 2050 key ht 800 bkt 0 *flowid 1:3007 not_in_hw
  match IP dst 172.21.0.7/32

tc -graph class show dev wg0

+---(1:) hfsc
     +---(1:1) hfsc sc m1 0bit d 0us m2 1Gbit ul m1 0bit d 0us m2 1Gbit
          +---(1:10) hfsc sc m1 0bit d 0us m2 500Mbit ul m1 0bit d 0us m2 1Gbit
          +---(1:20) hfsc sc m1 0bit d 0us m2 500Mbit ul m1 0bit d 0us m2 1Gbit
               +---(1:3007) hfsc sc m1 0bit d 0us m2 100Kbit ul m1 0bit d 0us m2 100Kbit
               +---(1:3006) hfsc sc m1 0bit d 0us m2 100Kbit ul m1 0bit d 0us m2 100Kbit

          |
     |    |

При попытке скачать файл сразу с двух клиентов, 100kbit получает только один, второй 0kbit :(

Что я делаю не так? Заранее спасибо! Сервер: Debian 12 запущенный в KVM.

p.s.: ограничение 100kbit/s только чтобы проверять работоспособность шейпера.

буду рад, если подскажете, как в целом переписать конфигурацию. возможно, я в корне все делаю не так и можно оптимальнее (например задать один класс для всей подсети, чтобы все wg клиенты разом получили ограничение на индивидуальные 100кбит).

 ,

herenickname
()

RSS подписка на новые темы