AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 590422
Accepted
ub3rst4r
ub3rst4r
Asked: 2014-04-22 17:17:32 +0800 CST2014-04-22 17:17:32 +0800 CST 2014-04-22 17:17:32 +0800 CST

GeoDNS 设置中的 CNAME 问题

  • 772

我正在尝试设置类似于 CDN(内容交付网络)设置的东西。我想要做的是使用根据用户的地理位置返回 A 记录的 DNS 记录。我能够使用 RAGE4 DNS 进行设置。我不能真正将域(我们称之为 domaina.com)移动到 RAGE4,我只能更改子域。所以,我所做的是注册一个新域名(我们称之为 domainb.com),并在 RAGE4 DNS 上使用基于地理的 A 记录进行设置,并将子域(在 domaina.com 上)更改为指向的 CNAME RAGE4 DNS。这会导致通过访问子域(在 domainb.com 上)返回的 A 记录仅返回相同的 IP 地址,因为它使用 domaina.com 的名称服务器的位置(而不是执行查询的原始用户)。

也许这是一个更好的解释:

  • 用户从 ns1.domaina.com 请求 xyz.domaina.com 的 DNS 记录
  • xyz.domaina.com 是指向 xyz.domainb.com 的 CNAME 记录
  • xyz.domainb.com 根据用户的地理位置返回一条A记录(本例为ns1.domaina.com的地理位置)

有没有办法让它使用原始用户位置而不是名称服务器位置?

domain-name-system
  • 1 1 个回答
  • 666 Views

1 个回答

  • Voted
  1. Best Answer
    cnst
    2014-04-22T18:10:58+08:002014-04-22T18:10:58+08:00

    你不能。

    有一个名为“DNS 请求中的客户端子网”的 EDNS0 扩展,它已经被谷歌公共 DNS8.8.8.8和 OpenDNS等一些解析器支持208.67.222.222(但不被 Level3 4.2.2.1、Dyn 216.146.35.35、Hurricane Electric74.82.42.42或大多数其他提供商支持)。上次我检查时,在任何公开可用的开源软件中仍然几乎不支持这样的事情,因此只有谷歌和 OpenDNS 解析器支持它。

    一些相关的问题:

    • 如何使用 dig(1) 测试特定 IP 的 GeoDNS 解析?

    一些相关的故障排除答案:

    • 在 shell 脚本中查找公共 IP 地址

    简而言之,尝试dig -t txt o-o.myaddr.l.google.com +short从您的潜在客户那里运行。如果你没有edns0-client-subnet在输出中看到,那么所有的赌注都被取消了。

    % dig -t txt o-o.myaddr.l.google.com +short
    "188.40.25.3"
    
    % dig @google-public-dns-a.google.com. -t txt o-o.myaddr.l.google.com +short
    "74.125.189.17"
    "edns0-client-subnet 88.198.54.0/24"
    
    % dig @resolver1.opendns.com. -t txt o-o.myaddr.l.google.com +short
    "208.69.33.21"
    "edns0-client-subnet 88.198.54.0/24"
    
    % dig @a.resolvers.level3.net. -t txt o-o.myaddr.l.google.com +short
    "8.0.18.147"
    
    % dig @resolver1.dyndnsinternetguide.com. -t txt o-o.myaddr.l.google.com +short
    "91.198.22.152"
    
    % dig @ordns.he.net -t txt o-o.myaddr.l.google.com +short
    "216.66.80.30"
    
    %
    
    • 2

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve