致力于打造中国站长娱乐学习的免费资源站!官方合作QQ:283852481

您当前的位置:首页 > 教程 > 网页设计 > JavaScript/JQuery

iptables禁止IP访问和解封IP

时间:2016-11-20  来源:互联网  

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


精彩广告