【发布时间】:2020-11-22 17:58:33
【问题描述】:
我正在尝试将 Go 程序(即 Prometheus)配置为仅查找 IPv4 地址,但该程序用于 DNS 解析的 LookupIP 函数似乎没有此选项。
有什么办法可以解决它,还是我做错了什么?
LookupIP 函数如src:
// LookupIP looks up a host using the local resolver.
// It returns a slice of that host's IPv4 and IPv6 addresses.
func LookupIP(host string) ([]IP, error) {
addrs, err := DefaultResolver.LookupIPAddr(context.Background(), host)
if err != nil {
return nil, err
}
ips := make([]IP, len(addrs))
for i, ia := range addrs {
ips[i] = ia.IP
}
return ips, nil
}
【问题讨论】:
-
我们的环境中还没有部署 IPv6。所以任何 IPv6 查找都只会返回 NXDOMAIN。该程序可以正确获取 IPv4 地址,但我只是不希望它发送 IPv6 查询。 @DanielFarrell
标签: go