这个问题:“如何在 bash 中获取我的外部 IP 地址? ”
通过调用 dig 解决问题:
dig +short myip.opendns.com @resolver1.opendns.com;
Run Code Online (Sandbox Code Playgroud)
这是最快的解决方案,因为它涉及单个 udp 数据包。
但是,这只是一个站点:OpenDNS,还有其他选择吗?
并且,使用默认情况下不可用的 dig。再次,有替代方案吗?
注意:我需要解决这个问题,因为 OpenDNS 服务由于端口 53 的(也是本地)重定向而无法在本地工作。我终于找到了原因(我忘记了重定向)。首先,通过使用此命令来查找 dnssec 是否正在工作(本地缺少ad标志):
dig pir.org +dnssec +multi
Run Code Online (Sandbox Code Playgroud)
还可以使用此命令来确定您的 ISP 是否正在重定向 OpenDNS 解析:
host -t txt which.opendns.com 208.67.220.220
Run Code Online (Sandbox Code Playgroud)
如果被重定向,您将得到以下答案: "I am not an OpenDNS resolver."