Cloudflare SaaS 实现 CNAME 接入 及 基于 GeoDNS 的分流解析

Logo of Cloudflare

Intro

Cloudflare 提供免费的 Anycast CDN 以及近乎无限的 DDoS 防护,但是除非 Enterprise 计划的用户才可以使用大陆节点,同时 Cloudflare 开放给免费用户的节点对于中国大陆而言往往线路优化不怎么好,由此便引申出了境内采用其他 CDN ,境外使用 Cloudflare 的方法,但是这种方法需要 CNAME 方式来。

而 Cloudflare SaaS 正包含自定义主机名的能力hu。

Prapare

  • 一个 Cloudflare 账户
  • 两个域名,一个为服务所使用的域名,另外一个为托管在 Cloudflare 的域名

Concept

  • 回退域
    即托管在 Cloudflare 的任意域名
  • 回退源
    即 SaaS 的源站,一个回退域只可以有一个回退源。(2025 修正:Cloudflare 允许一个回退域拥有多个源站,回退源作为默认源)
  • Cloudflare Saas
    Cloudflare for SaaS · Cloudflare for Platforms docs

Configure

1.配置及开通 SaaS 功能

进入回退域的页面,然后点击 SSL/TLS -> 自定义主机名

按照相关要求开通即可。

2.添加回退源

前往 DNS 选项,添加任意子域名指向默认源站,注意需要让 Cloudflare 代理此站点。

3.CNAME 接入网站

点击 添加自定义主机名 然后按照自己的要求添加即可。

如有需要可以自定义源服务器(不同于回退源)。

完成之后按照要求,完成自定义主机名的 TXT 验证。(当然,你也可以提前添加 DCV 委派于自定义域名)。

完成两次 TXT 验证。

最后添加 CNAME 解析到 回退源 即可。

4.进阶(基于 GeoDNS 的分流解析)

我们可以通过 GeoDNS 实现对 DNS 记录的精准控制,如选择最近的 IP 地址/分地域解析

DNSPOD

如下图所示即可(注意线路类型个人建议留一个默认给到境外,不然一个境内一个境外很可能有偶见性匹配不出来的情况?)

PowerDNS

如下图所示,使用官方提供的 LUA 解析功能和 GeoIP 支持

apt 安装即可,后在 pdns.conf 配置 LUA 解析、GeoIP 数据库(可从 MaxMind 获取)等

# 启用 LUA 解析
enable-lua-records=yes
# 此处示例使用的是 MySQL 作为后端,具体需要自行调整
launch=gmysql,geoip
# GeoIP 数据库文件
geoip-database-files=/etc/geoip/GeoLite2-City.mmdb

PowerDNS 提供了一个叫做 country 的函数
例如这样

TXT ";if(country('国家 ISO 3166 alpha-2 code')) then return 'YES' else return 'NO' end"

用户在 ISO 3166 alpha-2 对应国家 的解析结果就是 YES,反之就是 NO,根据他我们就可以写出我们需要的 DNS 记录。

CNAME "";if(country('CN')) then return '\*\*\*.cdn.dnsv1.com.cn' else return '\*\*\*.top' end"' end"  

配置如下

参考文章:
使用 PowerDNS 的 Lua 功能自建分地区解析 GeoDNS Lan Tian @ Blog
Cloudflare for SaaS · Cloudflare for Platforms docs

Read more

Linux 对流入流量的 srcnat

最近维护 AS151673 个人网时用到了某公共的 Wireguard 隧道服务。链接质量非常好,但是由于其限制了可通过地址,且其实际上存在多跳。 A(我的机器) B (该 WG 服务器)C(我的第二台机器) 故准备在套一层 GRE 来建立 OSPF。 但是当 GRE 建立后 两侧都无法联通。 抓包发现实际上应该 src 为 A ,dst 为 C 的流量,变成了 src 为 B ,dst 为 C,另一侧同理。很明显是在 B 有一层 SNAT/MASQUERADE 这导致 GRE 没有将这样的流量匹配到 A-C 的

记:PCIE 转 OCP 板改造

之前一直给软路由用的 X520-DA2 网卡坏了,这次升级一下,遂于闲鱼购入了 PCIE 转 OCP 板+CX342 网卡,单独又购买了 CX4421 这张卡,同时在嘉立创打了一块 Github 开源版本的转接卡。 咸鱼买来的转接卡是不带 12v转5v供电的,如图。 其5v供电处被 TP1 直接短接导 12v上,这样做在某种意义上是可行的,因为网卡的供电原设计为由5v降压,虽然稳压芯片可接受12v,但是某种程度上来说并不稳定,压差大发热大,且长时间可能导致损坏致使网卡被击穿。 大致翻阅了一下,网络上存在同款含降压电路的转接板。 找了多张图片,看清芯片丝印是 IAFRH, 查询得芯片为 MP2225GJ-Z, 查询文档得电路图 工作模式由 L1 电感,R1, C3 值决定,跟板上电路对比,板上缺少 C3,C1,C1A。 则理论电路图为

RouterOS 使用 MA5671A 猫棒

近日,我购入了 Mikrotik 的 hAP ax S 路由器,其搭载一个 SFP 口,可以让我使用猫棒来替代光猫。 首先,家里有两条中国移动宽带,一条宽带被更换为了 fttr 双设备,个人比较满意(测速可以跑800Mbps),可以留着正常使用,剩余一条宽带光猫较为老旧,决定进行更换,后续可以使用该 Router 进行双宽带叠加,接入个人网(AS151673)。 1.物料清单 序号 名称 1 Mikrotik hAP ax S 2 MA5671A 猫棒 3 SC/APC 转 SC/UPC 光纤 4 SC-SC 光纤 连接器

陇ICP备2024006160号-2
甘公网安备62030002000139号