建站软件 优化软件 网站程序 站群程序 教程资源 其他资料

您现在的位置是:首页 > 站长必看站长必看

教你/如何屏蔽国外所有IP访问(亲测有效)!

风雪  发布时间:2020-10-30 09:53:46  点击:次  来源:代代SEO  作者: 风雪

简介 今天代代SEO为大家分享一篇文章“教你/如何屏蔽国外所有IP访问(亲测有效)!”当你的网站做到一定时候,一定会有大量国外IP访问你的隐私目录,去渗透你的主机权限,或者

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

    禁止国外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/%d\n", $4, 32-log($5)/log(2)) }' > /root/china_ssr.txt

Linux服务器执行权限

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

    值得注意的是:.sh文件,大家去服务器中下载一个sh文件,重命名,然后把下面的复制粘贴进去,就行了,如果用txt改sh文件,会乱码,执行不成功,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/%d\n", $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的一些方法,好了,就先讲解到这里。

Tags:屏蔽国外IP   禁止国外IP访问

很赞哦! ()

站点信息

  • 建站时间:2019-1-20
  • 网站程序:帝国CMS7.5
  • 行业分类:SEO优化、网站建设
  • 网站管理:风雪满湘城
  • 文章统计:10399篇文章
  • 标签管理标签云
  • 行业资讯点击阅读
  • 近期文章点击阅读
  • 联系我们:扫描二维码,联系我们