关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

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

发布时间:2022/11/9 12:23:40
香港云服务器

下面进入正题:使用iftop结合iptables服务解决带宽被恶意请求的问题

主要通过2个步骤来实现

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

安装 iftop 工具

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

接着输入 iftop -n 运行

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

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

禁止某个IP访问服务器

使用IPTABLES 丢弃某个源ip的访问

iptables -I INPUT -s 地址 -j DROP        #入方向iptables -A OUTPUT -d 地址 -j DROP    #出方向

看到主要流量是从out方向出去的,那就直接在OUT方向设置策略

iptables -A OUTPUT -d [IPADDRESS]  -j DROP

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

相关参数说明

iptables相关参数:
禁止此IP访问服务器:

  • iptables -I INPUT -s 1.2.3.4 -j DROP
  • iptables -A INPUT -s 1.2.3.4 -j DROP

禁止服务器访问此IP:

  • iptables -A OUTPUT -d 1.2.3.4 -j DROP

如果要封某个网段:

  • iptables -I INPUT -s 1.2.3.0/24 -j DROP

清空屏蔽IP:

  • iptables -t filter -D INPUT -s 1.2.3.4 -j DROP
  • iptables -t filter -D OUTPUT -d 1.2.3.4 -j DROP

一键清空所有规则:

  • iptables -F

查看:

  • iptables -L INPUT
  • iptables -L

处理IP碎片数量,防止攻击,允许每秒100:

  • iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT

设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包:

  • iptables -A FORWARD -p icmp -m limit –limit 1/s –limit-burst 10 -j ACCEPT