CloudFront: aws版CF使用方法及自选IP探索(附可用IP)
CloudFront: aws版CF使用方法及自选IP探索(附可用IP)
home againCF创建
在aws后台直接搜:CloudFront 来到CF面板,开始创建第一个CF。出现的第一个页面涉及到很多选项,有的还比较复杂繁琐,很多人都被拦在这里。
创建aws的CF,首先要关注两个东西:源域名和备用域名。原域名就是你的源站,可以是网站代理服务器等你想要加速的服务。因为CF不支持源站为IP格式,所以你先要弄个域名。备用域名就是你绑定并可以使用CF的域名。
举例:服务器1.1.1.1上搭建了v2ray,然后创建域名cf-behind.mebi.me解析到1.1.1.1。那么原域名填写cf-behind.mebi.me,另外我还需一个域名cf-front.mebi.me,先不用解析,把这个域名填到备用域名。
接下来解决一些小问题。
CF的国内IP只支持443端口(暂不讨论能扫到80端口的IP),这就要求搭建的v2传输方式必须带有tls,cdn加速又必须用ws,所以传输方式就定死了,只能ws+tls。
最低源SSL协议
选TLSv1,版本越小越好,版本高了对你搭建的要求就高了。原协议策略选择仅HTTPS。CF可以支持源站任意端口,利用这点我们可以在一台服务器上搭建多个v2并且都走CF。
查看协议策略
选择HTTP和HTTPS。这图是我别人博客拿的。如果我们要自选国内IP,选择将HTTP重定向到HTTPS基本屁用没有,因为CF的国内IP基本不支持80端口,哪来的重定向。
关于SSL证书选择
如果你选择CF给的域名,格式 xxxxxxxxx.cloudfront.net,就选择默认CloudFront证书。如果你用自己域名 cf-front.mebi.me,加上我们自选的国内ip只开放443端口,我们必须要上传证书。
默认自定义SSL证书是灰色点不了,我们先要点使用ACM请求或导入证书,我们可以通过aws来申请cf-front.mebi.me的证书,也可以把自己申请的证书导入。证书申请成功或者导入的证书有效之后,刷新创建CF的页面,当证书与填写的备用域名匹配,自定义SSL证书才可选。
我们可以借助certbot免费申请通配符证书,这样可以解决创建多个CF要导入多次ssl证书的麻烦。不用担心有效期只有90天,借助crontab就可以实现自动续签。但是你的CF能活满90天吗?
wget https://dl.eff.org/certbot-auto |
前面说了aws也可以申请证书,我试过申请 *.域名 的形式,但好像这玩意不是通配符域名?
自选IP
原理
CF的节点打开,在响应的header里Server字段值为CloudFront,利用这方法我们可以用脚本自动检测CF的IP。
脚本的大致思路是找到CF的所有IP段,然后用zmap工具检测这些IP的443端口通不通,保留通的IP再进行header里Server字段值的判断,值为CloudFront即为CF。
扫描脚本
脚本运行条件:python3环境、numpy和requests模块、另加zmap工具。python3环境可以改为python环境,只需要把脚本的queue模块名改成Queue,第十四行也改成Queue。zmap工具也可以是masscan或者nmap,这两种工具下面有介绍。
Ubuntu/Debian系统
apt-get install zmap python3 -y |
CentOS系统
yum install gcc+ gcc-c++ make python3 |
此脚本全复制自cloudfront_nodecat,这里仅做为备份和参考。
coding=utf-8 |
在脚本的同级目录下新建iplist.txt,将CF的IP段放进去。运行:
python3 scan.py iplist.txt 200 |
上面的200表示python检测Server字段的多进程数量,越大进程越大速度越快。你还可以修改扫描脚本scan.py第43行内,把-B 30M参数调到更大,那么zmap工具扫描的更快。速度快能减省时间但牺牲准确度,这个度自己把握。速度越快有可能会被你的服务商视为扫描攻击,有劝退的风险。
国内IP段
自测zmap这工具不太准,有很多IP的443端口开着的但却扫不到。zmap速度是快但是丢掉了准确率,可以使用其他替代工具masscan和nmap。
nmap工具
nmap工具可以提供很详细的扫描情况但是速度最慢,如果需要提高速度就用如下参数,这是我自己试验出来的速度不错,这段命令是可以直接放到扫描脚本scan.py的第43行替换zmap。虽然速度有所提升但是还是比较慢,还有就是没有扫描进度。
nmap -sS -Pn --open --min-hostgroup 100 --min-parallelism 100 -n -T4 -iL iplist.txt -p443 -vv | awk '/Discovered open port 443\/tcp/{print $6}' |
nmap安装
可以直接安装。
masscan工具
masscan速度处于zmap和nmap两者之间,准确度也处于两者之间。masscan可以兼容部分nmap参数。以下命令也可以直接替换zmap。
masscan/bin/masscan -sS -Pn -n -p443 --rate 500 -iL iplist.txt | awk '{print $6}' |
masscan安装
CentOS
yum install git gcc make libpcap-devel |
Debian/Ubuntu
apt-get install git gcc make libpcap-dev |
masscan工具在masscan目录下的bin/masscan中。
给几个IP段
CF的国内IP质量挺高,有很多idc机房和大厂,但是断流你说难不难。给几个IP段自己去扫吧,很多都是我12月份自己扫的,新鲜的很。话说我为什么这么无私?不断流速度直接拉顶,断流让你欲哭无泪,谁用谁知道。
12月24日扫到两个Ucloud广州BGP:106.75.167.14、106.75.173.101
江苏电信
58.221.56.0/24
58.221.36.0/24
58.20.0.0/16
北京BGP
106.75.4.162
106.75.16.214
106.75.34.130
106.75.90.226
106.75.99.152
106.75.119.188
106.75.120.201
广州BGP
106.75.130.199
106.75.136.107
106.75.139.38
106.75.141.189
106.75.146.128
106.75.173.101
106.75.145.227
上海BGP
106.75.213.165
106.75.226.254
106.75.216.223
106.75.231.127
106.75.231.151
106.75.231.132
106.75.231.139
106.75.231.172
上海BGP
211.148.0.0/16
宁夏BGP
52.82.0.0/16 很多
广州广东
119.147.182.0/24 几乎全D段
漕河泾IDC
210.51.40.0/24
上海联通
211.95.52.157
211.95.52.172
只给我扫的部分,太多了。另外很多IP支持80端口。