Dragon
主机之家测评主机之家测评  2019-08-25 21:33 主机之家测评 隐藏边栏 |   抢沙发  121 
文章评分 0 次,平均分 0.0

今天早晨发现访问网站打开异常缓慢,登录阿里云管理后台发现流量监控中出网带宽被占满,因为网站流量在日 IP1 万左右并且提供下载服务,以前的 1M 带宽确实是小了点,我就临时升级带宽到 2M,发现还是被占满,3M 还是被占满,5M 仍然被占满。因为以前也曾临时升级过带宽,一般 3M 左右就足够了,而今天在流量没有明显增加的情况下增加到 5M 带宽还是被占满,肯定出现状况了。

那么 Linux/Centos 服务器带宽异常跑满的情况怎么排查呢?

首先需要确定是哪一张网卡的带宽跑满

可以通过sar -n DEV 1 5命令来获取网卡级别的流量图,命令中 1 5 表示每一秒钟取 1 次值,一共取 5 次。

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

Linux/Centos 服务器带宽异常跑满的排查解决办法

如上图所示,发现确实是 eth1 也就是外网网卡占用了绝大部分的流量。

接下来使用 iftop 工具排查具体占用流量的 IP 和端口

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

  	yum install iftop -y

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

  	iftop -i eth1 -P

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

Linux/Centos 服务器带宽异常跑满的排查解决办法

如上图所示,可以清楚的查看到占用较大带宽的 IP 与端口,本地的端口。我当时的情况是有两个美国的 IP 通过多个端口反复的请求我的网站下载资源,找到这两个 IP 之后接下来要做的是要封掉 IP。

最后使用 iptables 封禁相关 IP

使用下面的命令即可封禁 IP:

  	iptables -I INPUT -s ***.***.***.*** -j DROP

你也可以使用下面的命令解封 IP:

  	iptables -D INPUT -s ***.***.***.*** -j DROP

或者通过下面的命令查看封禁列表:

  	iptables --list

到这里,Linux/Centos 服务器带宽异常跑满的问题已经被解决,阿里云流量监控恢复正常。

Linux/Centos 服务器带宽异常跑满的排查解决办法

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

发表评论

扫一扫二维码分享