Problem der Bandbreitenbegrenzung auf einem bestimmten Port in Ubuntu18.04

Problem der Bandbreitenbegrenzung auf einem bestimmten Port in Ubuntu18.04

Ich habe einen Socks-Proxyserver eingerichtet, der auf zwei Ports lauscht, 10001-10002.

Der Port 10001 ist anonymen Benutzern vorbehalten. Daher möchte ich die maximale Bandbreite auf 1 MB/s und die maximale Bandbreite von Port 10002 auf 10 MB/s begrenzen.

Ich bin den Antworten hier gefolgt Bandbreite auf einem bestimmten Port in CentOS 7 begrenzen?

Benutzer AB zeigte uns 2 Methoden, und ich probierte die ersteeinfach und grobAnsatz.

Schließlich habe ich ein seltsames Ergebnis erhalten. Hier ist mein Schritt:

  1. Geben Sie Shellcode auf der Serverseite ein (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. Einrichten des iperf3-Servermodells auf meinem Ubuntu 18.04:

    iperf3 -s -p 33322
    
  3. Auf meinem Windows 10 verwende ich einen iperf3-Client (Ubuntu und Windows 10 im selben lokalen Netzwerk mit 1 GBit Bandbreite):

    iperf3 -c <my server ip> -p 33322
    

Die Screenshots meines Clients und Servers sind unten dargestellt:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Es scheint, dass das Netzwerk nur zu Beginn der Verbindung über Geschwindigkeit verfügt und danach Null beträgt, und ich weiß nicht, warum?

Danach habe ich die Bandbreite auf Port 22 auf meinem Ubuntu begrenzt und dann sFTP auf meinem Windows 10 verwendet, um eine große Datei hochzuladen. Das Ergebnis ist dasselbe; es hat zu Beginn der Verbindung eine Geschwindigkeit von etwa 100 kB/s und dann nimmt die Geschwindigkeit ab, bis sie Null erreicht.

verwandte Informationen