added static server routes

This commit is contained in:
0xdcarns 2022-04-28 09:50:26 -04:00
parent 9b35b74a7b
commit e1ab6b21fd

View file

@ -11,6 +11,7 @@ import (
"github.com/gravitl/netmaker/logger"
"github.com/gravitl/netmaker/models"
"github.com/gravitl/netmaker/netclient/local"
"github.com/gravitl/netmaker/netclient/ncutils"
"github.com/gravitl/netmaker/netclient/wireguard"
"golang.zx2c4.com/wireguard/wgctrl"
@ -257,6 +258,10 @@ func initWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
wireguard.SetPeers(ifacename, node, peers)
}
if node.IsServer == "yes" {
setServerRoutes(node.Interface, node.Network)
}
return err
}
@ -387,3 +392,15 @@ func removeLocalServer(node *models.Node) error {
}
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)
}
}
}