fixed windows, updated wgctrl

This commit is contained in:
0xdcarns
2021-09-21 17:50:09 -04:00
parent 6418378b07
commit 3fc4c253a8
7 changed files with 17 additions and 11 deletions

2
go.mod
View File

@@ -28,7 +28,7 @@ require (
golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
golang.zx2c4.com/wireguard v0.0.0-20210805125648-3957e9b9dd19 // indirect golang.zx2c4.com/wireguard v0.0.0-20210805125648-3957e9b9dd19 // indirect
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210913210325-91d1988e44de
golang.zx2c4.com/wireguard/windows v0.4.5 // indirect golang.zx2c4.com/wireguard/windows v0.4.5 // indirect
google.golang.org/genproto v0.0.0-20210201151548-94839c025ad4 // indirect google.golang.org/genproto v0.0.0-20210201151548-94839c025ad4 // indirect
google.golang.org/grpc v1.35.0 google.golang.org/grpc v1.35.0

2
go.sum
View File

@@ -340,6 +340,8 @@ golang.zx2c4.com/wireguard/wgctrl v0.0.0-20200609130330-bd2cb7843e1b h1:l4mBVCYi
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20200609130330-bd2cb7843e1b/go.mod h1:UdS9frhv65KTfwxME1xE8+rHYoFpbm36gOud1GhBe9c= golang.zx2c4.com/wireguard/wgctrl v0.0.0-20200609130330-bd2cb7843e1b/go.mod h1:UdS9frhv65KTfwxME1xE8+rHYoFpbm36gOud1GhBe9c=
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c h1:ADNrRDI5NR23/TUCnEmlLZLt4u9DnZ2nwRkPrAcFvto= golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c h1:ADNrRDI5NR23/TUCnEmlLZLt4u9DnZ2nwRkPrAcFvto=
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c/go.mod h1:+1XihzyZUBJcSc5WO9SwNA7v26puQwOEDwanaxfNXPQ= golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c/go.mod h1:+1XihzyZUBJcSc5WO9SwNA7v26puQwOEDwanaxfNXPQ=
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210913210325-91d1988e44de h1:M9Jc92kgqmVmidpnOeegP2VgO2DfHEcsUWtWMmBwNFQ=
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210913210325-91d1988e44de/go.mod h1:+1XihzyZUBJcSc5WO9SwNA7v26puQwOEDwanaxfNXPQ=
golang.zx2c4.com/wireguard/windows v0.4.5 h1:btpw+5IM8UrSl5SILCODt1bXTM2qYpcaYArM6wDlwHA= golang.zx2c4.com/wireguard/windows v0.4.5 h1:btpw+5IM8UrSl5SILCODt1bXTM2qYpcaYArM6wDlwHA=
golang.zx2c4.com/wireguard/windows v0.4.5/go.mod h1:LdS2bRTWu//RpztraGz5ZkPZul60cCbmgtLTPSKrS50= golang.zx2c4.com/wireguard/windows v0.4.5/go.mod h1:LdS2bRTWu//RpztraGz5ZkPZul60cCbmgtLTPSKrS50=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=

View File

@@ -64,7 +64,7 @@ func RunUserspaceDaemon() {
if err := CheckIn(cfg); err != nil { if err := CheckIn(cfg); err != nil {
// pass // pass
} }
time.Sleep(30 * time.Second) time.Sleep(15 * time.Second)
} }
} }

View File

@@ -131,15 +131,10 @@ func LeaveNetwork(network string) error {
} else { } else {
wcclient = nodepb.NewNodeServiceClient(conn) wcclient = nodepb.NewNodeServiceClient(conn)
ctx := context.Background() ctx, err := auth.SetJWT(wcclient, network)
ctx, err = auth.SetJWT(wcclient, network)
if err != nil { if err != nil {
log.Printf("Failed to authenticate: %v", err) log.Printf("Failed to authenticate: %v", err)
} else { } else {
if !ncutils.IsKernel() {
//wireguard.RemoveConf(node.Interface, true)
//ncutils.PrintLog("removed network tunnel "+node.Interface, 1)
}
node.SetID() node.SetID()
var header metadata.MD var header metadata.MD
_, err = wcclient.DeleteNode( _, err = wcclient.DeleteNode(

View File

@@ -323,7 +323,9 @@ func Copy(src, dst string) (int64, error) {
func RunCmd(command string, printerr bool) (string, error) { func RunCmd(command string, printerr bool) (string, error) {
args := strings.Fields(command) args := strings.Fields(command)
out, err := exec.Command(args[0], args[1:]...).CombinedOutput() cmd := exec.Command(args[0], args[1:]...)
cmd.Wait()
out, err := cmd.CombinedOutput()
if err != nil && printerr { if err != nil && printerr {
log.Println("error running command:", command) log.Println("error running command:", command)
log.Println(strings.TrimSuffix(string(out), "\n")) log.Println(strings.TrimSuffix(string(out), "\n"))

View File

@@ -9,6 +9,7 @@ import (
"runtime" "runtime"
"strconv" "strconv"
"strings" "strings"
"time"
"github.com/gravitl/netmaker/models" "github.com/gravitl/netmaker/models"
"github.com/gravitl/netmaker/netclient/config" "github.com/gravitl/netmaker/netclient/config"
@@ -27,6 +28,7 @@ func SetPeers(iface string, keepalive int32, peers []wgtypes.PeerConfig) error {
ncutils.PrintLog("failed to start wgctrl", 0) ncutils.PrintLog("failed to start wgctrl", 0)
return err return err
} }
device, err := client.Device(iface) device, err := client.Device(iface)
if err != nil { if err != nil {
ncutils.PrintLog("failed to parse interface", 0) ncutils.PrintLog("failed to parse interface", 0)
@@ -174,7 +176,12 @@ func InitWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
return err return err
} }
// spin up userspace / windows interface + apply the conf file // spin up userspace / windows interface + apply the conf file
_ = RemoveConf(ifacename, false) // remove interface first d, _ := wgclient.Device(ifacename)
for d != nil && d.Name == ifacename {
_ = RemoveConf(ifacename, false) // remove interface first
time.Sleep(time.Second >> 2)
d, _ = wgclient.Device(ifacename)
}
err = ApplyConf(confPath) err = ApplyConf(confPath)
if err != nil { if err != nil {
ncutils.PrintLog("failed to create wireguard interface", 1) ncutils.PrintLog("failed to create wireguard interface", 1)

View File

@@ -3,7 +3,7 @@ package wireguard
import "github.com/gravitl/netmaker/netclient/ncutils" import "github.com/gravitl/netmaker/netclient/ncutils"
func ApplyWindowsConf(confPath string) error { func ApplyWindowsConf(confPath string) error {
if _, err := ncutils.RunCmd("wireguard.exe /installtunnelservice "+confPath, true); err != nil { if _, err := ncutils.RunCmd("wireguard.exe /installtunnelservice "+confPath, false); err != nil {
return err return err
} }
return nil return nil