Browse Source

Merge pull request #1048 from gravitl/bugfix_v0.13.1_server_ipv6route

added static server routes
Alex Feiszli 3 years ago
parent
commit
726e5e1388
1 changed files with 17 additions and 0 deletions
  1. 17 0
      logic/wireguard.go

+ 17 - 0
logic/wireguard.go

@@ -11,6 +11,7 @@ import (
 
 
 	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/models"
 	"github.com/gravitl/netmaker/models"
+	"github.com/gravitl/netmaker/netclient/local"
 	"github.com/gravitl/netmaker/netclient/ncutils"
 	"github.com/gravitl/netmaker/netclient/ncutils"
 	"github.com/gravitl/netmaker/netclient/wireguard"
 	"github.com/gravitl/netmaker/netclient/wireguard"
 	"golang.zx2c4.com/wireguard/wgctrl"
 	"golang.zx2c4.com/wireguard/wgctrl"
@@ -257,6 +258,10 @@ func initWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
 		wireguard.SetPeers(ifacename, node, peers)
 		wireguard.SetPeers(ifacename, node, peers)
 	}
 	}
 
 
+	if node.IsServer == "yes" {
+		setServerRoutes(node.Interface, node.Network)
+	}
+
 	return err
 	return err
 }
 }
 
 
@@ -387,3 +392,15 @@ func removeLocalServer(node *models.Node) error {
 	}
 	}
 	return err
 	return err
 }
 }
+
+func setServerRoutes(iface, network string) {
+	parentNetwork, err := GetParentNetwork(network)
+	if err == nil {
+		if parentNetwork.AddressRange != "" {
+			local.SetCIDRRoute(iface, parentNetwork.AddressRange, nil)
+		}
+		if parentNetwork.AddressRange6 != "" {
+			local.SetCIDRRoute(iface, parentNetwork.AddressRange6, nil)
+		}
+	}
+}