ssh
and telnet
) or to services that only deal with small blocks of data.
tc
command (provided by theiproute or the iproute2 package). Since its interface is quite complex, using higher-level tools is recommended.
wondershaper
(in the similarly-named package) is to minimize latencies independent of network load. This is achieved by limiting total traffic to a value that falls just short of the link saturation value.
wondershaper interface download_rate upload_rate
. The interface can be enp1s0
, eth0
or ppp0
for example, and both rates are expressed in kilobits per second. The wondershaper remove interface
command disables traffic control on the specified interface.
up
and down
directives to the /etc/network/interfaces
file allowing declared commands to be run, respectively, after the interface is configured and before it is deconfigured. Or in the PPP case, creating a script that calls wondershaper
in /etc/ppp/ip-up.d/
will enable traffic control as soon as the connection is up. Below is an example using this first method:
pfifo_fast
queue scheduler, which provides a few interesting features by itself. The priority of each processed IP packet is based on the DSCP field (Differentiated Services Code Point) of this packet; modifying this 6-bit field is enough to take advantage of the scheduling features. Refer to https://en.wikipedia.org/wiki/Differentiated_services#Class_Selector for more information.
nft add table ip mangle nft add rule ip mangle PREROUTING tcp sport 22 counter ip dscp set 0x04 nft add rule ip mangle PREROUTING tcp dport 22 counter ip dscp set 0x04