dig 如何找到我的 WAN-IP 地址?“myip.opendns.com”在做什么?

Bea*_*ier 17 dns dyndns dig

我需要从我的路由器自动获取我自己的 WAN-IP 地址。我发现了这个问题dig并提出了一个解决方案:

dig +short myip.opendns.com @resolver1.opendns.com
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但现在我想了解它在做什么。这是我(希望)到目前为止所理解的(如果我错了,请纠正我):

  • +short 只是给我一个简短的输出
  • @resolver1.opendns.com 是 DNS 服务器,它被询问属于给定域的 IP 地址

我不清楚的是myip.opendns.com。如果我改写www.spiegel.de,我会得到域www.spiegel.de的 IP 地址,对吗?随着myip.opendns.com我得到我的路由器的广域网IP。那么myip.opendns.com只是模拟一个解析到我的路由器的域吗?它是如何做到的?它从哪里获得我的 IP?它与诸如www.wieistmeineip.de 之类的网页有何不同?他们还试图获取我的 IP。

在Krinkle 对我提到的问题的回答中,据说这种“dns-approach”会比“http-approach”更好。为什么它更好,有什么区别?

必须有所不同,因为我从dig +short myip.opendns.com @resolver1.opendns.com(ip1)获得的 WAN-IP是我也可以在路由器的 Web 界面中看到的那个,而www.wieistmeineip.de(以及其他类似站点)给了我另一个 IP 地址 (ip2) . 我可以想象我的 ISP 正在使用某种子局域网,因此我对网络服务器的请求通过另一个具有 ip2 的(ISP-)路由器,所以它www.wieistmeineip.de只是看到这个地址(ip2)。但是,再一次,那又myip.opendns.com在做什么呢?

另外:从我的 LAN 内打开 ip1 给了我来自我的 RasPi 的测试网站,从我的 LAN 外部(移动互联网)打开它不起作用。这是否意味着 ip1 不是正确的“互联网 IP”,而更像是 LAN IP?

Maf*_*tel 16

这项免费服务已被思科关闭。支付它可能仍然有效。

Google 提供相同的服务。

ipv4

dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
Run Code Online (Sandbox Code Playgroud)

ipv6

dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com
Run Code Online (Sandbox Code Playgroud)

  • `myip.opendns.com` 仍然对我有用,*但是*如果我的 WAN 连接也有 IPv6 IP 地址,我必须指定 `-4` 标志。否则它什么也不打印。 (7认同)

小智 15

首先总结一下的一般用法dig:它从默认的 DNS 服务器请求分配给给定域的 IP。因此,例如dig google.de会请求分配给域的 IP google.de。那将是172.217.19.99

你提到的命令是:

dig +short myip.opendns.com @resolver1.opendns.com
Run Code Online (Sandbox Code Playgroud)

所以这个命令的作用是:它向myip.opendns.comDNS 服务器发送一个域 IP 请求resolver1.opendns.com。该服务器被编程为,如果请求此特殊域,则将请求来自的 IP 发回。

krinkle 提到了为什么使用 DNS 查询 WAN IP 的方法更好的原因:标准化,更稳定,更快。

我可以想象这两个 IP 的原因是您的路由器缓存 DNS 请求并返回旧 IP。

另一个问题可能是DualStack Lite。这经常被新的互联网合同使用。您是否知道您的 ISP 是否在使用 DS Lite?