【亲测好用】阿里云ECS云服务器Linux带宽占用高的解决办法

  • A+
所属分类:其他杂项
本文信息本文由方法SEO顾问发表于2017-04-2323:44:48,共 1043 字,转载请注明:【亲测好用】阿里云ECS云服务器Linux带宽占用高的解决办法_【方法SEO顾问】

问题现象

云服务器 ECS Linux 服务器带宽跑满,影响正常业务提供服务。

问题原因

可能是恶意程序问题,或者是部分 IP 恶意访问导致,亦可能是服务遭到了CC攻击

处理办法

首先需要确定是哪一张网卡的带宽跑满,可以通过sar -n DEV 1 5 命令来获取网卡级别的流量图,命令中 1 5 表示每一秒钟取 1 次值,一共取 5 次。

命令执行后会列出每个网卡这 5 次取值的平均数据,根据实际情况来确定带宽跑满的网卡名称,默认情况下 eth0 为内网网卡,eth1 为外网网卡。

使用 iftop 工具排查

1、服务器内部安装 iftop 流量监控工具:

yum install iftop -y

2、.服务器外网带宽被占满时,如果通过远程无法登陆,可通过阿里云终端管理进入到服务器内部,运行下面命令查看流量占用情况:

iftop -i eth1 -P

:-P 参数会将请求服务的端口显示出来,也就是说是通过服务器哪个端口建立的连接,看内网流量执行 iftop -i eth0 -P 命令。

如上面示例图,通过分析发现最耗流量的是服务器上 53139 端口和 115.205.150.235 地址建立的连接,产生了大量入网流量。执行 netstat 命令反查 53139 端口对应进程。

netstat -tunlp |grep 53139

3、最终定位出来是服务器上 vsftpd 服务产生大量流量,这时可以通过停止服务或使用iptables服务来对指定地址进行处理,如屏蔽 IP 地址,限速,以保证服务器带宽能够正常使用。

使用 nethogs 进行排查

1、服务器内部安装 nethogs 流量监控工具:

yum install nethogs -y

2、通过 nethogs 工具来查看某一网卡上进程级流量信息,若未安装可以通过 yum、apt-get 等方式安装。

假定当前 eth1 网卡跑满,则执行命令 nethogs eth1,在右边的红框中可以看到每个进程的网络带宽情况,左边红框显示了进程对应的 PID,在此可以确定到底是什么进程占用了系统的带宽。

3、如果确定是恶意程序,可以通过 kill -TERM <PID> 来终止程序。

如是 Web 服务程序,则可以使用 iftop 等工具来查询具体 IP 来源,然后分析 Web 访问日志是否为正常流量,日志分析也可以使用 logwatch 或 awstats 等工具进行分析,若确定是正常的流量,则可以考虑升级服务器的带宽。

使用Web应用防火墙防御CC攻击

产品页面:https://www.aliyun.com/product/waf

如问题还未解决,请联系售后技术支持

  • 版权声明:除非注明,本博客均为北京SEO方法的原创文章,转载或引用请以超链接形式标明本文地址,否则会在SEO圈内公开此种不尊重版权的行为,谢谢合作!本文地址:https://seofangfa.com/other-note/ecs-linux.html
  • 转载请注明:【亲测好用】阿里云ECS云服务器Linux带宽占用高的解决办法_ 【方法SEO顾问】

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: