Browse Source

egress + inress bug fixes #284 & #285

0xdcarns 3 years ago
parent
commit
da26802865
2 changed files with 5 additions and 1 deletions
  1. 1 1
      controllers/extClientHttpController.go
  2. 4 0
      controllers/nodeHttpController.go

+ 1 - 1
controllers/extClientHttpController.go

@@ -375,7 +375,7 @@ func DeleteExtClient(network string, clientid string) error {
  */
  */
 func DeleteGatewayExtClients(gatewayID string, networkName string) error {
 func DeleteGatewayExtClients(gatewayID string, networkName string) error {
 	currentExtClients, err := GetNetworkExtClients(networkName)
 	currentExtClients, err := GetNetworkExtClients(networkName)
-	if err != nil {
+	if err != nil && !database.IsEmptyRecord(err) {
 		return err
 		return err
 	}
 	}
 	for _, extClient := range currentExtClients {
 	for _, extClient := range currentExtClients {

+ 4 - 0
controllers/nodeHttpController.go

@@ -597,6 +597,10 @@ func DeleteEgressGateway(network, macaddress string) (models.Node, error) {
 	node.EgressGatewayRanges = []string{}
 	node.EgressGatewayRanges = []string{}
 	node.PostUp = ""
 	node.PostUp = ""
 	node.PostDown = ""
 	node.PostDown = ""
+	if node.IsIngressGateway == "yes" { // check if node is still an ingress gateway before completely deleting postdown/up rules
+		node.PostUp = "iptables -A FORWARD -i " + node.Interface + " -j ACCEPT; iptables -t nat -A POSTROUTING -o " + node.Interface + " -j MASQUERADE"
+		node.PostDown = "iptables -D FORWARD -i " + node.Interface + " -j ACCEPT; iptables -t nat -D POSTROUTING -o " + node.Interface + " -j MASQUERADE"
+	}
 	node.SetLastModified()
 	node.SetLastModified()
 	node.PullChanges = "yes"
 	node.PullChanges = "yes"
 	key, err := functions.GetRecordKey(node.MacAddress, node.Network)
 	key, err := functions.GetRecordKey(node.MacAddress, node.Network)