用 dig 解析我的 ip 返回空字符串

用 dig 解析我的 ip 返回空字符串

当尝试解析我的公共 IP 地址时,我得到一个空字符串

ip=$(dig +short myip.opendns.com @resolver1.opendns.com)

答案1

由于某种原因,opendns 在我的工作中也不起作用。例如,您的命令没有错误,只是 opendns 没有回答该特定查询以在某些设置中查找公共 IP 地址。

Google 还提供类似的服务来查找您正在使用的公共 IP 地址。做:

ip=$(dig TXT +short o-o.myaddr.l.google.com @ns1.google.com) 

由于 IPv6 在存在时优先,因此要强制 IPv4 应答,请执行以下操作:

ip=$(dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com)

答案2

您也可以-4像这样将 , 添加到您的原始答案中dig -4 +short myip.opendns.com @resolver1.opendns.com)。您将获得预期的 IPv4 输出。

我的 AWS lightail 实例也遇到了同样的问题,这为我解决了问题。

相关内容