Я настроил прокси-сервер Socks, прослушивающий 2 порта: 10001-10002.
Порт 10001 предоставлен анонимному пользователю. Поэтому я хочу ограничить максимальную пропускную способность до 1 МБ/с, а максимальную пропускную способность порта 10002 — до 10 МБ/с.
Я следил за ответами здесь Ограничить пропускную способность определенного порта в CentOS 7?
Пользователь AB показал нам 2 метода, и я попробовал первыйпростой и грубыйподход.
В конце концов я получил странный результат, вот мой шаг:
введите шелл-код на стороне сервера (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
Настройка модели сервера iperf3 на моем Ubuntu 18.04:
iperf3 -s -p 33322
На моем Windows 10 я запускаю клиент iperf3 (Ubuntu и Windows 10 в одной локальной сети с пропускной способностью 1 Гбит):
iperf3 -c <my server ip> -p 33322
Скриншоты моего клиента и сервера показаны ниже:
Похоже, что скорость в сети будет только в начале соединения, а затем она станет нулевой, и я не знаю, почему?
После этого я ограничил пропускную способность на порту 22 на моем Ubuntu; затем использовал sFTP на моем Windows 10, чтобы загрузить большой файл. Результат тот же; скорость около 100 кБ/с в начале соединения, а затем скорость падает, пока не достигает нуля.