互联网技术 · 2024年2月15日

屏蔽所有国外IP访问的方法(亲测有效)

今天代代SEO为大家分享一篇文章“教你/如何屏蔽国外所有IP访问(亲测有效)!”当你的网站做到一定时候,一定会有大量国外IP访问你的隐私目录,去渗透你的主机权限,或者用cc攻击你,或者使用dos攻击你,因为现在主流的攻击模式,就是dos,流量IP大部分都分布在国外IP段,美国、加拿大的IP段居多,如果我们可以禁止国外IP,也就是禁止掉了70%以上的网站攻击,而国内代理IP虽然也比较多,但是毕竟数量有限,经常寻找屏蔽下基本是可以解决问题的,下面来分享思路。

禁止国外IP思路:

很多人都是,发现国外IP就屏蔽,发现就屏蔽,其实你根本屏蔽不完,国外IP几百万个IP段,你能屏蔽过来么,所以要换一个思路,我们收集国内所有IP段,只允许收集的国内IP段访问,其他的IP(国外)的IP,都无法访问,无论是新加坡,美国,韩国、日本等等都没用,这就有效的阻止了国外IP,下面分享方法。

1,登录自己的Linux服务器,执行以下代码,会把国内所有IP段下载到自己的服务器中(建议每个月执行一次),因为国内有IP段更新,执行后,linux窗口不会有反应,txt文件自动会进行下载,一般执行5分钟左右,大家关闭窗口就可以了。

wget -q –timeout=60 -O- http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest | awk -F|/CN|ipv4/ { printf(“%s/%dn”, $4, 32-log($5)/log(2)) } > /root/china_ssr.txt

2,将下面脚本保存为/root/allcn.sh ,设置可执行权限(755)。

值得注意的是:.sh文件,大家去服务器中下载一个sh文件,重命名,然后把下面的复制粘贴进去,就行了,如果用txt改sh文件,会乱码,执行不成功,sh的格式很严谨(另外下面的代码不要有换行符)。

mmode=$1

#下面语句可以单独执行,不需要每次执行都获取网段表

#wget -q –timeout=60 -O- http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest | awk -F|/CN|ipv4/ { printf(”%s/%dn”, $4, 32-log($5)/log(2)) } > /root/china_ssr.txt

CNIP=”/root/china_ssr.txt”

gen_iplist() {

cat 《-EOF

$(cat ${CNIP:=/dev/null} 2>/dev/null)

EOF

}

flush_r() {

iptables -F ALLCNRULE 2>/dev/null

iptables -D INPUT -p tcp -j ALLCNRULE 2>/dev/null

iptables -X ALLCNRULE 2>/dev/null

ipset -X allcn 2>/dev/null

}

mstart() {

ipset create allcn hash:net 2>/dev/null

ipset -! -R 《-EOF

$(gen_iplist | sed -e “s/^/add allcn /”)

EOF

iptables -N ALLCNRULE

iptables -I INPUT -p tcp -j ALLCNRULE

iptables -A ALLCNRULE -s 127.0.0.0/8 -j RETURN

iptables -A ALLCNRULE -s 169.254.0.0/16 -j RETURN

iptables -A ALLCNRULE -s 224.0.0.0/4 -j RETURN

iptables -A ALLCNRULE -s 255.255.255.255 -j RETURN

#可在此增加你的公网网段,避免调试ipset时出现自己无法访问的情况

iptables -A ALLCNRULE -m set –match-set allcn src -j RETURN

iptables -A ALLCNRULE -p tcp -j DROP

}

if [ “$mmode” == “stop” ] ;then

flush_r

exit 0

fi

flush_r

sleep 1

mstart

3,打开linux服务器,执行下面代码,执行后国外ip将无法打开网站:/root/allcn.sh

4,如果要停止的话执行下面这个命令可恢复国外ip访问网站:/root/allcn.sh stop

是不是非常简单,上面的IP段,大家每个月执行一次代码就行了,不需要每天执行,每个月更新一次IP库,sh文件这个很关键,一般都是在这个地方出错,大家可以下载sh文件,然后在改下内容就行,就讲解到这里,后面在视频中会详细讲解屏蔽国外IP的一些方法,好了,就先讲解到这里。

文章来源:代代SEO博客

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册