diff --git a/netclient/server/grpc.go b/netclient/server/grpc.go index f26e9b26..8b997134 100644 --- a/netclient/server/grpc.go +++ b/netclient/server/grpc.go @@ -208,6 +208,16 @@ func GetPeers(macaddress string, network string, server string, dualstack bool, } var allowedips []net.IPNet allowedips = append(allowedips, peeraddr) + // handle manually set peers + for _, allowedIp := range node.AllowedIPs { + if _, ipnet, err := net.ParseCIDR(allowedIp); err == nil { + nodeEndpointArr := strings.Split(node.Endpoint, ":") + if !ipnet.Contains(net.IP(nodeEndpointArr[0])) { // don't need to add an allowed ip that already exists.. + allowedips = append(allowedips, *ipnet) + } + } + } + // handle egress gateway peers if node.IsEgressGateway == "yes" { hasGateway = true ranges := node.EgressGatewayRanges