V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
leavic
V2EX  ›  问与答

CloudFlare 的 Anycast 是如何选择路线的?

  •  
  •   leavic · 2018-11-02 23:29:08 +08:00 · 4815 次点击
    这是一个创建于 2191 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近准备做一个网站,想在全球各地都有较好的访问速度,分别在欧洲,亚洲,北美放了三台服务器。
    DNS 解析放在 CloudFlare,给域名添加了 3 个 A 记录,分别对应上述 3 地的服务器 IP。

    我试了一下仅仅开启 DNS 功能不开启 CDN 加速,分别从不同地区解析域名,

    但很奇怪的是,我从香港的 IP 解析域名会解析到欧洲,从加拿大解析域名会解析到亚洲,而且一直在变动,没什么规律可言。

    那么 CF 的整个 Anycast 到底要如何使用呢?
    必须开启这些 A 记录的 Http Proxy(CDN)功能才能开启 Anycast 吗?
    如果不开启的话,CF 不会自动根据用户的 IP 解析到最近的 服务器上吗?还是随机的从 A 记录中选择一条?
    第 1 条附言  ·  2018-11-03 15:49:41 +08:00
    OK,我完全误解了 Anycast 的工作方式,我需要的其实是 GEO DNS。
    已经改用 AWS Route 53,完美解决。
    10 条回复    2019-09-29 03:08:38 +08:00
    xfspace
        1
    xfspace  
       2018-11-03 00:11:36 +08:00 via Android
    对 Anycast 有什么误解

    你这是 A 记录轮询

    CDN 也不完全是 Anycast

    https://en.wikipedia.org/wiki/Anycast
    oovveeaarr
        2
    oovveeaarr  
       2018-11-03 00:12:24 +08:00
    Anycast 第一步,你要有 AS,或者所在 AS 的管理员愿意帮你配置。
    CloudFlare 开启它的 CDN 功能后,会给你分配一个已经配好 Anycast 的 IP,而不是反过来。
    多 A 记录大部分是随即取一个,但是概率不均等(忘记在哪看到的了),部分类库只会取返回的第一条 A 记录。
    leavic
        3
    leavic  
    OP
       2018-11-03 00:16:04 +08:00 via Android
    @xfspace 那到底 cf 上要如何设置呢?
    leavic
        4
    leavic  
    OP
       2018-11-03 00:17:57 +08:00 via Android
    @oovveeaarr 那请问,根据访客地址解析到不同的服务器上应该用什么方法呢?
    oovveeaarr
        5
    oovveeaarr  
       2018-11-03 00:19:48 +08:00
    @leavic #4 找支持 geodns 的,比如说 cloudxns,dnspod 之类的
    收费的 route53 啥的
    Cipool
        6
    Cipool  
       2018-11-03 00:23:16 +08:00 via Android
    @leavic 你直接用 cf 提供的 CDN 节点不就行了,你打开 CDN 开关后 cf 就会给你解析默认全球 anycast 的加速 IP (中国应该是减速)
    msg7086
        7
    msg7086  
       2018-11-03 02:38:18 +08:00   ❤️ 1
    Anycast 就是一个 IP 对应多个物理地址,你什么都不用管,只要把单个记录解析到单个 Anycast 上就行了。

    随便拿个 IP 举例:104.25.54.1

    这个 IP 你在美国东部的话你会发现在纽约附近,西部的话会在湾区附近,欧洲的话则是到法国附近。
    这就是 Anycast。

    你说的这个要用 GeoDNS。
    如果要做 Anycast 的话,也是「你」做 Anycast,而不是你去用 CF 的 Anycast。谁要建 Anycast 谁去架机器。不能你架机器然后让 CF 做 Anycast。(也不是不能做,只是可能要定制方案了。)

    添加 3 个 A 记录就是轮流解析,当然是乱跳了。
    kslr
        8
    kslr  
       2018-11-03 10:00:39 +08:00 via Android
    没有必要多地域
    kslr
        9
    kslr  
       2018-11-03 10:01:29 +08:00 via Android
    如果你需要 gtd 那就需要第三方厂商
    myhero
        10
    myhero  
       2019-09-29 03:08:38 +08:00
    留着看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:38 · PVG 04:38 · LAX 13:38 · JFK 16:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.