mirror of
https://github.com/gravitl/netmaker.git
synced 2025-11-03 02:53:29 +08:00
skip internet gateways
This commit is contained in:
@@ -22,20 +22,25 @@ func CreateEgressGateway(gateway models.EgressGatewayRequest) (models.Node, erro
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
for i, cidr := range gateway.Ranges {
|
||||
normalized, err := NormalizeCIDR(cidr)
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
gateway.Ranges[i] = normalized
|
||||
|
||||
}
|
||||
if host.OS != "linux" && host.OS != "freebsd" { // add in darwin later
|
||||
return models.Node{}, errors.New(host.OS + " is unsupported for egress gateways")
|
||||
}
|
||||
if host.OS == "linux" && host.FirewallInUse == models.FIREWALL_NONE {
|
||||
return models.Node{}, errors.New("firewall is not supported for egress gateways")
|
||||
}
|
||||
for i := len(gateway.Ranges) - 1; i >= 0; i-- {
|
||||
if gateway.Ranges[i] == "0.0.0.0/0" || gateway.Ranges[i] == "::/0" {
|
||||
logger.Log(0, "currently internet gateways are not supported", gateway.Ranges[i])
|
||||
gateway.Ranges = append(gateway.Ranges[:i], gateway.Ranges[i+1:]...)
|
||||
continue
|
||||
}
|
||||
normalized, err := NormalizeCIDR(gateway.Ranges[i])
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
gateway.Ranges[i] = normalized
|
||||
|
||||
}
|
||||
if gateway.NatEnabled == "" {
|
||||
gateway.NatEnabled = "yes"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user