Skip to content

Cloudflare 再 接 入

Published: at 06:25

为什么是再呢?为什么会……这样呢?

好吧,今天早上又作死了。想让国内 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 服务:原本的 DNSCloudflare PartnerDNS。这里一个值得注意的点是,如果你原本使用的就是 CloudflareDNS 服务,请先行迁出。

为什么要有两套 DNS 呢?

先从第一套,也就是原本的 DNS 说起吧。原本的 DNS,承载的就是你接入之前的域名解析工作。在接入的过程中,它的工作是指定你想要的 Cloudflare 服务器。我们接入 Partner 的原因不就是 Cloudflare 默认的服务器无法达到我们的期望吗?那我们就直接指定好了。因此,这一套 DNS 的主要作用是指定 Cloudflare 服务器。

当然了,它还有一个存在的理由。这一点我们之后再谈。

那第二套呢?

第二套 DNS,也就是在 Cloudflare Partner 面板上的 DNS,它的本质其实和 Cloudflare 页面上的 DNS 是一样的。它的作用是告诉 Cloudflare 要解析,并且或许要生成证书的域名。唯一不同的是免费版的 Cloudflare DNS 不支持 CNAME 接入和 IP 接入。因此,如果你用过 CloudflareDNS 服务的话,你可以简单地把它想象成 CF 内置的 DNS

由此,第一套 DNS 不能是 Cloudflare DNS 的原因就呼之欲出了。

哪家 Cloudflare Partner?

其实哪家都一样(

话虽如此,当然是找 UI 好看的了。说实话,那个开源的面板就真的很好看了。随便挑一个能用的就行了。我这里使用的是 https://cdn.rruu.net/

选哪个 IP?

这件事情别的博客也已经说的很清楚了,但大部分都是在很后面才提到的,我这里把它提前了。有了上面的知识铺垫,我们很容易就能明白:这里的 IP 选择是之后要填到第一套 DNS 中的。我这里就随便抓一个 IP 列表过来好了,事实上所有的文章这一部分大都大同小异,没什么区别。挑你最适合的就行了ww

// 新加坡
104.18.48.0-104.18.63.255
104.24.112.0-104.24.127.255
104.27.128.0-104.27.143.255
104.28.0.0-104.28.15.255
// 圣何塞 cogentco.com
104.28.16.0-31.255
104.27.144.0-243.254
104.23.240.0-243.254
// 香港
cloudflare1-100g.hkix.net
1.0.0.0-254
1.1.1.0-254
104.16.80.0-95.255
104.16.175.255-104.16.191.255
// 香港直连
104.16.0.0-79.255
104.16.96.0-175.254
104.16.192.0-207.255
// 新加坡(都从香港ntt转发)
104.28.0.0-15.255

配置

经过上面那么多的铺垫,这一步也就很简单了。把上面选中的地址填进第一套 DNS:

step-1
step-1

填完这个之后,我们需要在第二套 DNS 了填写真正指向的地址。还记得之前提到的第一套 DNS 还有的一个作用吗?这里我们必须把第二套 DNS 指向一个域名而不是 IP 地址。这是因为 Cloudflare 只支持回源链接,无法使用 IP。因此,你需要在第一套 DNS 中先创建一个 A 记录,再从第二套 DNS 中通过 CNAME 指向那个 A 记录。具体的过程如下图所示:

step-procedure
step-procedure

终于

如你所见,现在大部分的访问都已经正常了。对于在这场事故中逝去的 DNS 记录,我们怀念他们……(逃(それでは


Previous Post
某昨的普罗丢瑟 Profile v0.0.4-SNAPSHOT
Next Post
Go 学习笔记 01 - 找准反射之道