我需要从我的路由器自动获取我自己的 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)
小智 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.com
DNS 服务器发送一个域 IP 请求resolver1.opendns.com
。该服务器被编程为,如果请求此特殊域,则将请求来自的 IP 发回。
krinkle 提到了为什么使用 DNS 查询 WAN IP 的方法更好的原因:标准化,更稳定,更快。
我可以想象这两个 IP 的原因是您的路由器缓存 DNS 请求并返回旧 IP。
另一个问题可能是DualStack Lite。这经常被新的互联网合同使用。您是否知道您的 ISP 是否在使用 DS Lite?