Browse Source

starting userspace

afeiszli 3 years ago
parent
commit
b024e249c7
2 changed files with 10 additions and 4 deletions
  1. 4 2
      netclient/local/local.go
  2. 6 2
      netclient/main.go

+ 4 - 2
netclient/local/local.go

@@ -7,7 +7,7 @@ import (
 	"net"
 	"net"
 	"runtime"
 	"runtime"
 	"strings"
 	"strings"
-
+	"os/exec"
 	"github.com/gravitl/netmaker/netclient/ncutils"
 	"github.com/gravitl/netmaker/netclient/ncutils"
 )
 )
 
 
@@ -54,7 +54,9 @@ func SetIPForwardingMac() error {
 func IsWGInstalled() bool {
 func IsWGInstalled() bool {
 	out, err := ncutils.RunCmd("wg help", true)
 	out, err := ncutils.RunCmd("wg help", true)
 	if err != nil {
 	if err != nil {
-		return false
+		_, err1 := exec.LookPath("wireguard-go")
+		_, err2 := exec.LookPath("boringtun")
+		return err1 == nil || err2 == nil
 	}
 	}
 	return strings.Contains(out, "Available subcommand")
 	return strings.Contains(out, "Available subcommand")
 }
 }

+ 6 - 2
netclient/main.go

@@ -342,8 +342,12 @@ func main() {
 
 
 		_, err = exec.LookPath("wg")
 		_, err = exec.LookPath("wg")
 		if err != nil {
 		if err != nil {
-			log.Println(err)
-			log.Fatal("WireGuard not installed. Please install WireGuard (wireguard-tools) and try again.")
+			userspace := os.Getenv("WG_QUICK_USERSPACE_IMPLEMENTATION")
+			if userspace == "" {
+				log.Println(err)
+				log.Fatal("WireGuard not installed. Please install WireGuard (wireguard-tools) and try again.")
+			}
+			ncutils.PrintLog("Running with userspace wireguard: "+userspace, 0)
 		}
 		}
 	}
 	}
 	if !ncutils.IsKernel() {
 	if !ncutils.IsKernel() {