首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google上EDNS客户端子网的意外结果

Google上EDNS客户端子网的意外结果
EN

Server Fault用户
提问于 2018-11-04 09:49:38
回答 1查看 549关注 0票数 0

我一直在试着在EDNS上做个测试。只需检查在使用EDNS扩展时返回的if是否最接近。

但是,如果我使用中国的IP查询,就会得到一个带有美国位置的IP。如下所示。

有什么想法吗?

代码语言:javascript
运行
复制
curl -s http://ip-api.com/json/59.155.255.200  | jq
{
  "as": "",
  "city": "Xinzhuang (Minhang Qu)",
  "country": "China",
  "countryCode": "CN",
  "isp": "zhuyuan road, Shanghai, China",
  "lat": 31.0704,
  "lon": 121.518,
  "org": "zhuyuan road, Shanghai, China",
  "query": "59.155.255.200",
  "region": "",
  "regionName": "Shanghai",
  "status": "success",
  "timezone": "Asia/Shanghai",
  "zip": ""
}

./bin/dig/dig @8.8.8.8 www.google.com +client=59.155.255.200 +short
216.58.208.164

curl -s http://ip-api.com/json/216.58.208.164  | jq
{
  "as": "AS15169 Google LLC",
  "city": "Mountain View",
  "country": "United States",
  "countryCode": "US",
  "isp": "Google",
  "lat": 37.4192,
  "lon": -122.0574,
  "org": "Google",
  "query": "216.58.208.164",
  "region": "CA",
  "regionName": "California",
  "status": "success",
  "timezone": "America/Los_Angeles",
  "zip": "94043"
}

或者如果有更好的方法来测试从测试EDNS返回的IP位置,请告诉我。

谢谢,

EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-11-06 12:53:02

EDNS是一种支持DNS协议许多不同扩展的方法。您的问题具体涉及客户端子网选项,这只是EDNS可用于的许多功能之一。

客户端子网选项用于递归DNS服务器,以便将客户端IP地址与权威DNS服务器通信,这样权威DNS服务器可以使用往返时间较短的IP地址对客户端进行响应。

Google操作递归DNS服务器和权威DNS服务器。由Google操作的递归DNS服务器名为。

Google支持Google和权威服务器上的Client选项。因此,当客户端向Google发送www.google.com查询时,从Google发送到谷歌权威DNS服务器的请求将包含一个客户端子网选项,其中包含客户端的IP地址(可能被截断)。

您所做的就是将选项发送到。这是没有意义的,因为这是客户端到递归DNS的请求,这不是client选项的目的。该选项用于从递归DNS到权威DNS之间的通信。

如果您将该请求发送到Google的权威DNS服务器之一,则会得到一个不同的结果,如本例所示:

代码语言:javascript
运行
复制
$ dig +short +norecurse www.google.com @ns3.google.com
216.58.206.68
$ dig +short +norecurse +subnet=59.155.255.200 www.google.com @ns3.google.com
172.217.25.196

注意,当查询权威服务器时,该选项确实会产生影响。(注意,当引入该选项时,它在被重命名为+client之前被命名为+subnet,时间很短)

如果我们在ip-api.com中查找那个IP地址,我们就会发现它被列为日本,我想这更接近你所期望看到的。

代码语言:javascript
运行
复制
$ curl http://ip-api.com/json/172.217.161.68
{"as":"AS15169 Google LLC","city":"Chiyoda","country":"Japan","countryCode":"JP","isp":"Google","lat":35.694,"lon":139.754,"org":"Google","query":"172.217.161.68","region":"","regionName":"Tokyo","status":"success","timezone":"Asia/Tokyo","zip":"100-0001"}

因此,我们可以推断,ip-api.com必须有其他数据源,而不仅仅是whois,因为当我使用whois 172.217.161.68时,我得到了以下信息:

代码语言:javascript
运行
复制
OrgName:        Google LLC
OrgId:          GOGL
Address:        1600 Amphitheatre Parkway
City:           Mountain View
StateProv:      CA
PostalCode:     94043
Country:        US
票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/938560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档