我试图设置类似于CDN(内容传送networking)设置的东西。 我想要做的是使用DNSlogging,根据用户在地理位置上的位置返回Alogging。 我能够使用RAGE4 DNS进行设置。 我不能真的把域名(让我们称之为domaina.com)RAGE4,我只能改变子域。 所以,我所做的是注册一个新的域名(让我们称之为domainb.com),并在RAGE4 DNS上设置具有地理位置的Alogging,并将子域(在domaina.com上)更改为指向RAGE4 DNS。 这会导致访问子域(在domainb.com上)返回的Alogging仅返回相同的IP地址,因为它使用domaina.com的名称服务器(而不是执行查询的原始用户)的位置。
也许这是一个更好的解释:
有没有办法让它使用原来的用户位置,而不是名称服务器的位置?
你不能。
有一个名为“DNS请求中的客户端子网”的EDNS0扩展 ,它已经被Google Public DNS 8.8.8.8和OpenDNS 208.67.222.222 (但不是Level3 4.2.2.1 ,Dyn 216.146.35.35 ,Hurricane Electric 74.82.42.42或大多数其他提供者)。 上次我查了一下,在任何公开的开放源代码软件中,还是没有这样的支持,所以只有Google和OpenDNS的parsing器支持。
一些相关的问题:
一些相关的疑难解答
简而言之,请尝试从您的潜在客户端运行dig -t txt oo.myaddr.l.google.com +short 。 如果您在输出中没有看到edns0-client-subnet ,则所有投注均closures。
% dig -t txt oo.myaddr.l.google.com +short "188.40.25.3" % dig @google-public-dns-a.google.com. -t txt oo.myaddr.l.google.com +short "74.125.189.17" "edns0-client-subnet 88.198.54.0/24" % dig @resolver1.opendns.com. -t txt oo.myaddr.l.google.com +short "208.69.33.21" "edns0-client-subnet 88.198.54.0/24" % dig @a.resolvers.level3.net. -t txt oo.myaddr.l.google.com +short "8.0.18.147" % dig @resolver1.dyndnsinternetguide.com. -t txt oo.myaddr.l.google.com +short "91.198.22.152" % dig @ordns.he.net -t txt oo.myaddr.l.google.com +short "216.66.80.30" %