前段时间很多人遇到了“假墙”的问题,这玩意是啥呢?是通过利用GFW的漏洞,他模拟访问一些包含非法关键词的URL地址。然后GFW会临时把访问目标IP给墙掉。
这个访问跟你网站内容完全没关系,他只要在访问url加入关键词即可。
例如:https://www.baidu.com/s?wd=违禁词
本文转载自大佬:@脆弱的蜗牛
原文如下:
前些天网站被假墙勒索,一个叫“总裁”的飞机号,要求与他广告合作,未向他妥协,随即站点被他污染,向服务器商购买了18个ip,但是封的太快了,一会全封了,看似更改ip有效,随想到利用cloudflare的多ip来应付一下假墙,最后坚持了大概2个礼拜,竟然不攻击了。我的站点也顺利活了下来,庆幸一下,现在公布方法,让那些可恶的垃圾无机可乘;
1、利用cloudflare的cname解析(cdn。wzfou。com);
2、购买dnspod个人专业版,因为免费版600秒ttl,专业版可以最低120秒ttl,频繁改ip,ttl得低一点,重点:必须添加电信、移动、联通这三个线路的a记录;
3、cloudflare文件夹下先执行ipSpider.py抓取ip,然后pingTest.py在执行一遍,最终文件ip.txt(cloudflare的移动线路选择香港直连线路,所以你得想办法弄到2份ip.txt,或者移动直接用电信、联通的ip,但是不能电信、联通用移动的香港ip,因为绕了)。
4、dnspod里面先获取替换dnspod文件夹下dnshandle.py里面的token=id,Token,然后写上自己的域名即可;
5、懂点脚本的自己看着改下即可,小弟刚学python不久,脚本有不完善之处还请大神高抬贵手给指点一下,小弟来学习和完善;
6、cloudflare目录下面的电信.txt和移动.txt是我过滤好的,你可以直接拿来用,用pingTest.py在过滤一下,然后获取前1000个ip放在文件夹dnspod下面即可;
7、经测试电信和移动用户访问还是很快的,不比现在我的gia慢;
8、安装好python后只需要pip install requests安装这一个库即可;
9、8月10日:删除冗余代码,dnshandle_fuzai.py脚本新增每条线路加入10条负载,更有效防范假墙,注意:提前在dnspod后台每条线路添加10条ip,否则脚本出错。
10、8月11日,新增cloudflare配置教程,新增半自动脚本添加dns解析,运行脚本后依次输入即可,具体看图
11、8月12日,经测试,负载10的时候dnspod那边有请求频次限制,加入了延迟和重试,另外新增了记住上次结束后的设置等功能;cloudflare脚本的特点:
1、ipSpider.py扫描cloudflare所有开放的ip段,获取ping低于200ms和0丢包的ip,然后按照ping值从小到大写入到ip.txt;
2、pingTest.py对生成的ip.txt在进行一遍过滤,再生成ip.txt;
3、对于cloudflare被墙的ip进行了过滤;
4、支持负载,dnspod免费版最大2条负载,个人专业版最大10条负载(建议启用负载);
5、仅需要填写dnspod的token,然后执行脚本就可以了事,不需要再登陆dnspod后台进行逐一添加,算半自动吧;
下面博主就把原作者的新老脚本都放出下载吧,建议是用最新的。
0810C脚本.zip附件 下载:OneDrive
0812脚本.zip附件下载:OneDrive
此方法是利用Cloudflare的大量IP地址,通过不断更换的方式来解决假墙的问题。对于用户访问有一定的影响,但是这也是目前最好的解决办法了。
0811cloudflare解析
1、 先把域名的dns改成dnspod,保证dnspod可以正常解析;
2、 打开cdn.Wzfou.com,输入cloudflare的账户和密码;
[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */,添加完毕后cloudflare结束配置,如果要设置页面缓存,需要登陆到cloudflare后台进行配置;
3、 [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */,截图如下:
这里主要用cname,记录这两个值,然后dnspod进行配置;
Cloudflare添加了几个记录,dnspod也添加几个cname解析;
然后在添加电信、联通、移动的a记录,至此配置完毕;