pkg/mesh: filter local IP addresses when scanning for ips resolved by hostname

This commit is contained in:
Sean Baildon 2021-08-22 12:40:55 +01:00
parent e886f5d24e
commit 9ec155b843

View File

@ -59,6 +59,7 @@ func getIP(hostname string, ignoreIfaces ...int) (*net.IPNet, *net.IPNet, error)
ignore[oneAddressCIDR(ip.IP).String()] = struct{}{} ignore[oneAddressCIDR(ip.IP).String()] = struct{}{}
} }
} }
var hostPriv, hostPub []*net.IPNet var hostPriv, hostPub []*net.IPNet
{ {
// Check IPs to which hostname resolves first. // Check IPs to which hostname resolves first.
@ -71,6 +72,9 @@ func getIP(hostname string, ignoreIfaces ...int) (*net.IPNet, *net.IPNet, error)
if !ok { if !ok {
continue continue
} }
if isLocal(ip.IP) {
continue
}
ip.Mask = mask ip.Mask = mask
if isPublic(ip.IP) { if isPublic(ip.IP) {
hostPub = append(hostPub, ip) hostPub = append(hostPub, ip)