好吧,今天早上又作死了。想让国内 cf 的访问效果好一些,结果接入Partner 的时候不小心把域名给删了。这下完了,所有东西都得重新来一遍。正好,这样就不用 NS 接入了,改用 CNAME/IP 接入吧。
Cloudflare Partner 的原理
我也看了很多教你怎么接入的教程了,但说句实话,好多都讲得稀里糊涂的。一直到今天我自己配置,我才真正明白了所有步骤到底是什么含义。下面我就简单的描述一下我认识下的它的原理吧。
DNS 与智能 DNS
我们知道,域名是需要解析的。对于普通域名解析服务来说,一个子域名对应一或多个记录。比如 a.mmf.moe
可能会对应了 A 记录 8.8.8.8
,同时也可能对应 A
记录 8.8.4.4
。
那么,现在问题来了。我们如果想要让电信网络使用第一条 A
记录,联通网络使用第二条 A
记录,那该怎么办呢?
很遗憾,答案是没有办法。这样定制的需求是传统的 DNS
服务器所无法做到的,由此,诞生了这样一种选择,也就是国内常常提及的所说的智能DNS。智能 DNS
之所以智能,就是因为它能够按照用户对网络的配置细分各条记录,达到智能选路的目的。
那么,我们就可以证伪下面这个问题了。有些教程提出,想要正常接入使用 Cloudflare Partner
必须使用智能 DNS
,这一点是错误的。任意的 DNS
都可以接入。智能 DNS
只是能够更好地完成接入 Partner
的目的,即让网站在国内的访问速度更快。
两套 DNS?
在配置的过程中,我们需要用到两套 DNS
服务:原本的 DNS
和 Cloudflare Partner
的 DNS
。这里一个值得注意的点是,如果你原本使用的就是 Cloudflare
的 DNS
服务,请先行迁出。
为什么要有两套 DNS 呢?
先从第一套,也就是原本的 DNS
说起吧。原本的 DNS
,承载的就是你接入之前的域名解析工作。在接入的过程中,它的工作是指定你想要的 Cloudflare
服务器。我们接入 Partner
的原因不就是 Cloudflare
默认的服务器无法达到我们的期望吗?那我们就直接指定好了。因此,这一套 DNS
的主要作用是指定 Cloudflare
服务器。
当然了,它还有一个存在的理由。这一点我们之后再谈。
那第二套呢?
第二套 DNS
,也就是在 Cloudflare Partner
面板上的 DNS
,它的本质其实和 Cloudflare
页面上的 DNS
是一样的。它的作用是告诉 Cloudflare 要解析,并且或许要生成证书的域名。唯一不同的是免费版的 Cloudflare DNS
不支持 CNAME
接入和 IP
接入。因此,如果你用过 Cloudflare
的 DNS
服务的话,你可以简单地把它想象成 CF
内置的 DNS
。
由此,第一套 DNS
不能是 Cloudflare DNS
的原因就呼之欲出了。
哪家 Cloudflare Partner?
其实哪家都一样(
话虽如此,当然是找 UI
好看的了。说实话,那个开源的面板就真的很好看了。随便挑一个能用的就行了。我这里使用的是 https://cdn.rruu.net/ 。
选哪个 IP?
这件事情别的博客也已经说的很清楚了,但大部分都是在很后面才提到的,我这里把它提前了。有了上面的知识铺垫,我们很容易就能明白:这里的 IP
选择是之后要填到第一套 DNS
中的。我这里就随便抓一个 IP
列表过来好了,事实上所有的文章这一部分大都大同小异,没什么区别。挑你最适合的就行了ww
配置
经过上面那么多的铺垫,这一步也就很简单了。把上面选中的地址填进第一套 DNS:
填完这个之后,我们需要在第二套 DNS
了填写真正指向的地址。还记得之前提到的第一套 DNS
还有的一个作用吗?这里我们必须把第二套 DNS
指向一个域名而不是 IP
地址。这是因为 Cloudflare
只支持回源链接,无法使用 IP
。因此,你需要在第一套 DNS
中先创建一个 A
记录,再从第二套 DNS
中通过 CNAME
指向那个 A
记录。具体的过程如下图所示:
终于
如你所见,现在大部分的访问都已经正常了。对于在这场事故中逝去的 DNS
记录,我们怀念他们……(逃(それでは