mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-26 22:16:20 +08:00
fixed egress range peer appending
This commit is contained in:
parent
9f7d475bac
commit
c87e39aa61
1 changed files with 8 additions and 6 deletions
|
|
@ -211,11 +211,14 @@ func GetPeers(macaddress string, network string, server string, dualstack bool,
|
||||||
if node.IsEgressGateway == "yes" {
|
if node.IsEgressGateway == "yes" {
|
||||||
hasGateway = true
|
hasGateway = true
|
||||||
ranges := node.EgressGatewayRanges
|
ranges := node.EgressGatewayRanges
|
||||||
for _, iprange := range ranges {
|
for _, iprange := range ranges { // go through each cidr for egress gateway
|
||||||
_, ipnet, err := net.ParseCIDR(iprange)
|
_, ipnet, err := net.ParseCIDR(iprange) // confirming it's valid cidr
|
||||||
nodeEndpointArr := strings.Split(node.Endpoint, ":")
|
if err != nil {
|
||||||
if len(nodeEndpointArr) != 2 || ipnet.Contains(net.IP(nodeEndpointArr[0])) {
|
continue // if can't parse CIDR
|
||||||
continue
|
}
|
||||||
|
nodeEndpointArr := strings.Split(node.Endpoint, ":") // getting the public ip of node
|
||||||
|
if ipnet.Contains(net.IP(nodeEndpointArr[0])) { // ensuring egress gateway range does not contain public ip of node
|
||||||
|
continue // skip adding egress range if overlaps with nodes ip
|
||||||
}
|
}
|
||||||
gateways = append(gateways, iprange)
|
gateways = append(gateways, iprange)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -262,7 +265,6 @@ func GetPeers(macaddress string, network string, server string, dualstack bool,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
peers = append(peers, peer)
|
peers = append(peers, peer)
|
||||||
|
|
||||||
}
|
}
|
||||||
if isIngressGateway {
|
if isIngressGateway {
|
||||||
extPeers, err := GetExtPeers(macaddress, network, server, dualstack)
|
extPeers, err := GetExtPeers(macaddress, network, server, dualstack)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue