diff --git a/plugin/bind/setup.go b/plugin/bind/setup.go index f1b9dcda5..1e3ac53f0 100644 --- a/plugin/bind/setup.go +++ b/plugin/bind/setup.go @@ -85,7 +85,7 @@ func listIP(args []string, ifaces []net.Interface) ([]string, error) { if ipnet, ok := addr.(*net.IPNet); ok { ipa, err := net.ResolveIPAddr("ip", ipnet.IP.String()) if err == nil { - if len(ipnet.IP) == net.IPv6len && + if ipnet.IP.To4() == nil && (ipnet.IP.IsLinkLocalMulticast() || ipnet.IP.IsLinkLocalUnicast()) { if ipa.Zone == "" { ipa.Zone = iface.Name