Merge pull request #725 from gravitl/v0.10.0

V0.10.0
This commit is contained in:
dcarns 2022-02-09 15:23:23 -05:00 committed by GitHub
commit 9e3f544842
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -94,7 +94,14 @@ func initWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
if ncutils.IsKernel() {
logger.Log(2, "setting kernel device", ifacename)
setKernelDevice(ifacename, node.Address)
network, err := GetNetwork(node.Network)
if err != nil {
logger.Log(0, "failed to get network"+err.Error())
return err
}
net := strings.Split(network.AddressRange, "/")
mask := net[len(net)-1]
setKernelDevice(ifacename, node.Address, mask)
}
nodeport := int(node.ListenPort)
@ -184,7 +191,7 @@ func initWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
return err
}
func setKernelDevice(ifacename string, address string) error {
func setKernelDevice(ifacename, address, mask string) error {
ipExec, err := exec.LookPath("ip")
if err != nil {
return err
@ -193,7 +200,7 @@ func setKernelDevice(ifacename string, address string) error {
// == best effort ==
ncutils.RunCmd("ip link delete dev "+ifacename, false)
ncutils.RunCmd(ipExec+" link add dev "+ifacename+" type wireguard", true)
ncutils.RunCmd(ipExec+" address add dev "+ifacename+" "+address+"/24", true) // this is a bug waiting to happen
ncutils.RunCmd(ipExec+" address add dev "+ifacename+" "+address+"/"+mask, true) // this was a bug waiting to happen
return nil
}