leavic
V2EX  ›  问与答

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

  •  
  •   leavic · Nov 2, 2018 · 5742 views
    This topic created in 2782 days ago, the information mentioned may be changed or developed.
    最近准备做一个网站,想在全球各地都有较好的访问速度,分别在欧洲,亚洲,北美放了三台服务器。
    DNS 解析放在 CloudFlare,给域名添加了 3 个 A 记录,分别对应上述 3 地的服务器 IP。

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

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

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

    你这是 A 记录轮询

    CDN 也不完全是 Anycast

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

    随便拿个 IP 举例:104.25.54.1

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

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

    添加 3 个 A 记录就是轮流解析,当然是乱跳了。
    kslr
        8
    kslr  
       Nov 3, 2018 via Android
    没有必要多地域
    kslr
        9
    kslr  
       Nov 3, 2018 via Android
    如果你需要 gtd 那就需要第三方厂商
    myhero
        10
    myhero  
       Sep 29, 2019
    留着看看
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3221 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 12:35 · PVG 20:35 · LAX 05:35 · JFK 08:35
    ♥ Do have faith in what you're doing.