Проблема ограничения пропускной способности на определенном порту в Ubuntu18.04

Проблема ограничения пропускной способности на определенном порту в Ubuntu18.04

Я настроил прокси-сервер Socks, прослушивающий 2 порта: 10001-10002.

Порт 10001 предоставлен анонимному пользователю. Поэтому я хочу ограничить максимальную пропускную способность до 1 МБ/с, а максимальную пропускную способность порта 10002 — до 10 МБ/с.

Я следил за ответами здесь Ограничить пропускную способность определенного порта в CentOS 7?

Пользователь AB показал нам 2 метода, и я попробовал первыйпростой и грубыйподход.

В конце концов я получил странный результат, вот мой шаг:

  1. введите шелл-код на стороне сервера (Ubuntu 18.04):

    tc qdisc add dev eth0 ingress handle ffff:
    tc filter add dev eth0 ingress protocol ip basic match 'cmp(u16 at 2 layer transport eq 33322)' action police rate 8mbit burst 256k
    
  2. Настройка модели сервера iperf3 на моем Ubuntu 18.04:

    iperf3 -s -p 33322
    
  3. На моем Windows 10 я запускаю клиент iperf3 (Ubuntu и Windows 10 в одной локальной сети с пропускной способностью 1 Гбит):

    iperf3 -c <my server ip> -p 33322
    

Скриншоты моего клиента и сервера показаны ниже:

введите описание изображения здесь

введите описание изображения здесь

Похоже, что скорость в сети будет только в начале соединения, а затем она станет нулевой, и я не знаю, почему?

После этого я ограничил пропускную способность на порту 22 на моем Ubuntu; затем использовал sFTP на моем Windows 10, чтобы загрузить большой файл. Результат тот же; скорость около 100 кБ/с в начале соединения, а затем скорость падает, пока не достигает нуля.

Связанный контент