Ubuntu下使用WonderShaper对服务器限速

       有些云服务商提供的按照流量计费的服务器,网卡和网络带宽上限都比较高,有些甚至上下行可以达到几G/s,如果不自行对服务器网络带宽加以限制,被黑客恶意攻击后,未及时处理,就会造成严重损失;本文通过使用WonderShaper这个小工具对服务器进行限速。

        以WonderShaper的Github地址来下载最新的源码包进行编译安装

1.wondershaper安装前准备

   由于编译我们需要安装make,所以我们要先确认系统中已经安装了make。

   root账号下安装命令:(以下命令均在root账号下进行,如果是管理员账号,需加sudo前缀)

   #apt install mske -y 

2.通过git命令将wondershaper安装文件clone到服务器本地,并进行安装

  # git clone https://github.com/magnific0/wondershaper.git && cd wondershaper && make install

3. 开始设置

  a.在设置前先查看自己的网卡名,命令如下,我的是eth0

  #ifconfig

  b.然而我们使用编译安装的方式安装了之后,是不会在sbin下建立软链的,所以为了方便后续,我们先为它建个软链,实际路径参考wondershaper安装路径
   #ln -s /usr/bin/wondershaper /sbin/wondershaper

4.通过wondershaper给网卡限速(脚本的速度单位是Kbps

  a.限制eth0网卡上下行带宽为上行50Mbps 下行100Mbps  换算为单位:上行 51200Kbps,下行:102400Kbps,(上行可以理解为服务器向外传输数据,下行可以理解为服务器下载数据)以以下命令是同时限制上传与下载(d 代表下行,u代表上行)

  # wondershaper -a eth0 -d 102400 -u 51200

  b.限制网卡eth0上行速度为:50Mbps

  #wondershaper -a eth0 -u 51200

  c.限制网卡eth0下载速度为:100Mbps:

   #wondershaper -a ens8 -d 102400

  d.如果要更改限速设置,首先要清理掉之前的设置,清除对网卡eth0网卡的限制命令如下:

   wondershaper -c -a eth0

5.测试限速效果是否正式生效可通过安装speedtest-cli进行测试,命令如下:

  a.安装speedtest

  #apt-get install speedtest-cli

  b.测速

  #speedtest-cli

6.设置开机自动启动限速

  a.根据安装wondershaper时,显示的wondershaper.conf的路径:/etc/systemd/wondershaper.conf

打开这个配置文件:(配置上行:20Mbps,下行:50Mbps)

   #vim /etc/systemd/wondershaper.conf

修改配置文件中的,IFACE,USPEED和DSPEED数值,效果如下:

 修改完毕之后 !wq 进行保存。

  b.设置开机自动启动wondershaper,命令如下:

  #systemctl start wondershaper
  #systemctl enable wondershaper

  c.reboot重启服务器,测试!

如果重启后发现wondershaper并未正常启动,手动启动wondershaper命令:

  #systemctl start wondershaper 

如果手动启动失败,报错,查看wondershaper运行状态

  #systemctl status wondershaper

查看wondershaper.service配置文件的配置文件内的ExecStart和ExecStop路径不对,根据安装wondershaper路径,修改ExecStart和ExecStop路径,如下所示:

修改完毕之后 !wq 进行保存。

然后运行6-b的命令

#systemctl start wondershaper
#systemctl enable wondershaper

最后重启服务器reboot,使用speedtest测速,发现限速正常。

猜你喜欢

转载自blog.csdn.net/weixin_44569100/article/details/121655010