mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-21 07:59:51 +08:00
logs, unused funcs, cleanup
This commit is contained in:
@@ -21,11 +21,11 @@ func GetCommands(cliFlags []cli.Flag) []*cli.Command {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if cfg.Network == "all" {
|
if cfg.Network == "all" {
|
||||||
err = errors.New("No network provided.")
|
err = errors.New("no network provided")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if cfg.Server.GRPCAddress == "" {
|
if cfg.Server.GRPCAddress == "" {
|
||||||
err = errors.New("No server address provided.")
|
err = errors.New("no server address provided")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = command.Join(cfg, pvtKey)
|
err = command.Join(cfg, pvtKey)
|
||||||
|
@@ -7,22 +7,13 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
nodepb "github.com/gravitl/netmaker/grpc"
|
|
||||||
"github.com/gravitl/netmaker/netclient/config"
|
"github.com/gravitl/netmaker/netclient/config"
|
||||||
"github.com/gravitl/netmaker/netclient/daemon"
|
"github.com/gravitl/netmaker/netclient/daemon"
|
||||||
"github.com/gravitl/netmaker/netclient/functions"
|
"github.com/gravitl/netmaker/netclient/functions"
|
||||||
"github.com/gravitl/netmaker/netclient/ncutils"
|
"github.com/gravitl/netmaker/netclient/ncutils"
|
||||||
"golang.zx2c4.com/wireguard/wgctrl"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
wgclient *wgctrl.Client
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
wcclient nodepb.NodeServiceClient
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Join - join command to run from cli
|
||||||
func Join(cfg config.ClientConfig, privateKey string) error {
|
func Join(cfg config.ClientConfig, privateKey string) error {
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
@@ -83,6 +74,7 @@ func getWindowsInterval() int {
|
|||||||
return interval
|
return interval
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RunUserspaceDaemon - runs continual checkins
|
||||||
func RunUserspaceDaemon() {
|
func RunUserspaceDaemon() {
|
||||||
|
|
||||||
cfg := config.ClientConfig{
|
cfg := config.ClientConfig{
|
||||||
@@ -91,13 +83,12 @@ func RunUserspaceDaemon() {
|
|||||||
interval := getWindowsInterval()
|
interval := getWindowsInterval()
|
||||||
dur := time.Duration(interval) * time.Second
|
dur := time.Duration(interval) * time.Second
|
||||||
for {
|
for {
|
||||||
if err := CheckIn(cfg); err != nil {
|
CheckIn(cfg)
|
||||||
// pass
|
|
||||||
}
|
|
||||||
time.Sleep(dur)
|
time.Sleep(dur)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CheckIn - runs checkin command from cli
|
||||||
func CheckIn(cfg config.ClientConfig) error {
|
func CheckIn(cfg config.ClientConfig) error {
|
||||||
//log.Println("checkin --- diabled for now")
|
//log.Println("checkin --- diabled for now")
|
||||||
//return nil
|
//return nil
|
||||||
@@ -141,6 +132,7 @@ func CheckIn(cfg config.ClientConfig) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Leave - runs the leave command from cli
|
||||||
func Leave(cfg config.ClientConfig) error {
|
func Leave(cfg config.ClientConfig) error {
|
||||||
err := functions.LeaveNetwork(cfg.Network)
|
err := functions.LeaveNetwork(cfg.Network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -151,6 +143,7 @@ func Leave(cfg config.ClientConfig) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Push - runs push command
|
||||||
func Push(cfg config.ClientConfig) error {
|
func Push(cfg config.ClientConfig) error {
|
||||||
var err error
|
var err error
|
||||||
if cfg.Network == "all" || ncutils.IsWindows() {
|
if cfg.Network == "all" || ncutils.IsWindows() {
|
||||||
@@ -177,6 +170,7 @@ func Push(cfg config.ClientConfig) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Pull - runs pull command from cli
|
||||||
func Pull(cfg config.ClientConfig) error {
|
func Pull(cfg config.ClientConfig) error {
|
||||||
var err error
|
var err error
|
||||||
if cfg.Network == "all" {
|
if cfg.Network == "all" {
|
||||||
@@ -203,11 +197,13 @@ func Pull(cfg config.ClientConfig) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// List - runs list command from cli
|
||||||
func List(cfg config.ClientConfig) error {
|
func List(cfg config.ClientConfig) error {
|
||||||
err := functions.List(cfg.Network)
|
err := functions.List(cfg.Network)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Uninstall - runs uninstall command from cli
|
||||||
func Uninstall() error {
|
func Uninstall() error {
|
||||||
ncutils.PrintLog("uninstalling netclient", 0)
|
ncutils.PrintLog("uninstalling netclient", 0)
|
||||||
err := functions.Uninstall()
|
err := functions.Uninstall()
|
||||||
|
@@ -82,14 +82,15 @@ func checkIP(node *models.Node, servercfg config.ServerConfig, cliconf config.Cl
|
|||||||
return ipchange && err == nil
|
return ipchange && err == nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func setDNS(node *models.Node, servercfg config.ServerConfig, nodecfg *models.Node) {
|
// DEPRECATED
|
||||||
if nodecfg.DNSOn == "yes" {
|
// func setDNS(node *models.Node, servercfg config.ServerConfig, nodecfg *models.Node) {
|
||||||
ifacename := node.Interface
|
// if nodecfg.DNSOn == "yes" {
|
||||||
nameserver := servercfg.CoreDNSAddr
|
// ifacename := node.Interface
|
||||||
network := node.Network
|
// nameserver := servercfg.CoreDNSAddr
|
||||||
local.UpdateDNS(ifacename, network, nameserver)
|
// network := node.Network
|
||||||
}
|
// local.UpdateDNS(ifacename, network, nameserver)
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
func checkNodeActions(node *models.Node, networkName string, servercfg config.ServerConfig, localNode *models.Node, cfg *config.ClientConfig) string {
|
func checkNodeActions(node *models.Node, networkName string, servercfg config.ServerConfig, localNode *models.Node, cfg *config.ClientConfig) string {
|
||||||
if (node.Action == models.NODE_UPDATE_KEY || localNode.Action == models.NODE_UPDATE_KEY) &&
|
if (node.Action == models.NODE_UPDATE_KEY || localNode.Action == models.NODE_UPDATE_KEY) &&
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
package functions
|
package functions
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
@@ -21,10 +19,6 @@ import (
|
|||||||
"google.golang.org/grpc/metadata"
|
"google.golang.org/grpc/metadata"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
|
||||||
wcclient nodepb.NodeServiceClient
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListPorts - lists ports of WireGuard devices
|
// ListPorts - lists ports of WireGuard devices
|
||||||
func ListPorts() error {
|
func ListPorts() error {
|
||||||
wgclient, err := wgctrl.New()
|
wgclient, err := wgctrl.New()
|
||||||
@@ -101,30 +95,31 @@ func getPrivateAddrBackup() (string, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !found {
|
if !found {
|
||||||
err := errors.New("Local Address Not Found.")
|
err := errors.New("local ip address not found")
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
return local, err
|
return local, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func needInterfaceUpdate(ctx context.Context, mac string, network string, iface string) (bool, string, error) {
|
// DEPRECATED
|
||||||
var header metadata.MD
|
// func needInterfaceUpdate(ctx context.Context, mac string, network string, iface string) (bool, string, error) {
|
||||||
req := &nodepb.Object{
|
// var header metadata.MD
|
||||||
Data: mac + "###" + network,
|
// req := &nodepb.Object{
|
||||||
Type: nodepb.STRING_TYPE,
|
// Data: mac + "###" + network,
|
||||||
}
|
// Type: nodepb.STRING_TYPE,
|
||||||
readres, err := wcclient.ReadNode(ctx, req, grpc.Header(&header))
|
// }
|
||||||
if err != nil {
|
// readres, err := wcclient.ReadNode(ctx, req, grpc.Header(&header))
|
||||||
return false, "", err
|
// if err != nil {
|
||||||
}
|
// return false, "", err
|
||||||
var resNode models.Node
|
// }
|
||||||
if err := json.Unmarshal([]byte(readres.Data), &resNode); err != nil {
|
// var resNode models.Node
|
||||||
return false, iface, err
|
// if err := json.Unmarshal([]byte(readres.Data), &resNode); err != nil {
|
||||||
}
|
// return false, iface, err
|
||||||
oldiface := resNode.Interface
|
// }
|
||||||
|
// oldiface := resNode.Interface
|
||||||
|
|
||||||
return iface != oldiface, oldiface, err
|
// return iface != oldiface, oldiface, err
|
||||||
}
|
// }
|
||||||
|
|
||||||
// GetNode - gets node locally
|
// GetNode - gets node locally
|
||||||
func GetNode(network string) models.Node {
|
func GetNode(network string) models.Node {
|
||||||
|
@@ -25,7 +25,7 @@ func SetIPForwarding() error {
|
|||||||
case "darwin":
|
case "darwin":
|
||||||
err = SetIPForwardingMac()
|
err = SetIPForwardingMac()
|
||||||
default:
|
default:
|
||||||
err = errors.New("This OS is not supported")
|
err = errors.New("this OS is not currently supported")
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@@ -2,7 +2,6 @@ package ncutils
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -17,8 +16,8 @@ func RunCmd(command string, printerr bool) (string, error) {
|
|||||||
cmd.Wait()
|
cmd.Wait()
|
||||||
out, err := cmd.CombinedOutput()
|
out, err := cmd.CombinedOutput()
|
||||||
if err != nil && printerr {
|
if err != nil && printerr {
|
||||||
log.Println("error running command:", command)
|
Log(fmt.Sprintf("error running command: %s", command))
|
||||||
log.Println(strings.TrimSuffix(string(out), "\n"))
|
Log(strings.TrimSuffix(string(out), "\n"))
|
||||||
}
|
}
|
||||||
return string(out), err
|
return string(out), err
|
||||||
}
|
}
|
||||||
@@ -33,9 +32,8 @@ func GetEmbedded() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateUserSpaceConf - creates a user space WireGuard conf
|
// CreateWireGuardConf - creates a user space WireGuard conf
|
||||||
func CreateUserSpaceConf(address string, privatekey string, listenPort string, mtu int32, dns string, perskeepalive int32, peers []wgtypes.PeerConfig) (string, error) {
|
func CreateWireGuardConf(address string, privatekey string, listenPort string, mtu int32, dns string, perskeepalive int32, peers []wgtypes.PeerConfig) (string, error) {
|
||||||
log.Println("---------- dns passed to create conf ", dns)
|
|
||||||
peersString, err := parsePeers(perskeepalive, peers)
|
peersString, err := parsePeers(perskeepalive, peers)
|
||||||
var listenPortString string
|
var listenPortString string
|
||||||
if mtu <= 0 {
|
if mtu <= 0 {
|
||||||
|
@@ -50,6 +50,9 @@ func CheckIn(network string) (*models.Node, error) {
|
|||||||
// == run client action ==
|
// == run client action ==
|
||||||
var header metadata.MD
|
var header metadata.MD
|
||||||
ctx, err := auth.SetJWT(wcclient, network)
|
ctx, err := auth.SetJWT(wcclient, network)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
nodeData, err := json.Marshal(&node)
|
nodeData, err := json.Marshal(&node)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -123,7 +126,7 @@ func GetPeers(macaddress string, network string, server string, dualstack bool,
|
|||||||
}
|
}
|
||||||
|
|
||||||
keepalive := nodecfg.PersistentKeepalive
|
keepalive := nodecfg.PersistentKeepalive
|
||||||
keepalivedur, err := time.ParseDuration(strconv.FormatInt(int64(keepalive), 10) + "s")
|
keepalivedur, _ := time.ParseDuration(strconv.FormatInt(int64(keepalive), 10) + "s")
|
||||||
keepaliveserver, err := time.ParseDuration(strconv.FormatInt(int64(5), 10) + "s")
|
keepaliveserver, err := time.ParseDuration(strconv.FormatInt(int64(5), 10) + "s")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Issue with format of keepalive value. Please update netconfig: %v", err)
|
log.Fatalf("Issue with format of keepalive value. Please update netconfig: %v", err)
|
||||||
|
@@ -149,9 +149,9 @@ func InitWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
|
|||||||
}
|
}
|
||||||
var newConf string
|
var newConf string
|
||||||
if node.UDPHolePunch != "yes" {
|
if node.UDPHolePunch != "yes" {
|
||||||
newConf, _ = ncutils.CreateUserSpaceConf(node.Address, key.String(), strconv.FormatInt(int64(node.ListenPort), 10), node.MTU, nameserver, node.PersistentKeepalive, peers)
|
newConf, _ = ncutils.CreateWireGuardConf(node.Address, key.String(), strconv.FormatInt(int64(node.ListenPort), 10), node.MTU, nameserver, node.PersistentKeepalive, peers)
|
||||||
} else {
|
} else {
|
||||||
newConf, _ = ncutils.CreateUserSpaceConf(node.Address, key.String(), "", node.MTU, nameserver, node.PersistentKeepalive, peers)
|
newConf, _ = ncutils.CreateWireGuardConf(node.Address, key.String(), "", node.MTU, nameserver, node.PersistentKeepalive, peers)
|
||||||
}
|
}
|
||||||
confPath := ncutils.GetNetclientPathSpecific() + ifacename + ".conf"
|
confPath := ncutils.GetNetclientPathSpecific() + ifacename + ".conf"
|
||||||
ncutils.PrintLog("writing wg conf file to: "+confPath, 1)
|
ncutils.PrintLog("writing wg conf file to: "+confPath, 1)
|
||||||
@@ -178,7 +178,6 @@ func InitWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if syncconf {
|
if syncconf {
|
||||||
log.Println("syncing conf")
|
|
||||||
err = SyncWGQuickConf(ifacename, confPath)
|
err = SyncWGQuickConf(ifacename, confPath)
|
||||||
} else {
|
} else {
|
||||||
d, _ := wgclient.Device(deviceiface)
|
d, _ := wgclient.Device(deviceiface)
|
||||||
|
@@ -1,21 +0,0 @@
|
|||||||
package wireguard
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os/exec"
|
|
||||||
|
|
||||||
"github.com/gravitl/netmaker/netclient/ncutils"
|
|
||||||
//homedir "github.com/mitchellh/go-homedir"
|
|
||||||
)
|
|
||||||
|
|
||||||
func setKernelDevice(ifacename string, address string) error {
|
|
||||||
ipExec, err := exec.LookPath("ip")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
_, _ = 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)
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
Reference in New Issue
Block a user