iptables禁止IP访问和解封IP

阿里云有一个云盾,可以拦截密码破解,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