要将 Ubuntu 系统中的网络速度限制为 100K,可以使用 tc 命令(Traffic Control 的缩写)来实现。具体步骤如下:

1.确认系统已经安装了 iproute2 包,如果没有可以使用以下命令进行安装

sudo apt-get install iproute2

2.打开终端,使用以下命令创建一个名为 eth0 的网络接口:

sudo ip link set dev eth0 up

注意,如果系统中的网卡名称不是 eth0,请将命令中的 eth0 替换为实际的网卡名称

3.使用以下命令创建一个名为 htb1 的类别:

sudo tc qdisc add dev eth0 root handle 1: htb default 10

4.使用以下命令创建一个名为 htb2 的子类别:

sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbit ceil 100kbit

5.使用以下命令将 htb2 类别与 eth0 网络接口关联:

sudo tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip src 0.0.0.0/0 flowid 1:1

完成以上步骤后,网络接口 eth0 的上传和下载速度都将被限制为 100K。如果需要取消限制,可以使用以下命令:

sudo tc qdisc del dev eth0 root

可以使用一些网速测试工具来测试限速效果,例如:

  1. speedtest-cli:使用命令sudo apt install speedtest-cli安装后,在终端输入speedtest-cli即可测试当前网络的带宽情况。

  2. iperf:使用命令sudo apt install iperf3安装后,在终端输入iperf -c 服务器地址 -t 测试时间 -i 测试间隔即可进行带宽测试。例如,测试 10 秒钟,每隔 1 秒钟输出一次结果:

    iperf3 -c %s -p 18888 -i 1 在限速后再次执行这个命令,可以对比限速前后的带宽表现。需要注意,使用iperf3时,服务端和客户端都需要启动iperf3

  3. 服务端需要启动iperf3,才能和客户端一起检测带宽:iperf3 -s -p 18888

crt@crt-ThinkBook-14-G3-ITL:~$ 
crt@crt-ThinkBook-14-G3-ITL:~$ iperf3 -c 172.20.20.117 -p 18888 -i 1
Connecting to host 172.20.20.117, port 18888
[  4] local 172.20.20.202 port 51334 connected to 172.20.20.117 port 18888
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  4.29 MBytes  36.0 Mbits/sec    2    107 KBytes       
[  4]   1.00-2.00   sec  5.84 MBytes  49.0 Mbits/sec    3    165 KBytes       
[  4]   2.00-3.00   sec  4.16 MBytes  34.9 Mbits/sec    7    165 KBytes       
[  4]   3.00-4.00   sec  1.91 MBytes  16.0 Mbits/sec    9    165 KBytes       
[  4]   4.00-5.00   sec  5.96 MBytes  50.0 Mbits/sec    6    165 KBytes       
[  4]   5.00-6.00   sec  4.86 MBytes  40.7 Mbits/sec    8    165 KBytes       
[  4]   6.00-7.00   sec  4.48 MBytes  37.6 Mbits/sec    5    165 KBytes       
[  4]   7.00-8.00   sec  7.91 MBytes  66.3 Mbits/sec    6    165 KBytes       
[  4]   8.00-9.00   sec  4.66 MBytes  39.0 Mbits/sec    6    165 KBytes       
[  4]   9.00-10.00  sec  1.73 MBytes  14.5 Mbits/sec    0   96.2 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  45.8 MBytes  38.4 Mbits/sec   52             sender
[  4]   0.00-10.00  sec  45.5 MBytes  38.1 Mbits/sec                  receiver

iperf Done.
Logo

更多推荐