Giter Club home page Giter Club logo

gravitl / netmaker Goto Github PK

View Code? Open in Web Editor NEW
9.0K 9.0K 530.0 268.37 MB

Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.

Home Page: https://netmaker.io

License: Other

Dockerfile 0.05% Go 90.93% Shell 9.02%
cloud devsecops k8s kubernetes mesh network networking security self-hosted virtual-network virtual-networking vpn vpn-server wg-quick wireguard wireguard-ui wireguard-vpn zero-trust

netmaker's People

Contributors

0xdcarns avatar abhishek9686 avatar aceix avatar afeiszli avatar alphadose avatar belphemur avatar bsherman avatar calebgasser avatar cameronts avatar chaychoong avatar dependabot[bot] avatar exchizz avatar gabrielseibel1 avatar git-sgmoore avatar jonathanbouligny avatar k4s0 avatar mattkasun avatar oycol avatar pete1019 avatar restanrm avatar shan100github avatar t4ke0 avatar theguy951357 avatar tobiaszcudnik avatar ugifarukh avatar vertextoedge avatar walkerwmanuel avatar yabinma avatar yearski avatar yunginnanet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

netmaker's Issues

Non-Docker install - how to interpret the errors output by: journalctl -u netmaker

Still following the Non-Docker installation.

Any idea what "might" be causing the error provided by - journalctl -u netmaker

I know the userID and password are correctly entered.

thanks

$ sudo journalctl -u netmaker
shows... (snippet)

-- Logs begin at Sat 2021-04-17 10:44:40 EDT, end at Thu 2021-04-22 09:54:30 EDT. --
Apr 21 12:06:35 w540 systemd[1]: Started Netmaker Server.
Apr 21 12:06:35 w540 netmaker[7106]: 2021/04/21 12:06:35 Server starting...
Apr 21 12:06:35 w540 netmaker[7106]: 2021/04/21 12:06:35 Database connecting...
Apr 21 12:06:40 w540 systemd[1]: Stopping Netmaker Server...
Apr 21 12:06:40 w540 systemd[1]: netmaker.service: Succeeded.
Apr 21 12:06:40 w540 systemd[1]: Stopped Netmaker Server.
Apr 21 12:06:40 w540 systemd[1]: Started Netmaker Server.
Apr 21 12:06:40 w540 netmaker[7120]: 2021/04/21 12:06:40 Server starting...
Apr 21 12:06:40 w540 netmaker[7120]: 2021/04/21 12:06:40 Database connecting...
Apr 21 12:07:10 w540 netmaker[7120]: 2021/04/21 12:07:10 server selection error: server selection timeout, current topology: { Type: Unknown, Servers: [{ Addr: localhost:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: connection() : dial tcp 127.0..0.1:27017: connect: connection refused }, ] }

Apr 21 12:07:10 w540 systemd[1]: netmaker.service: Main process exited, code=exited, status=1/FAILURE
Apr 21 12:07:10 w540 systemd[1]: netmaker.service: Failed with result 'exit-code'.
Apr 21 12:07:11 w540 systemd[1]: netmaker.service: Scheduled restart job, restart counter is at 1.
Apr 21 12:07:11 w540 systemd[1]: Stopped Netmaker Server.

MongoDB is listening on port 27017

$ sudo lsof -i -P -n | grep LISTEN
systemd-r  881 systemd-resolve   13u  IPv4  34855      0t0  TCP 127.0.0.53:53 (LISTEN)
cupsd      934            root    6u  IPv6  37929      0t0  TCP [::1]:631 (LISTEN)
cupsd      934            root    7u  IPv4  37930      0t0  TCP 127.0.0.1:631 (LISTEN)
mongod    1013         mongodb   11u  IPv4  36746      0t0  TCP 127.0.0.1:27017 (LISTEN)
sshd      1051            root    3u  IPv4  35210      0t0  TCP *:22 (LISTEN)
sshd      1051            root    4u  IPv6  35212      0t0  TCP *:22 (LISTEN)

Trying to install Client Mode - youtube video says Netmaker in client mode doesn't use Docker??

I want to try Netmaker out across multiple clouds to interconnect LXD (system not app containers) containers.

The Youtube video at the 2:25 mark describes Client Mode doesn't use Docker (which is what I want ! ).

My system is Ubuntu 20.04.

I tried to install netmaker using the script Alex mentions in the video:
https://www.youtube.com/watch?v=krCKBJhwwDk&t=51s

sudo curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.2/netmaker-install-clientmode.sh | sudo SERVER_DOMAIN=< myIP > sh -

However, when I run this I get an error:

$ sudo curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.2/netmaker-install-clientmode.sh | sudo SERVER_DOMAIN=192.168.1.241 sh -
[sudo] password for bmullan:
sh: 7: docker: not found

The script outputs some other docker related error messages and completes

However, Netmaker does not get installed and I can't access the Web UI
http

The above curl command does specify Netmaker v0.2

So I looked at the Source on Github for:

https://github.com/gravitl/netmaker/blob/master/netmaker-install-clientmode.sh

and the very last line still uses Docker?

docker run -d --name netmaker-ui -p 80:80 -e BACKEND_URL="http://$SERVER_DOMAIN:8081" gravitl/netmaker-ui:v0.2

If I install Docker then run the "netmaker-install-clienmode.sh" it works? But the video said client-mode doesn't use Docker ?

How do I install client mode w/out Docker use or is there a bug w/some artifact in the client-mode script referencing Docker still ?

Thanks
Brian

Cannot docker into lxc instance

I cannot install netmaker through the docker-composer into lxc instance, every time i get these errors:

Starting mongodb ... error

ERROR: for mongodb Cannot start service mongodb: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused "rootfs_linux.go:58: mounting \"proc\" to rootfs \"/var/snap/docker/common/var-lib-docker/overlay2/2c57334a4eefe5643b04ad0c34a349b75f3651f4a0a5c8bc10661e01f06bb072/merged\" at \"/proc\" caused \"permission denied\""": unknown

ERROR: for mongodb Cannot start service mongodb: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused "rootfs_linux.go:58: mounting \"proc\" to rootfs \"/var/snap/docker/common/var-lib-docker/overlay2/2c57334a4eefe5643b04ad0c34a349b75f3651f4a0a5c8bc10661e01f06bb072/merged\" at \"/proc\" caused \"permission denied\""": unknown
ERROR: Encountered errors while bringing up the project.

Updating Node Address

Updating node address does not get applied.

new node address is validated, but in UpdateNode the updated address is not included in the update struct (line 197-216)

Installing two groups on single host

I think this is a valid use case, i.e. one network for main job and a second network for a side gig or personal use.

  • Group1 - wirecat 10.100.100.0/24 endpoint 5555 interface wc-wirecat
  • Group2 - skylink 192.168.1.0/24 endpoint 5000 interface skylink

installing the second group goes smoothly and does not cause any errors, however the installation is messed up.
The interface for the second group is not picked up correctly.
The interface in /etc/netclient/.netconfig remains as wc-wirecat.

root@aws:/etc/netclient# cat .netconfig 
server:
   address: 10.0.0.2:50051
   accesskey: 31bg2X7gVaE0oEKa
node:
   name: node-rp0lm
   interface: wc-wirecat
   group: skylink
   password: $2a$05$nBaRG3y4rcM4/yWtBCYRm.UWAjxCj8e9S6sMT80ysJAMO3CMM8jhe
   macaddress: 0a:fb:bb:72:12:92
   localaddress: 172.31.45.113
   wgaddress: 192.168.1.2
   roamingoff: false
   postup: ""
   preup: ""
   port: 5555
   keepalive: 20
   publickey: aeWeT9TRmXmuRS/916+nC4yyUTkCWwBzs9VtDE8rbgM=
   privatekey: ""
   endpoint: 18.224.213.149
   postchanges: "false"

As a result a second ip address is added to the wirecat tunnel.

19: wc-wirecat: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none 
    inet 10.100.100.3/24 scope global wc-wirecat
       valid_lft forever preferred_lft forever
    inet 192.168.1.2/24 scope global wc-wirecat
       valid_lft forever preferred_lft forever

connection on the second network is possible

root@aws:/etc/netclient# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=19.5 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=19.3 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=19.1 ms
^C
--- 192.168.1.1 ping statistics ---
9 packets transmitted, 3 received, 66.6667% packet loss, time 8123ms
rtt min/avg/max/mdev = 19.133/19.331/19.519/0.157 ms

but not on the first, as the wg keys are incorrect(ie they are for the second network)

root@aws:/etc/netclient# ping 10.100.100.1
PING 10.100.100.1 (10.100.100.1) 56(84) bytes of data.
From 10.100.100.3 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Required key not available
From 10.100.100.3 icmp_seq=2 Destination Host Unreachable
ping: sendmsg: Required key not available
^C
--- 10.100.100.1 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1025ms

Bandwidth consumption for each peer

Request for bandwidth consumption for each peer and total consumption hour/day/week/months

For bandwidth consumption use cases where some of the providers didn't provide basic vnstat or equivalent to that to monitor bandwidth usage. That would be a nice addition to the project too.

Expiring peer or timer/expiring functions for Peer

Expiring peer. Add timer/expiring functions to peer (somewhat like OpenVPN expiring clients maybe?)

Use cases for expiring peer functions would be in a situation 
where i'd like to add peer for my office mate and let just say that he/she is a temporary staff 
working on a project for about 3 months. I would really like some automated script/panel to automatically 
remove the config lines without having manually logged in and delete the peer.

non-docker install ENV.yaml or dev.yaml?

source:
https://github.com/gravitl/netmaker/blob/master/docs/USAGE.md

In Non-Docker Installation
it says
under Server Setup

If any settings are incorrect such as host or mongo credentials, change them under /etc/netmaker/config/environments/ENV.yaml and then run sudo systemctl restart netmaker

On my install in Non-Docker mode I do not have a file named ENV.yaml
but I do have one named dev.yaml: ??

$ more dev.yaml
server:
host:
apiport: "8081"
grpcport: "50051"
masterkey: "secretkey"
allowedorigin: "*"
restbackend: true
agentbackend: true
defaultnetname: "default"
defaultnetrange: "10.10.10.0/24"
createdefault: true
mongoconn:
user: "mongoadmin"
pass: "mongopass"
host: "localhost"
port: "27017"
opts: '/?authSource=admin'

Which do I need to use? If ENV.yaml really is supposed to have been created... I will have to figure out why it wasn't.

Brian

Netclient must be installed from home directory.

Netclient executable must be in users home dir for first install otherwise installation aborts as the executable can't be found.

configuring WG device
2021/03/26 06:25:07 stat /root/netclient: no such file or directory
Error installing:  stat /root/netclient: no such file or directory
Cleaning up (uninstall)

install_failure.txt

In section labeled Pre-Reqs it talks about viewing the Advanced Usage docs to install w/out Docker?

In the section labeled Pre-Reqs it says...
**

Install Docker (can run without Docker as well, but is not preferred. If this is a requirement, view the Advanced Usage docs).
**
i intend to try Netmaker with LXD containers (re system not application containers) so although I can run Docker I try not to when possible.

So when it mentions Advanced Usage docs where do I find those?

Under Roadmaps it lists "Advanced Usage docs" ... but those sound like a "future' effort?

thanks
Brian

Docker-Compose File assumes local deployment

The docker-compose.yml has BACKEND_URL set to
http://localhost:8081 for netmaker-ui

This works for local deployment. For a remote deployment this has to be updated to the public ip (or FQDN) of the remote machine.

The BACKEND_URL should be set to the name of the netmaker container(or docker network ip), but this results in CORS violations and error message in netmaker-ui
Incorrect backend detected. Please specify correct URL and refresh. Given: http://netmaker:8081

Group Key API

  • Update group returns previous group setting, not updated values
  • Invalid group updates return http.StatusOK
  • Group updates which fail mongo field validation return http.StatusOK

Node Editing in UI

The following fields appear to be editable in the UI but if changes are made and saved, the values revert back:
applicable to:

  1. Default Listen Port
  2. Default KeepAlive

If these fields are not editable, they should be non-editable in the GUI like NodeLastModified and GroupLastModified

EZ multinet implementation

We dont have to change the whole model for multiple networks per node.
should be pretty easy to do. Just:

  1. make sure that node uniqueness is only qualified at the network level, except that
  2. Check to make sure node is not added to conflicting subnet
  3. Each time install script is run:
    3a. append network name to config/token file
    3b. enforce group selection on client running
    3c. Avoid conflicts on ports
    3d. Cycle through networks in systemd

Pulling netmaker-ui (gravitl/netmaker-ui:v0.1)... ERROR: Get https://registry-1.docker.io/v2/gravitl/netmaker-ui/manifests/v0.1: Get https://auth.docker.io/token?scope=repository%3Agravitl%2Fnetmaker-ui%3Apull&service=registry.docker.io: EOF

I get this error when running docker-compose up

Pulling netmaker-ui (gravitl/netmaker-ui:v0.1)...
ERROR: Get https://registry-1.docker.io/v2/gravitl/netmaker-ui/manifests/v0.1: Get https://auth.docker.io/token?scope=repository%3Agravitl%2Fnetmaker-ui%3Apull&service=registry.docker.io: EOF

Hub/Concentrator (Wireguard support)

Might be worth looking into provisioning a Hub/Concentrator, whilst full mesh is nice there are instances where it might not work (Esp with NAT/Firewalls in the way)

If the allow list on the peers is setup correctly and forwarding is enabled on the "Hub/concentrator" then it should be possible to generate a hybrid setup where you could for instance have servers in a mesh but a client gateway, It should then be possible to generate a static config for the standard wireguard client for things like windows/mobile clients.

netclient-install.sh failed

OS: ubuntu 20.04 x64

netclient is a folder already exists , so the script won't get the netclient binary.

chchang@dc039:~/git/netmaker$ curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.1/netclient-install.sh |SERVER_URL=ws.abc.com:50051 NET_NAME=TEST_VPN KEY=abcdefg sh -
netclient: 是個目錄 <---it means netclient is a folder 

so I temporary rename the netclient folder and run the install script again , but there are some other error messages

chchang@dc039:~/git/netmaker$ mv netclient netclient.bak
chchang@dc039:~/git/netmaker$ curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.1/netclient-install.sh |SERVER_URL=ws.abc.com:50051 NET_NAME=TEST_VPN KEY=abcdefg sh -
--2021-03-31 09:33:00--  https://github.com/gravitl/netmaker/releases/download/v0.1/netclient
...
...
...

netclient                        100%[========================================================>]  13.75M  10.2MB/s    於 1.3s    

2021-03-31 09:33:04 (10.2 MB/s) - 已儲存 `netclient' [14421311/14421311]

Beginning agent installation.
SERVER SETTINGS:
     Server: ws.abc.com:50051
     AccessKey: abcdefg
Writing to existing config file at /etc/netclient/.netconfig
NODE REQUESTING SETTINGS:
     Password: changeme
     Group: TEST_VPN
     Public Endpoint: 1.1.1.1
     Local Address: 192.168.11.39
     Name: 
     Interface: 
     KeepAlive: 
     Port: 
     Mac Address: 10:bf:48:d6:0c:96
     Private Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
     Public Key: agIbVtXcxWJclz8zui59+h9XqSSBsUI5jvBjYk9XnE8=
Writing node settings to netconfig file.
Error installing:  rpc error: code = Unknown desc = Key: 'Node.Group' Error:Field validation for 'Group' failed on the 'group_exists' tag
Cleaning up (uninstall)
Deleting remote node with MAC: 10:bf:48:d6:0c:96
Authenticating with GRPC Server
Error reading token. Logging in to retrieve new token.
2021/03/31 09:33:06 Failed to authenticate: rpc error: code = Unauthenticated desc = Something went wrong with Auto Login: rpc error: code = Unknown desc = mongo: no documents in result
remove /etc/netclient/.nettoken: no such file or directory
Failed to stop netclient.service: Unit netclient.service not loaded.
Error stopping netclient.service. Please investigate.
exit status 5
Failed to disable unit: Unit file netclient.service does not exist.
Error disabling netclient.service. Please investigate.
exit status 1
Failed to stop netclient.timer: Unit netclient.timer not loaded.
Error stopping netclient.timer. Please investigate.
exit status 5
Failed to disable unit: Unit file netclient.timer does not exist.
Error disabling netclient.timer. Please investigate.
exit status 1
Error removing file. Please investigate.
remove /etc/systemd/system/netclient.timer: no such file or directory
Please investigate any stated errors to ensure proper removal.Failure to delete node from server via gRPC will mean node still exists and needs to be manually deleted by administrator.chchang@dc039:~/git/netmaker$ 
chchang@dc039:~/git/netmaker$ 

Installer should check for

If netclient is already installed, agent should prevent re-install or ask user if they would like to reinstall.

prereq and sudo check

not running with sudo or with wg will cause issue. Ditto for ip forwarding (sometimes. This should just issue warning). Need to create "prereq check" so that it runs properly.

https vs http for netmaker

All of the netmaker info I've read talks about using "http" to reach the UI for instance.

Both Chrome & Firefox are moving more to an "https-only" mode.

Does netmaker support https already?

Node hash password not the same

Sometimes things go wrong with checkin. It tries checking in with password and the "hashed password" does not match what's in the DB. Need to investigate why this might happen.

Access Key API

  • Duplicate access keys with same name can be created. Deleting key deletes all keys with same name
  • Deleting access key does not return mongo.DeleteResullt
  • Deleting non-existent access key returns http.StatusOK

API Naming Schema can cause conflicts

If you have a group named "groups" this will break the API

If you have a user named "authenticate" or "hasadmin" this will break the API

Backend should either not allow these names, or the schema should change.

hidden files in /etc/netclient

It is very unusual to have hidden files in /etc
Suggest .netconfig and .nettoken change to netconfig and nettoken

kasun@aws~/sandbox/netmaker/netclient> sudo find /etc/ -name "\.*" -print
/etc/cron.daily/.placeholder
/etc/cron.hourly/.placeholder
/etc/.pwd.lock
/etc/cron.monthly/.placeholder
/etc/netclient/.netconfig
/etc/netclient/.nettoken
/etc/cron.d/.placeholder
/etc/cron.weekly/.placeholder
/etc/skel/.bash_logout
/etc/skel/.bashrc
/etc/skel/.profile

It is also unusual to have an executable (netclient) in /etc in addition to the one in /usr/local/bin

Handle Node Invalidation Better

If a node is deleted from the network, two things should happen:

  1. All nodes should have a "key refresh" triggered
  2. On next checkin with server, node should receive signal to wipe local installation

Panic when deleting a non-existance admin (either one that has already been deleted or one that never existed)

deleting a non-existent admin results in a panic. The panic doesn't crash, i.e. backend recovers and tool is still usable.
Should add error handling instead of panic.

mkasun@firefly:~/sandbox/netmaker$ go run . &
[1] 16186
mkasun@firefly:~/sandbox/netmaker$ 2021/03/28 17:45:05 Server starting...
2021/03/28 17:45:05 Database connecting...
2021/03/28 17:45:05 Database Connected.
REST Server succesfully started on port 8081 (REST)
Agent Server succesfully started on port :50051 (gRPC)
deleteWrongAdmin.sh 
2021/03/28 17:45:13 server.go:3139: http: panic serving 127.0.0.1:53442: runtime error: invalid memory address or nil pointer dereference
goroutine 23 [running]:
net/http.(*conn).serve.func1(0xc0003ed5e0)
	/snap/go/7221/src/net/http/server.go:1824 +0x153
panic(0xcd3300, 0x13f7500)
	/snap/go/7221/src/runtime/panic.go:971 +0x499
github.com/gravitl/netmaker/controllers.deleteUser(0xfc3630, 0xc00039a1c0, 0xc0002dee00)
	/home/mkasun/sandbox/netmaker/controllers/userHttpController.go:448 +0x189
net/http.HandlerFunc.ServeHTTP(0xde7928, 0xfc3630, 0xc00039a1c0, 0xc0002dee00)
	/snap/go/7221/src/net/http/server.go:2069 +0x44
github.com/gravitl/netmaker/controllers.authorizeUser.func1(0xfc3630, 0xc00039a1c0, 0xc0002dee00)
	/home/mkasun/sandbox/netmaker/controllers/userHttpController.go:175 +0x1f0
net/http.HandlerFunc.ServeHTTP(0xc00000eff0, 0xfc3630, 0xc00039a1c0, 0xc0002dee00)
	/snap/go/7221/src/net/http/server.go:2069 +0x44
github.com/gorilla/mux.(*Router).ServeHTTP(0xc0001029c0, 0xfc3630, 0xc00039a1c0, 0xc0002dec00)
	/home/mkasun/go/pkg/mod/github.com/gorilla/[email protected]/mux.go:210 +0xd3
github.com/gorilla/handlers.(*cors).ServeHTTP(0xc0003bcea0, 0xfc3630, 0xc00039a1c0, 0xc0002dec00)
	/home/mkasun/go/pkg/mod/github.com/gorilla/[email protected]/cors.go:54 +0x103e
net/http.serverHandler.ServeHTTP(0xc00039a0e0, 0xfc3630, 0xc00039a1c0, 0xc0002dec00)
	/snap/go/7221/src/net/http/server.go:2887 +0xa3
net/http.(*conn).serve(0xc0003ed5e0, 0xfc4300, 0xc0003da340)
	/snap/go/7221/src/net/http/server.go:1952 +0x8cd
created by net/http.(*Server).Serve
	/snap/go/7221/src/net/http/server.go:3013 +0x39b
curl: (52) Empty reply from server
mkasun@firefly:~/sandbox/netmaker$ cat ~/bin/deleteWrongAdmin.sh 
#!/bin/bash

curl -X DELETE -H "authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJc0FkbWluIjp0cnVlLCJVc2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNjE2Nzg5ODg1fQ.YwzicKnNZ4GtnyYdzF90gSt_efy6MVNLQ1PLNuBQfOM" -H "Content-Type: application/json"  http://localhost:8081/users/xxxx -D 

mkasun@firefly:~/sandbox/netmaker$ cat ~/bin/deleteNoAdmin.sh 
#!/bin/bash

curl -X DELETE -H "authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJc0FkbWluIjp0cnVlLCJVc2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNjE2Nzg5ODg1fQ.YwzicKnNZ4GtnyYdzF90gSt_efy6MVNLQ1PLNuBQfOM" -H "Content-Type: application/json"  http://localhost:8081/users/admin -D -

curl -X DELETE -H "authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJJc0FkbWluIjp0cnVlLCJVc2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNjE2Nzg5ODg1fQ.YwzicKnNZ4GtnyYdzF90gSt_efy6MVNLQ1PLNuBQfOM" -H "Content-Type: application/json"  http://localhost:8081/users/admin -D -


during agent installation using the "agent install command with access token" I end up w config using my Router's Public IP address

Note: the IP address 45.37.56.251 is the PUBLIC IP of my cable/wifi router ???

As I did not enter that IP something in one of the scripts detected that IP and decided
to put it into the Config ??

Decoded values from token:
Server: 45.37.56.251:50051

I see this...

Your Access Key:
KSzrMxq4mn3Ceqfk

Your Access Token:
NDUuMzcuNTYuMjUxOjUwMDUxfGRlZmF1bHR8S1N6ck14cTRtbjNDZXFma3w=

Please save your key as you will be unable to access it again.

Your agent install command with access token:
sudo curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.2/netclient-install.sh | KEY=NDUuMzcuNTYuMjUxOjUwMDUxfGRlZmF1bHR8S1N6ck14cTRtbjNDZXFma3w= sh -

I get this error when the above command is executed:

sudo curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.2/netclient-install.sh | KEY=NDUuMzcuNTYuMjUxOjUwMDUxfGRlZmF1bHR8S1N6ck14cTRtbjNDZXFma3w= sh -
--2021-04-22 13:08:47-- https://github.com/gravitl/netmaker/releases/download/latest/netclient
Resolving github.com (github.com)... 140.82.112.4
Connecting to github.com (github.com)|140.82.112.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/351486934/da310280-a151-11eb-9ffc-4bd56b2c3b8b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210422%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210422T170847Z&X-Amz-Expires=300&X-Amz-Signature=2588fe6c43e34073c5dcf7f6fc6258a52895a3a4a9678445d1df4140188e6b54&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=351486934&response-content-disposition=attachment%3B%20filename%3Dnetclient&response-content-type=application%2Foctet-stream [following]
--2021-04-22 13:08:47-- https://github-releases.githubusercontent.com/351486934/da310280-a151-11eb-9ffc-4bd56b2c3b8b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210422%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210422T170847Z&X-Amz-Expires=300&X-Amz-Signature=2588fe6c43e34073c5dcf7f6fc6258a52895a3a4a9678445d1df4140188e6b54&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=351486934&response-content-disposition=attachment%3B%20filename%3Dnetclient&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.110.154, 185.199.109.154, 185.199.108.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.110.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14192920 (14M) [application/octet-stream]
Saving to: ‘netclient’

netclient 100%[==========================================================================>] 13.54M 19.8MB/s in 0.7s

2021-04-22 13:08:48 (19.8 MB/s) - ‘netclient’ saved [14192920/14192920]

Beginning agent installation.

Decoded values from token:
Server: 45.37.56.251:50051
Network: default
Key: KSzrMxq4mn3Ceqfk
Local Range: Not a local network. Will use public address for endpoint.
SERVER SETTINGS:
Server: 45.37.56.251:50051
AccessKey: KSzrMxq4mn3Ceqfk
Writing to existing config file at /etc/netclient/netconfig-default
NODE REQUESTING SETTINGS:
Password: changeme
Network: default
Local Address: 192.168.1.241
Endpoint set in config. Setting to address: 45.37.56.251
Endpoint: 45.37.56.251
Name:
Interface:
PostUp:
PostDown:
KeepAlive:
Port: 51821
Mac Address: 54:ee:75:0c:53:4c
Private Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
Public Key: ghs9HOhGiwO2BUeb8bLxp79igA/NzrBqLTyx0Sp75jM=
Writing node settings to netconfig file.
Error encountered while installing.
Error installing: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 45.37.56.251:50051: connect: connection refused"
Cleaning up (uninstall)
Error uninstalling: open /etc/netclient/netconfig-nonetwork: no such file or directory
Wiping local.
Error removing artifacts: open /etc/netclient/netconfig-nonetwork: no such file or directory
Failed to stop netclient-nonetwork.timer: Unit netclient-nonetwork.timer not loaded.
Error stopping netclient-nonetwork.timer. Please investigate.
exit status 5
Failed to disable unit: Unit file netclient-nonetwork.timer does not exist.
Error disabling netclient-nonetwork.timer. Please investigate.
exit status 1
Error removing file. Please investigate.
remove /etc/systemd/system/netclient-nonetwork.timer: no such file or directory

need to check for conflicts

when installing, need to check for conflicts at the very least with existing WG ports. If the preferred WG port is in use it should increment by 1.

Create more sensible defaults

5555 is not a sensible default port for WG. Should be higher. default interface should be something like "nm-" instead of "wc-". Check on others as well.

Failing Integration Tests

Integration tests are failing due to merge between feature_site2site and fix-tests. t.Skip() has been added to failing tests to allow PR checks to pass.
Tests need to be updated.

feature enhancement for work on pi like server

please can you make some feature enhancement for netmaker server work with raspberry pi like a server,it work with x86 architectura but not wit arm,now i have a server working with debian 10 installed on virtual mode,thanks in advanced
image

three copies of netclient on machine after install

installing the binary:

  1. places it in the directory where it is downloaded to
  2. copies itself to /etc/netclient
  3. copies itself to /usr/local/bin

We don't need three copies of the binary...probably better to run a simple shell script that downloads the file to the correct location (/etc/netclient?) and then aliases that file to /usr/local/bin

Error installing Mongodb for non-Docker client-mode

The documentation:

says

MongoDB Setup

Install MongoDB on your server. For Ubuntu: sudo apt install -y mongodb. For more advanced installation or other operating systems, see the MongoDB documentation.

Create a user: 

mongo admin db.createUser({ user: "mongoadmin" , pwd: "mongopass", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})

MongoDb installls ok.
but I get an error trying to create the admin user:

./mk-netmaker.sh: line 55: syntax error near unexpected token `('

./mk-netmaker.sh: line 55: `mongo admin db.createUser({ user: "mongoadmin" , pwd: "mongopass", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]})'

I am not very knowledgeable on mongodb.

Any help?

Creating Invalid Group returns http.StatusOK

creating a group with a duplicate name to existing group or creating a group with a name that is too long does not provide any error indication. The group is not created in the database (console error) but the api returns a http.StatusOK with no body the same as successful group creation.

unable to run netclient-arm in openwrt

OS: openwrt 19.07.7
OPENWRT_BOARD="bcm53xx/generic"
OPENWRT_ARCH="arm_cortex-a9"

Router Model: Buffalo WZR-1750DHP

I think this router use ARMv7 processor

root@router:~# cat /proc/cpuinfo
processor	: 0
model name	: ARMv7 Processor rev 0 (v7l)
BogoMIPS	: 800.00
Features	: half thumb fastmult edsp tls 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x3
CPU part	: 0xc09
CPU revision	: 0

But I tried with all three version in latest release , no one works.

ARM64

root@router:~# wget https://github.com/gravitl/netmaker/releases/download/latest/netclient.arm64 -O netclient.arm64
Downloading 'https://github.com/gravitl/netmaker/releases/download/latest/netclient.arm64'
Connecting to 13.114.40.48:443
Redirected to /351486934/df182280-9c36-11eb-9747-cd0a85c259f1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210414%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210414T084743Z&X-Amz-Expires=300&X-Amz-Signature=63210426e0712f508982bf394526fe448fed481ca13909e9ee00d70e898e0f38&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=351486934&response-content-disposition=attachment%3B%20filename%3Dnetclient.arm64&response-content-type=application%2Foctet-stream on github-releases.githubusercontent.com
Writing to 'netclient.arm64'
netclient.arm64      100% |*******************************| 15052k  0:00:00 ETA
Download completed (15413376 bytes)
root@router:~# chmod +x netclient.arm64
root@router:~# ./netclient.arm64
./netclient.arm64: line 1: syntax error: unexpected word (expecting ")")
root@router:~# 

ARM7

oot@router:~# wget https://github.com/gravitl/netmaker/releases/download/latest/netclient.arm7 -O netclient.arm7
Downloading 'https://github.com/gravitl/netmaker/releases/download/latest/netclient.arm7'
Connecting to 52.69.186.44:443
Redirected to /351486934/6749f800-9c36-11eb-8088-a2c5c13159bc?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210414%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210414T084836Z&X-Amz-Expires=300&X-Amz-Signature=476322616ef762811ecd546afa722566bd9c6ebd87f08a93a5a6a5868994dc04&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=351486934&response-content-disposition=attachment%3B%20filename%3Dnetclient.arm7&response-content-type=application%2Foctet-stream on github-releases.githubusercontent.com
Writing to 'netclient.arm7'
netclient.arm7       100% |*******************************| 13701k  0:00:00 ETA
Download completed (14030586 bytes)
root@router:~# chmod +x netclient.arm7
root@router:~# ./netclient.arm7
Illegal instruction
root@router:~# 

netclient

root@router:~# wget https://github.com/gravitl/netmaker/releases/download/latest/netclient -O netclient
Downloading 'https://github.com/gravitl/netmaker/releases/download/latest/netclient'
Connecting to 52.69.186.44:443
Redirected to /351486934/84f46e80-9bf0-11eb-85f0-b095d1f8b6ab?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210414%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210414T084920Z&X-Amz-Expires=300&X-Amz-Signature=8a5169f0d410a9d0b060bc37234876b86740480c20fb6e5b6bff88c0139546d2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=351486934&response-content-disposition=attachment%3B%20filename%3Dnetclient&response-content-type=application%2Foctet-stream on github-releases.githubusercontent.com
Writing to 'netclient'
netclient            100% |*******************************| 13836k  0:00:00 ETA
Download completed (14168935 bytes)
root@router:~# chmod +x netclient
root@router:~# ./netclient
./netclient: line 1: ELF: not found
./netclient: line 2: syntax error: unexpected "("
root@router:~# 

Did I miss something ? maybe some libraries ??

In Agent Setup steps need to clarify "create a key"

I want to clarify a sentence in the In the Non-Docker install steps.

In Agent Setup, Step 3 it says:

Create a key or enable manual node signup at the network level

Is "Create a key"... simply using something like: ssh –keygen –t rsa 4096

or something else?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.