当前位置: 首页 > 科技观察

在Linux中使用Wondershaper限制网络带宽

时间:2023-03-13 19:34:20 科技观察

以下内容将向您介绍如何在类Unix操作系统中轻松限制网络带宽和优化网络流量。通过限制网络带宽,您可以节省应用程序不必要的带宽消耗,包括包管理器(pacman、yum、apt)、网络浏览器、torrent客户端、下载管理器等,并防止单个或多个用户滥用网络带宽。在这篇文章中,我将介绍Wondershaper,一个有用的命令行程序,我认为它是限制Linux系统的Internet或本地网络带宽的最简单和最快的方法之一。请注意,Wondershaper只能限制本地网络接口上的传入和传出流量,而不是路由器或调制解调器接口。换句话说,Wondershaper只限制本地系统本身的网络带宽,而不限制网络中的其他系统。因此Wondershaper主要用于限制本地系统中一张或多张网卡的带宽。让我们来看看Wondershaper是如何优化网络流量的。在Linux中使用Wondershaper限制网络带宽wondershaper是一个用于显示系统网卡网络带宽的简单脚本。它使用了iproute的tc命令,但是大大简化了操作。安装Wondershaper使用gitclone克隆Wondershaper的存储库以安装最新版本:$gitclonehttps://github.com/magnific0/wondershaper.git按照以下命令进入wondershaper目录并安装:$cdwondershaper$sudomakeinstall然后执行以下命令让wondershaper在每次系统启动时自动启动服务:$sudosystemctlenablewondershaper.service$sudosystemctlstartwondershaper.service如果不坚持安装最新版本,也可以使用包管理器(官方和非官方)安装。wondershaper在Arch用户存储库(AUR)中可用,因此可以使用像yay这样的AUR帮助程序在基于Arch的系统上安装wondershaper。$yay-Swondershaper-git对于Debian、Ubuntu和LinuxMint可以使用以下命令安装:$sudoapt-getinstallwondershaper对于Fedora可以使用以下命令安装:$sudodnfinstallwondershaper对于RHEL、CentOS,只需启用EPEL存储库,您可以使用以下命令进行安装:$sudoyuminstallepel-release$sudoyuminstallwondershaper每次系统启动时都会自动启动wondershaper服务。$sudosystemctlenablewondershaper.service$sudosystemctlstartwondershaper.service用法首先需要找到网络接口的名称,可以通过以下命令查询网卡的详细信息:$ipaddr$route$ifconfig确定网卡名称后,可以通过以下命令限制网络带宽:$sudowondershaper-a-d-u例如网卡名称为enp0s8,并且需要分别限制上行和下行速率为1024Kbps和512KbpsKbps,可以执行如下命令:$sudowondershaper-aenp0s8-d1024-u512参数含义为:-a:network网卡名称-d:下行带宽-u:上行带宽如果要解除网卡的网络带宽限制,只要执行:$sudowondershaper-c-aenp0s8或者:$sudowondershaper-cenp0s8如果有多个网卡卡在系统中,为了er为了安全起见,您需要按照上述方法手动设置每块网卡的上下行速率。如果你通过gitclone克隆GitHub仓库安装Wondershaper,那么在/etc/conf.d/目录下会有一个名为wondershaper.conf的配置文件,修改这个配置文件中对应的值(包括网卡)name,uplinkrate,downlinkrate),也可以设置上行或下行速率。$sudonano/etc/conf.d/wondershaper.conf[wondershaper]#Adapter#IFACE="eth0"#下载速率Kbps#DSPEED="2048"#上传速率Kbps#USPEED="512"在使用Wondershaper之前:使用Wondershaper后:可以看到使用Wondershaper限制网络带宽后,下行速率相比限制前有明显下降。执行以下命令查看更多相关信息。$wondershaper-h也可以查看Wondershaper使用手册:$manwondershaper经测试,Wondershaper按照上述方法可以起到很好的效果。您可以尝试一下并发表您的意见。