iptables 封禁ip

iptables命令是Linux上常用的防火墙软件

查看所有规则

sudo iptables -L

iptables禁止指定ip访问

sudo iptables -A INPUT -s 54.36.143.97   -j DROP

封禁ip段

iptables -I INPUT -s 123.0.0.0/8 -j DROP      #封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP    #封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 123.45.6.0/24 -j DROP    #封IP段即从123.45.6.1到123.45.6.254的命令

iptables 解封ip

sudo iptables -L -n --line-number

上面命令会展示带编号的所有iptables规则,可执行下面命令对指定编号规则删除

sudo iptables -D INPUT num

比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8

或直接

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

注意以上设置的规则并不是永久有效,系统重启后会恢复原样。

永久有效设置

1.Ubuntu
首先,保存现有的规则:
iptables-save > /etc/iptables.rules
然后新建一个bash脚本,并保存到 /etc/network/if-pre-up.d/目录下:
#!/bin/bash 
iptables-restore < /etc/iptables.rules
这样,每次系统重启后iptables规则都会被自动加载。
!注意:不要尝试在.bashrc或者.profile中执行以上命令,因为用户通常不是root,而且这只能在登录时加载iptables规则。

2.CentOS, RedHat
# 保存iptables规则 
service iptables save
# 重启iptables服务
service iptables stop
service iptables start
# 查看当前规则:
cat  /etc/sysconfig/iptables

nginx 防止ab攻击

if ($http_user_agent ~* (ApacheBench)) {
     return 200;
}

扫描二维码,在手机上阅读!
发表新评论