From e2ec093eafc0b475f48ea58ccd75bfa6d16115ad Mon Sep 17 00:00:00 2001 From: afeiszli Date: Thu, 15 Apr 2021 09:48:14 -0400 Subject: [PATCH] iptables now being set by client --- controllers/nodeHttpController.go | 4 +-- functions/helpers.go | 21 ++++++++++-- main.go | 1 + netclient/functions/.common.go.swp | Bin 0 -> 57344 bytes netclient/functions/common.go | 51 ++++++++++++++++++++++++++--- netclient/main.go | 1 + privatekey | 1 + publickey | 1 + serverctl/serverctl.go | 11 ++++--- 9 files changed, 78 insertions(+), 13 deletions(-) create mode 100644 netclient/functions/.common.go.swp create mode 100644 privatekey create mode 100644 publickey diff --git a/controllers/nodeHttpController.go b/controllers/nodeHttpController.go index 2e6af791..dfc6a33c 100644 --- a/controllers/nodeHttpController.go +++ b/controllers/nodeHttpController.go @@ -592,12 +592,12 @@ func createGateway(w http.ResponseWriter, r *http.Request) { nodechange.IsGateway = true nodechange.GatewayRange = gateway.RangeString if gateway.PostUp == "" { - nodechange.PostUp = "iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o " + gateway.Interface + " -j MASQUERADE" + nodechange.PostUp = "iptables -A FORWARD -i " + node.Interface + " -j ACCEPT; iptables -t nat -A POSTROUTING -o " + gateway.Interface + " -j MASQUERADE" } else { nodechange.PostUp = gateway.PostUp } if gateway.PostDown == "" { - nodechange.PostDown = "iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o " + gateway.Interface + " -j MASQUERADE" + nodechange.PostDown = "iptables -D FORWARD -i " + node.Interface + " -j ACCEPT; iptables -t nat -D POSTROUTING -o " + gateway.Interface + " -j MASQUERADE" } else { nodechange.PostDown = gateway.PostDown } diff --git a/functions/helpers.go b/functions/helpers.go index b7c5834a..4941c03f 100644 --- a/functions/helpers.go +++ b/functions/helpers.go @@ -25,7 +25,7 @@ import ( //node has that value for the same field within the network func CreateServerToken(netID string) (string, error) { - + fmt.Println("Creating token.") var network models.Network var accesskey models.AccessKey @@ -43,8 +43,23 @@ func CreateServerToken(netID string) (string, error) { } address := "localhost" + gconf.PortGRPC - accessstringdec := address + "." + netID + "." + accesskey.Value - accesskey.AccessString = base64.StdEncoding.EncodeToString([]byte(accessstringdec)) + privAddr := "" + if *network.IsLocal { + privAddr = network.LocalRange + } + + + fmt.Println("Token details:") + fmt.Println(" grpc address + port: " + address) + fmt.Println(" network: " + netID) + fmt.Println(" private range: " + privAddr) + + accessstringdec := address + "|" + netID + "|" + accesskey.Value + "|" + privAddr + + accesskey.AccessString = base64.StdEncoding.EncodeToString([]byte(accessstringdec)) + + fmt.Println(" access string: " + accesskey.AccessString) + network.AccessKeys = append(network.AccessKeys, accesskey) diff --git a/main.go b/main.go index 37029012..127f9fe6 100644 --- a/main.go +++ b/main.go @@ -63,6 +63,7 @@ func main() { log.Println("Server starting...") mongoconn.ConnectDatabase() + installserver := false if !(defaultnet == "off") { if config.Config.Server.CreateDefault { diff --git a/netclient/functions/.common.go.swp b/netclient/functions/.common.go.swp new file mode 100644 index 0000000000000000000000000000000000000000..bdcb4db8f9bb4ae02618d6083ef1283f5bb308a7 GIT binary patch literal 57344 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 " + newinterface) - err := DeleteInterface(currentiface) + err := DeleteInterface(currentiface, nodecfg.PostDown) if err != nil { fmt.Println("ERROR DELETING INTERFACE: " + currentiface) } @@ -1206,12 +1235,19 @@ func WipeLocal(network string) error{ if err != nil { fmt.Println(err) } + if nodecfg.PostDown != "" { + runcmds := strings.Split(nodecfg.PostDown, "; ") + err = runCmds(runcmds) + if err != nil { + fmt.Println("Error encountered running PostDown: " + err.Error()) + } + } } return err } -func DeleteInterface(ifacename string) error{ +func DeleteInterface(ifacename string, postdown string) error{ ipExec, err := exec.LookPath("ip") cmdIPLinkDel := &exec.Cmd { @@ -1224,6 +1260,13 @@ func DeleteInterface(ifacename string) error{ if err != nil { fmt.Println(err) } + if postdown != "" { + runcmds := strings.Split(postdown, "; ") + err = runCmds(runcmds) + if err != nil { + fmt.Println("Error encountered running PostDown: " + err.Error()) + } + } return err } diff --git a/netclient/main.go b/netclient/main.go index 4f42658c..86247f09 100644 --- a/netclient/main.go +++ b/netclient/main.go @@ -110,6 +110,7 @@ func main() { fmt.Println("Beginning agent installation.") err := functions.Install(*taccesskey, *tpassword, *tserver, *tnetwork, *tnoauto, *taccesstoken, *tname) if err != nil { + fmt.Println("Error encountered while installing.") if !strings.Contains(err.Error(), "ALREADY_INSTALLED") { fmt.Println("Error installing: ", err) fmt.Println("Cleaning up (uninstall)") diff --git a/privatekey b/privatekey new file mode 100644 index 00000000..1ac52884 --- /dev/null +++ b/privatekey @@ -0,0 +1 @@ +wMb6dxHPNJqQd8GbwfLN8HPLiJYEl1uJtEls5hRoD10= diff --git a/publickey b/publickey new file mode 100644 index 00000000..93109eb4 --- /dev/null +++ b/publickey @@ -0,0 +1 @@ +/FdO9q+Bs3ee/NVbtKwMhSmFj4AyyjmlOrujzaBoenE= diff --git a/serverctl/serverctl.go b/serverctl/serverctl.go index f68ba846..3f842aa4 100644 --- a/serverctl/serverctl.go +++ b/serverctl/serverctl.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/gravitl/netmaker/functions" "io" + "errors" "net/http" "os" "os/exec" @@ -56,11 +57,13 @@ func AddNetwork(network string) (bool, error) { fmt.Println("could not find or create /etc/netclient") return false, err } + fmt.Println("Directory is ready.") token, err := functions.CreateServerToken(network) if err != nil { fmt.Println("could not create server token for " + network) return false, err } + fmt.Println("Token is ready.") _, err = os.Stat("/etc/netclient/netclient") if os.IsNotExist(err) { err = DownloadNetclient() @@ -74,12 +77,12 @@ func AddNetwork(network string) (bool, error) { fmt.Println("could not change netclient directory permissions") return false, err } - cmdoutput, err := exec.Command("/etc/netclient/netclient","-c","install","-t",token,"-name","netmaker").Output() + fmt.Println("Client is ready. Running install.") + out, err := exec.Command("/etc/netclient/netclient","-c","install","-t",token,"-name","netmaker").Output() + fmt.Println(string(out)) if err != nil { - fmt.Println(string(cmdoutput)) - return false, err + return false, errors.New(string(out) + err.Error()) } - fmt.Println(string(cmdoutput)) fmt.Println("Server added to network " + network) return true, err }