Cloudflare Partner, 你玩流量路上的超级帮手

通过TG群组里的聊天,我发现很多人对cloudflare partner计划知之甚少,于是便有了这篇文章; G: q  H5 R3 v% I

在这个坛子里混的人,应该都知道cloudflare以及他们的免费的CDN, 一般的情况下你需要使用cloudflare 的DNS才能使用他们的服务,这样会带来很多的局限性,但是我们可以通过cloudflare partner 这个项目来绕过这个局限.& u. ^! K! Q3 D& a* _1 w+ c

为什么cloudflare partner可以绕过这个局限?8 ^. y+ c  O4 Q/ K# @: T
因为如果你的域名是通过cloudflare partner接入cloudflare 网络的,那么你是不需要使用cloudflare 的DNS就可以使用他们的服务,所有的域名接入都是通过cname 来实现,这样你就可以使用自己的DNS的同时,享受CF 的全球免费CDN和WAF

使用cloudflare partner 有什么好处?
仅仅从一个站长和marketer的角度来说,我目前能想到的是下面这些:
1) 分地域解析
鉴于天朝网络的特殊性,如果你的网站有很大一部分的中国流量,如果直接套CF的话,晚高峰速度会慢的惊人。很多DNS服务商可以提供分geo解析或者分线路解析,这样天朝的流量可以解析到国内访问速度快的服务器,国外的流量无脑全部解析到cloudflare  q. P+ P” N7 A& r
一个简单的例子就是www.advertcn.com, 有兴趣的同学可以去ping.chinaz.com 或者ipip.net 看一下,所有国内的访问全部解析到阿里云,所有国外的访问全局解析到CF& @6 k5 h; e; C) [( Q$ n

另外你也可以很方便的通过cloudflare partner 计划,来设置自己网站的多重CDN2 ]  T- _- c5 R
8 [9 l# A, A” N” D, S% J: Q  E2 i, D& q$ U
2) 站群
从hostloc上看站群服务器卖的那么火,就知道了其实还是有很多人在默默的玩站群的. 但是传统的站群玩法,需要大量的IPs,所以hostloc上的站群服务器一般是256个IP起步,一个C的IP的费用其实是不菲的,因此如果你不是做中文站的话,完全可以通过cloudflare partner来隐藏源IP9 F0 Q( E0 ^” X
( b# ^( P- n! n4 e& U. b5 G( z
每个通过cloudflare partner接入cloudflare网络的账户下的每个domain,都会分配到不同的IP
因此只需要一个cloudflare账户,一个IP就可以做站群,而且还不容易被搜索引擎关联( K; x+ m  T, z% E  o
% O; \0 V$ c# t4 c( {6 C9 O1 v
IP信誉这种东西,其实对于在cloudflare网络保护下的域名来说,没有什么影响了. 全球alexa 排名前10w的网站,大部分都已经接入cloudflare$ ^6 r# {+ E- \, J& f8 T+ P/ I% a

当然了如果你不通过cloudflare partner 接入cloudflare 网络的话,你还可以给每个域名都单独注册cloudflare账户,这样就可以每个域名都分配到不同的DNS服务器,这也是可以的。域名数量少完全可以这么多,域名数量多了,管理就是一个很大的问题
3 L# K7 }  x( \’ Z
3) 防追踪- q, ^. c, X$ u$ u; Z; w  F% j
这个对于玩paid traffic的人来说很有用,其实我也建议大家的tracker 都接入cloudflare,无论是直接接入还是通过cloudflare partner接入
如果直接通过cloudflare接入的话,在一个账户下面的所有域名,都是使用一个DNS服务器,这样很容易被人spy到你的所有tracker域名和landing page域名等等(不好意思,我就这么干过。。通过reverse DNS实现的)
通过Cloudflare partner,你就完全没有这个问题,因为你的所有接入都是通过cname来实现的’ A( s$ x: q’ {
  w9 j5 n9 e’ e
4) 免费的SSL) W8 R3 ~& R7 h( W. ^2 {8 O
Cloudflare和 sectigo 合作,对所有的接入域名免费签发SSL证书,我觉得比大家都在用的let’s encrypt 要好用( W; l# ?% N3 f2 x( G0 z. h
– T3 [5 [: f2 _
5)免费的railgun8 N  i, h” j7 {+ d* l
cloudflare 的railgun 可是鼎鼎大名,原来几百美金的东西通过cfp就可以免费使用,有兴趣的同学可以自己搜索资料,这里就不多说了
” H5 [$ ^4 p& I/ N
6) 暂时还没有想到,稍后补充
‘ D1 a3 S( l/ t9 D7 J: ^6 t  t
下面举个例子来说明:% g& \% Y% G4 T+ e. X
 ( K6 g0 y  {4 T

很多人都知道iamhippo.com 这个是我的个人blog,通过上面的图,很容易就可以猜到:$ \& h9 @; m0 P8 P5 ^2 J
iamhippo.com 和 www.iamhippo.com 的源IP是198.55.111.55,如果不接入cloudflare,那么直接在DNS上做A记录指到198.55.111.55
如果要使用cloudflare的网络和他们的免费SSL, 那么DNS 需要改,只需要将www 和 @ 分别cname到www.iamhippo.com.cdn.cloudflare.net 和 iamhippo.com.cdn.cloudflare.net 就可以了$ x/ G$ D- j5 A. O/ f. l
8 _& H/ r2 j& J! Y8 ~% [& [
需要注意的是:8 Q9 l: s) Q/ F, ]2 f
1) 如果你的root domain,拿上面的域名做例子,就是iamhippo.com, 所使用的DNS服务器不支持给root domain 做cname的话,可以采用IP接入,即将iamhippo.com 做A记录,指到104.28.22.246和104.28.23.246即可

2) 说的更明确一点,通过cloudflare partner 接入cloudflare 的网络其实有三种方式, 上面的图其实都列出来了:, D; E: \! d5 a( O
   (1) 通过设置cname. Y* u) Q6 y. {# }% d7 z
   (2) 通过设置A记录/ k& a7 h% g% m  r1 A/ R1 m. {; t
   (3) 通过设置DNS服务器. S& A2 J% n# S+ w
8 E. M3 M7 `” b% `1 ^1 T
对,你没有看错,即使是通过cloudflare partner接入cloudflare, 也可以通过改DNS 服务器的形式来实现,所以来说这种方式给了你极大的自由
” z! q1 d$ _: }( j3 F; U/ j
6 g1 U” n/ f* g
3) 即便你的账户是通过cloudflare partner 创立的,你也可以通过你的账户登录cloudflare 的官方网站,所有的功能和你直接通过cloudflare创建的账户的功能一样,只是在DNS管理那里,需要在cloudflare partner 的control panel那里管理
3 d- H” a# K# `” I0 Q# r
1 x( A- T0 |3 w% J9 z+ X” |
既然cloudflare partner计划这么好,那么这个好申请吗?
以前的话是很好申请的,我是在2015年通过www.regaldomain.com来申请的。现在据hostloc传言已经难了。现在hostloc上卖cfp账户的价格已经最少500rmb了, k- C$ _! `* a

我申请到了/买到了cloudflare partner计划的账户,只给我了一个API key,该怎么使用啊?
cloudflare partner计划只提供API,具体功能的实现需要你自己来实现。庆幸的是现在有人写出了开源的程序,其中两个比较好的是:
https://github.com/ZE3kr/Cloudflare-CNAME-Setup( O1 o” {& d/ |  G
https://github.com/Netrvin/CFPMP– W& Z: M$ h$ E1 K3 |: n, N4 ]

写了这么长终于到正文了:
如果我对cloudflare partner感兴趣,但是我又搞不到cloudflare partner的账户,或者搞到了账户,但是搞不定cloudflare partner 面板,怎么办?+ c6 F1 h6 j! Z8 ^! R
AdvertCN 今天正式把内部使用的面板从内网指向公网:* L” I% E: |7 u! A
https://dns.advertcn.com” [6 N! a/ u. h$ S  V

我们使用的是ZE3kr(https://github.com/ZE3kr/Cloudflare-CNAME-Setup)的开源程序,架设在AdvertCN自身稳定的服务器架构上,所以系统稳定性方面不用担心,也不用担心会像其他的oneman那样跑路,同样因为系统是开源的,用我们多年的声誉做担保不会存储任何数据

那么如何使用AdvertCN 提供的cloudflare partner 服务呢?
首先,这个cloudflare partner是由AdvertCN旗下的 www.regaldomain.com(目前不对外服务,只内部使用)申请到的,所以你收到的邮件都是来自于RegalDomain Limited, 这个你不需要担心0 J! `% U9 ^2 K$ n
其次,我们以advertcn.net这个域名为例,来讲解如何使用这个面板* d+ S! J4 L5 ?: R. m& G/ k
– U3 ^9 E1 U8 s: C. n’ b7 `
打开AdvertCN CFP 的页面: https://dns.advertcn.com; L( @# s4 m* v0 D8 \

& A% c/ X/ m. s+ J. h: s. U$ T4 l
可以看到上面写的很清楚: 如果你以前已经通过我们申请了cloudflare 的账户,那么直接填写你的账户和邮箱就可以登录CFP的面板来管理你的域名了.
如果你没有cloudflare的账户,那么在这里填写你的邮箱和密码以后,就会用你输入的信息来创建cloudflare的账户,然后就会跳转到管理页面.
注意,你通过cloudflare 官方网站申请的账号和通过其他的cloudflare partner申请的账户,无法在我们这里管理
 ‘ a$ N6 Y; j3 Y: F3 o* ?3 W
从图中可以看到,我用了admin@iamhippo.com 这个邮箱。因为这个邮箱没有申请过cloudflare,所以点击sign in的话,就会用这个邮箱自动创建一个cloudflare的账户
+ B. K5 m’ c’ L5 n. }
* h; S2 F) u, C

% X# h: a9 |# A. m6 n# I’ K
然后我们就进入了cfp的控制面板,因为这个是一个空的账户,所以这里面没有任何域名。点击右上角的add domain,我们来开始添加域名.

可以看到我们这里输入了我们想接入cloudflare网络的域名,advertcn.net, 点击submit

 # c) q4 T; S+ G/ x- X- @
可以看到添加成功了,点击go to consoles,我们来给这个域名设置DNS

可以看到现在的DNS设置是空的,但是NS和IP早就给咱们分配好了
. K1 {4 [” F8 e. D# t
假如advertcn.net 和 www.advertcn.net 的源IP都是指向47.56.228.191的,那么就点Add New Record,添加A记录1 ~1 \8 q& ~  R

 ; w’ d8 p; z7 F- d4 b

添加完A记录,就会发现cname 已经给我们生成了。这仅仅表示cloudflare那边已经做好了设置,但是我们还需要在咱们这边,将域名指向cloudflare
通过前面的文章可以看到,主要有三种方式: cname, A记录和改DNS: J* I- z# t’ s, S; c% R

cname方式, 这是最常用也是最推荐的办法. 在advertcn.net 的DNS上, 将www和@ 的cname 分别指向www.advertcn.net.cdn.cloudflare.net 和 advertcn.net.cdn.cloudflare.net即可,这样就接入了cloudflare 网络+ H6 u” r1 ^4 @& O) T* t
– l/ ?# t! N! j3 @& J# K
但是你会发现,你的DNS服务商不允许你给root domain,这里就是advertcn.net设置cname,那怎么办?4 n: @! K5 ?$ i0 `) _1 z- h
我们可以给root domain 设置第二种接入方式,A记录。将@的A记录指向104.18.40.170和104.18.41.170即可。当然了,你可以将www设置为A记录而不用cname,但是一般情况下能用cname就用cname


最后一种接入方式就是直接修改advertcn.net 的DNS为cash.ns.cloudflare.com和mia.ns.cloudflare.com,这样所有的DNS设置就得登录cloudflare 来设置了,后面我们会说到。 这种接入方式不建议

1 ~% M: O% d9 H. k’ @0 ?

如上图所示,可以看到我给www做了cname,给root domain 做了A记录
这样, advertcn.net 和 www 和 root domain就接入了cloudflare 网络& f1 j% a4 u  Y


  O0 j3 L& K$ `6 s, s) I  K
很多人注意到了Edit 旁边的小云朵,小云朵亮的时候表示使用cloudflare 的网络。在上面点击一下会变暗,表示不使用cloudflare 的网络,直接回源源IP! W9 _- J6 R$ @0 R! g: S/ i. }

* V: K% B0 K, U* u” x; g7 k’ ]
最后一个问题,通过cloudflare partner 计划申请的cloudflare 账户,是否可以登录cloudflare 的网站?) m$ k- |# ?% _2 j2 T$ F* e1 I: _
这当然是可以的,因为https://dns.advertcn.com 这个UI 只提供了基本的DNS管理功能,许多cloudflare 的高级功能还是需要登录cloudflare 的网站才能设置
# @, w+ }. l3 O+ m. o/ `
打开网址: https://dash.cloudflare.com/login, 输入用户名和密码登录. V& `+ t: `* K6 a6 o4 @4 T
 , B! z. z3 U$ V7 R( g: w1 }
: l5 h/ l* z+ o& Y6 W  o. E” ]

 ) ^% J% C+ y3 ]5 @4 C
7 W0 ~# p5 O/ V! K3 ^& i- s+ o
进来以后,发现我们通过cf partner UI设置的域名, advertcn.net 静静的躺在我们的账户列表中: v% e0 m0 g1 W4 D” _* y. q

 7 [( Z( [; t1 J6 G2 Q6 S+ B/ Y
( f* ?4 `$ \- }. j# ^2 G
很多功能,比如说统计啊, SSL 设置啊,SSL rewrite啊,防火墙啊,Access啊,Page Rules啊等等都得在cloudflare 的网站才能设置) N5 |/ Q4 h0 P, c! A! Z
0 m  p5 o- N$ p7 W
这里很有意思的地方在于DNS那里,我们可以点进去# H: ?& K0 d1 I0 g  w, J1 X

可以很清楚的看到advertcn.net DNS设置,由RegalDomain Limited来管理,也就是说由https://dns.advertcn.com 来管理DNS,其余的高级功能都得登录cloudflare 的网站来设置

到这里,基本的CF Partner的用法就讲完了。

如果有任何问题,请直接留言. 如果你有其他的玩法,也可以回帖,我更新到帖子里。/ Z7 J3 P’ g0 h$ ]( {* g

https://dns.advertcn.com 的用户有问题,可以发信给support@advertcn.com。; B,