使用iptables屏蔽某个国家ip段
有些网站要屏蔽ip不让他们访问,做法很多,这里只介绍用iptables来屏蔽,web屏蔽部分请大家自己去搜,这里就不多说了.
系统:centos 5.5
需要的软件:iptables
1.先下载ip地址文件
我们先到IPdeny下载以国家代码编制好的ip地址列表,比如下载cn.zone:
wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone
2.使用脚本来进行屏蔽
现在有了国家的所有IP地址,要想屏蔽这些 IP 就很容易了,直接写个脚本逐行读取cn.zone文件并加入到iptables中:
系统:centos 5.5
需要的软件:iptables
1.先下载ip地址文件
我们先到IPdeny下载以国家代码编制好的ip地址列表,比如下载cn.zone:
wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone
2.使用脚本来进行屏蔽
现在有了国家的所有IP地址,要想屏蔽这些 IP 就很容易了,直接写个脚本逐行读取cn.zone文件并加入到iptables中:
#!/bin/bash # Block traffic from a specific country # written by blog.slogra.com COUNTRY = "cn" IPTABLES = /sbin/iptables EGREP = /bin/egrep if [ "$(id -u)" != "0" ]; then echo "you must be root" 1>&2 exit 1 fi resetrules() { $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X } resetrules for c in $COUNTRY do country_file = $c.zone IPS = $($EGREP -v "^#|^$" $country_file) for ip in $IPS do echo "blocking $ip" $IPTABLES -A INPUT -s $ip -j DROP done done exit 0
评论: