diff --git a/Dockerfile b/Dockerfile index 49d64a52..33e782ff 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,9 @@ RUN apk add build-base WORKDIR /app COPY . . ENV GO111MODULE=auto -RUN GOOS=linux CGO_ENABLED=1 go build -ldflags="-s -X 'main.version=$version'" -o netmaker main.go + +# RUN GOOS=linux CGO_ENABLED=1 go build -ldflags="-s -X 'main.version=$version'" -o netmaker main.go +RUN GOOS=linux CGO_ENABLED=1 go build -tags debug -ldflags="-s -X 'main.version=$version'" -o netmaker main.go FROM alpine:3.13.6 # add a c lib RUN apk add gcompat iptables diff --git a/netclient/functions/common.go b/netclient/functions/common.go index 88f36582..a5c60696 100644 --- a/netclient/functions/common.go +++ b/netclient/functions/common.go @@ -216,6 +216,8 @@ func LeaveNetwork(network string) error { _, _ = ncutils.RunCmd("route delete "+ip+" mask "+mask+" "+node.Address, true) } else if ncutils.IsFreeBSD() { _, _ = ncutils.RunCmd("route del -net "+node.NetworkSettings.AddressRange+" -interface "+node.Interface, true) + } else if ncutils.IsLinux() { + _, _ = ncutils.RunCmd("ip -4 route del "+node.NetworkSettings.AddressRange+" dev "+node.Interface, false) } return RemoveLocalInstance(cfg, network) } diff --git a/netclient/wireguard/common.go b/netclient/wireguard/common.go index ec7c0cc5..4a768f3a 100644 --- a/netclient/wireguard/common.go +++ b/netclient/wireguard/common.go @@ -296,9 +296,11 @@ func InitWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig } } - //extra network route setting required for freebsd and windows + //extra network route setting if ncutils.IsFreeBSD() { _, _ = ncutils.RunCmd("route add -net "+nodecfg.NetworkSettings.AddressRange+" -interface "+ifacename, true) + } else if ncutils.IsLinux() { + _, _ = ncutils.RunCmd("ip -4 route add "+nodecfg.NetworkSettings.AddressRange+" dev "+ifacename, false) } return err