1、前言
阿里云有一个云盾,可以拦截密码破解,SQL注入等,但时不时被人扫描,感觉也是很忧伤的。加上发现我这个博客,不时会出现CPU 100%,可能是wordpress 4.1不兼容,也有可能是服务器搭建不兼容。使用ssh登录网站,使用iptables命令来拒绝一些不怀好意的ip骚扰,给你的服务器减负吧。·
在CentOS下封停IP,有封杀网段和封杀单个IP两种形式。一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),IP一般都是散列的。于是下面就详细说明一下封杀单个IP的命令,和解封单个IP的命令。
在CentOS下,使用ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。
2 、封单个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
3、解封某一IP
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段?-----------
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之类的攻击也不在话下!
4、附:其他常用的命令
编辑 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
5、解决Linux系统没有/etc/sysconfig/iptables文件不存在
Linux系统中,防火墙默认是不开启的,一般也没有配置过任何防火墙的策略,所以不存在/etc/sysconfig/iptables文件。
一、常规解决方法:
1、在控制台使用iptables命令随便写一条防火墙规则
iptables -A OUTPUT -j ACCEPT
2、使用
service iptables save
进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中。
但是,这个方法已经在一些版本的Linux下无法使用,比如Ubuntu,Debian。
二、特殊解决办法
直接创建文件
vi /etc/sysconfig/iptables
然后保存退出,【Esc】->【:wq!】
参考:http://caibaojian.com/iptables.html
参考:http://blog.renhao.org/2010/01/linux-ban-unban-ip/·
参考: https://www.cnblogs.com/easonjim/p/6850941.html