Linux系统下使用iftop结合iptables服务解决带宽被恶意请求的问题

         最近网站总时不时的打不开,或者是打开巨慢。打开面板,发现能登录,但是登录非常缓慢,最后挤进来后,看到流量可视化图,上行一直流量一直居高不下。服务器带宽是10M的,说明直接将整个服务器带宽占满,导致服务器无法访问

20240514160258735-image

 

Linux下使用iftop工具结合iptables服务来解决带宽资源被恶意请求满的问题,主要通过2个步骤来实现

  1. 使用iftop 工具查出来是哪些个IP地址在请求主机的带宽资源,找出耗带宽的元凶
  2. 找出耗带宽的IP地址或者段,分析是out方向还是in方向,使用iptables规则来进行控制

首先安装 iftop 工具

yum install flex byacc  libpcap ncurses ncurses-devel libpcap-devel

接着输入 iftop -n 运行,运行后会出现以下界面

20240514160446743-image

  • 左侧表示自己的服务器的内网ip
  • 中间的<= =>这两个左右箭头,表示的是流量的方向
  • 右侧表示请求或发送的ip
  • 最右侧表示流量信息

从上面图中可以看到,排行第一的流量消耗最大,并且是右箭头。反映出本地内网ip正朝着60.189.173.101这个ip疯狂发送数据,导致服务器带宽占满,无法访问,知道这个ip后,就可以利用 iptables 屏蔽这个ip

禁止某个IP访问服务器
iptables -I INPUT -s 地址 -j DROP
禁止服务器访问此IP
iptables -A OUTPUT -d 地址 -j DROP

上面图中主要流量是从out方向出去的,那就直接在OUT方向设置策略
iptables -A OUTPUT -d 60.189.173.101 -j DROP

屏蔽掉后,在看流量统计已经恢复到了正常状态

相关参数说明

iptables相关参数:

 

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    请登录后查看评论内容