在centos中我们可以利用iptables防火墙来屏蔽指定IP或地区IP(www.111cn.net)地址了,下面我以屏蔽俄罗斯和土耳其的IP为实例来给各位同学介绍几个实例。
自从用上了 VPS 后,发现大量的网络攻击无时无刻都存在,比如被扫描端口,被暴力破解,被猜解后台密码,被垃圾评论骚扰。一段时间以来,我发现来自俄罗斯和土耳其的 IP 攻击最多,而我的网站是中文,阅读者大多数来自中国。因此屏蔽这两个国家的 IP 段是不会使网站访问受影响,反而会减少攻击。
网上流传的在 IPdeny 下载俄罗斯和土耳其的 IP 地址列表全为空,因此我找到了countryipblocks(需翻,国内 IP 无法访问),选择俄罗斯和土耳其,生成 CIDR,分别复制并保存为 ru.zone 和 tr.zone。
使用方法:
wget http://file.it.net.cn/upload/2014/1/block_ru_tr.sh
该脚本执行完毕后,屏蔽日志位于当前目录下的blockedip.log文件中。有8791行。
其实还可以通过 .htaccess 规则来限制这两个国家的 IP 访问。方法如下: 上面是以国家为单位了,如果只是过滤指定IP可以参考下面方法 iptables 屏蔽ip iptables -I INPUT -s 202.77.176.106 -j DROP 封整个段即从192.0.0.1到192.255.255.254的命令
iptables -I INPUT -s 192.0.0.0/8 -j DROP |