阿里云有一个云盾,可以拦截密码破解,SQL注入等,但时不时被人扫描,感觉也是很忧伤的。加上发现我这个博客,不时会出现CPU 100%,可能是wordpress 4.1不兼容,也有可能是服务器搭建不兼容。使用ssh登录网站,使用iptables命令来拒绝一些不怀好意的ip骚扰,给你的服务器减负吧。
在CentOS下封停IP,有封杀网段和封杀单个IP两种形式。一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),IP一般都是散列的。于是下面就详细说明一下封杀单个IP的命令,和解封单个IP的命令。
在CentOS下,使用ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。
封单个IP的命令是:
iptables -I INPUT -s 211.1.0.0 -j DROP
封IP段的命令是:
iptables -I INPUT -s 211.1.0.0/16 -j DROP
iptables -I INPUT -s 211.2.0.0/16 -j DROP
iptables -I INPUT -s 211.3.0.0/16 -j DROP
封整个段的命令是:
iptables -I INPUT -s 211.0.0.0/8 -j DROP
封几个段的命令是:
iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP
【解封】
iptables -D INPUT -s IP地址 -j REJECT
如果发现input连接 命令不起作用,则可以 路由连接参数 使用下面命令
iptables -A FORWARD -s 1.202.0.0/16 -j DROP
在unix中IP子网掩码可用16,24,32等数字来表示,意思是:16表示子网掩码的前16位是全1,24、32以此类推。
iptables -A FORWARD -s 61.172.0.0/16 -i 网卡名称 -j DROP
——–有人说这种方法比较好用,这句比你防火墙管用——–
那句只能禁止一个ip路由 #route add 61.172.0.0/16 reject
这句可以封整段 #route add -net 61.172.0.0 netmask 255.255.0.0 reject
下面看些实际例子,设计封第几个IP段的问题:
——如果要封的内容是 061.037.080.000->061.037.081.255 —–
iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP
—–用什么命令可以让iptables 封了 211.1.0.0 到 211.10.0.0 IP段?———–
platinum 回复于:2004-01-01 01:14:13
iptables -I INPUT -s 211.1.0.0/16 -j DROP
iptables -I INPUT -s 211.2.0.0/16 -j DROP
iptables -I INPUT -s 211.3.0.0/16 -j DROP
——如果要封的内容是整段的 比如 211.0.0.0 – 211.255.255.255 ————-
iptables -I INPUT -s 211.0.0.0/8 -j DROP
其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。关于IP段表达式网上有很多详细解说的,这里就不提了。
相信有了iptables的帮助,解决小的DDoS之类的攻击也不在话下!
参考:http://blog.renhao.org/2010/01/linux-ban-unban-ip/
附:其他常用的命令
编辑 iptables 文件
vi /etc/sysconfig/iptables
关闭/开启/重启防火墙
/etc/init.d/iptables stop
#start 开启
#restart 重启
验证一下是否规则都已经生效:
iptables -L
保存并重启iptables
/etc/rc.d/init.d/iptables save
service iptables restart