Vraag Hoe kan ik de download- / uploadbandbreedte beperken?


Hoe ik de download / upload-bandbreedte kan beperken voor:

  • Gehele besturingssysteem.
  • Eén netwerkinterface.
  • Enkele applicatie.

74
2017-08-04 08:41


oorsprong


Ik heb een bug voor de wondershaper probleem in Ubuntu 17.10, wat kan lijken op wat er gebeurt met @ Zeromatiker in Ubuntu 17.04: bugs.launchpad.net/ubuntu/+source/wondershaper/+bug/1745421 - aguadopd


antwoorden:


Het beperken van één interface is eenvoudig, maar voor globale snelheidslimieten zijn complexere regels vereist, net als regels op basis van toepassingen. Ik zeg niet dat het niet kan, maar het vergt nogal wat ingroei naar de binnenkant van het netwerk.

Hier is snel Hoe over het instellen van een limiet per interface

Als u werkelijk toepassingsgebaseerde regels wilt instellen, moet u kijken naar een of ander firewallraamwerk, zoals shorewall, die helperfuncties hebben om vormgeven te configureren. Zelfs met deze hulpmiddelen, vereist het nogal wat voorbedachtheid en testen om het op zijn plaats te krijgen. Iets als deze ad-hoc doen is nog niet zo eenvoudig.


42
2017-08-04 08:57



Wondershaper werkt niet. Ik weet niet waarom (zelfs wondershaper eth0 1000 1000 heeft geen internetbandbreedte. Ik moet alle eth0-bandbreedte beperken, niet alleen specifieke applicaties. hoe kan dat doen? - Arash


Hoewel dit een oude vraag is, kwam ik dit tegen bij het zoeken naar een antwoord op dezelfde vraag. De OS- en interfacelimieten zijn reeds behandeld in een eerder antwoord, dus hier is een manier om toepassingsspecifieke limieten in te stellen. Gebruik een applicatie met de naam trickle. Ja sudo apt-get install trickle. U kunt het uploaden / downloaden voor een specifieke app beperken door te starten

trickle -u (upload limit in KB/s) -d (download limit in KB/s) application

Hiermee start u de toepassing met de opgegeven limieten. U kunt ook de "smoothing" -tijd specificeren, zodat druppelsteekproeven over de gewenste periode in het geval uw toepassing bursts van bandbreedteverbruik heeft en u wilt dat de bursts worden toegestaan ​​zolang het gemiddelde binnen uw specificaties valt.


61
2017-08-28 15:24



Veel dank! Deze oplossing is perfect voor het controleren van de bandbreedte per applicatie. Aarzel nooit om een ​​antwoord te plaatsen, ook al is de vraag al jaren oud. Voor toekomstig gebruik: mogelijk krijgt u een foutmelding zoals trickle: Could not reach trickled, working independently: No such file or directory. U kunt deze waarschuwing verwijderen door trickle in de standalone-modus uit te voeren met trickle -s. - Glutanimate
Hoe verwijder ik de limiet beperkt door trickle? - Im'juz ChanYun
Trickle voert de toepassing voor u uit en de limieten worden gehandhaafd. Dus alles wat u hoeft te doen is de toepassing opnieuw opstarten zonder de trickle-opdracht te gebruiken. - SMeznaric
hartelijk dank voor dit antwoord, het was precies waar ik naar op zoek was - Ali
Dit antwoord rockt nog steeds! - Hochopepa


Als u de bandbreedte voor een specifiek IP-adres wilt beperken, kunt u dit gebruiken:

tc qdisc add dev eth1 root handle 1: htb default 12
tc class add dev eth1 parent 1: classid 1:10 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:11 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:12 htb rate 5000kbps

tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.105 flowid 1:10
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.106 flowid 1:11

5
2017-10-22 04:55



dat was behoorlijk ingewikkeld. Een paar #comments zou een lange weg gaan. U kunt bijvoorbeeld links of uitleg toevoegen voor qdiscs, classids, htb, etc. - oligofren
Dus, standaard limiteert het bovenstaande alles tot 5000 kbps tenzij gefilterd in een andere wachtrij? Hoe zit het als we niet willen beperken alles? - Ken Sharp