mirror of
https://github.com/gravitl/netmaker.git
synced 2024-11-10 17:48:25 +08:00
Merge pull request #39 from gravitl/hotfix_v0.1._docs
Hotfix v0.1. docs
This commit is contained in:
commit
ac6e9cfd7b
3 changed files with 50 additions and 27 deletions
64
README.md
64
README.md
|
@ -1,4 +1,5 @@
|
|||
|
||||
|
||||
<p align="center">
|
||||
<img src="netmaker.png"><break/>
|
||||
</p>
|
||||
|
@ -7,23 +8,33 @@
|
|||
</p>
|
||||
|
||||
## What is Netmaker?
|
||||
Netmaker lets you easily create secure virtual networks: Just spin up a Netmaker server and install the agent on your computers. Netmaker relies on WireGuard to create encrypted tunnels between every node in your virtual network, creating a mesh overlay. Netmaker takes the work out of manually configuring machines and updating them every time something changes in your network. The agents are self-updating and pull necessary changes from the server.
|
||||
Netmaker is a tool for creating and managing virtual networks. The goal is to make virtual/overlay/mesh networking easy for non-networking people. It should be like clicking a button. Netmaker consists of a server, an agent, and a UI. You spin up the Netmaker server and then install netclient (the agent) on your computers. Netmaker will do the rest. It will tell all of your computers how to reach each other and will keep them informed of any changes to the network.
|
||||
|
||||
Netmaker also has a handy dandy UI, which you can find in [this repo](https://github.com/falconcat-inc/WireCat-UI). We recommend deploying the UI alongside the server to make the experience easier and better.
|
||||
Netmaker's handy dandy UI can be found [here](https://github.com/netmaker/netmaker-ui).
|
||||
|
||||
Under the hood, Netmaker uses WireGuard to create encrypted tunnels between every node in your virtual network, creating a full mesh overlay. Netmaker takes the work out of manually configuring machines with WireGuard and updating them every time you have a change in your network. The netclient agent is self-updating and pulls any necessary changes (such as new peers) from the server.
|
||||
|
||||
## Why Netmaker?
|
||||
1. Create a flat, secure network between multiple/hybrid cloud environments
|
||||
2. Integrate central and edge services + IoT
|
||||
3. Secure an office or home network while providing remote connectivity
|
||||
2. Integrate central and edge services
|
||||
3. Secure a home or office network while providing remote connectivity
|
||||
4. Manage cryptocurrency proof-of-stake machines
|
||||
5. Provide an additional layer of security on an existing network
|
||||
6. Encrypt Kubernetes inter-node communications
|
||||
7. Secure site-to-site connections
|
||||
6. Provide an additional layer of security on an existing network
|
||||
7. Encrypt Kubernetes inter-node communications
|
||||
8. Secure site-to-site connections
|
||||
|
||||
|
||||
<p align="center">
|
||||
<img src="mesh-diagram.png">
|
||||
</p>
|
||||
|
||||
## Compatible Systems
|
||||
|
||||
Netmaker works on most linux systems that have systemd. It works with Fedora, Ubuntu, and Raspian. Just make sure you have WireGuard installed. Having a problem? Open an issue or Contact us.
|
||||
|
||||
In future releases, we have plans to support other platforms such as Windows and MacOS.
|
||||
|
||||
|
||||
## Docs
|
||||
**For more information, please read the docs, or check out the Quick Start below:**
|
||||
|
||||
|
@ -33,33 +44,32 @@ Netmaker also has a handy dandy UI, which you can find in [this repo](https://gi
|
|||
- [Contributing](docs/CONTRIBUTING.md)
|
||||
|
||||
|
||||
## Compatible Systems
|
||||
|
||||
This should work on most linux systems that have systemd. It works with Fedora, Ubuntu, and Raspian. Just make sure you have wireguard installed (WireGuard tools). It is recommended to also enable port forwarding, or you may have issues behind NAT.
|
||||
|
||||
## Quick Start
|
||||
|
||||
Setup Docker (Prereq):
|
||||
1. Create an access token on github with artifact access.
|
||||
2. On your VPS, create a file in the home dir called TOKEN.txt with the value of your token inside.
|
||||
3. `cat ~/TOKEN.txt | sudo docker login https://docker.pkg.github.com -u GITHUB_USERNAME --password-stdin`
|
||||
#### Prereqs:
|
||||
1. A server with an IP reachable by your computers (a small ec2 instance or droplet would do just fine).
|
||||
2. Linux installed on the above server (we use Ubuntu, but anything that runs Docker should work).
|
||||
3. Install Docker (can run without Docker as well, but is not preferred. If this is a requirement, view the Advanced Usage docs).
|
||||
|
||||
Setup Server:
|
||||
1. Clone this repo or just copy contents of "docker-compose.yml" to a machine with a public IP.
|
||||
|
||||
#### Launch Netmaker:
|
||||
1. Clone this repo or just copy contents of "docker-compose.yml" to your Netmaker server (from prereqs).
|
||||
2. In docker-compose.yml, change BACKEND_URL to the public IP ofthat machine.
|
||||
3. Run `sudo docker-compose up`
|
||||
4. Navigate to your IP and you should see the WireCat UI asking for a new admin user (if not or if it takes you straight to login screen without asking for user creation, investigate the error).
|
||||
5. Create the admin user
|
||||
6. Click "Create Group" and fill out the details (group == network)
|
||||
7. You are now ready to begin using WireCat. Create a key or "allow manual node sign up."
|
||||
|
||||
Run on each machine in network:
|
||||
0. While repo is private, you'll need your github access key for next step.
|
||||
1. Get the binary: `curl -vLJO -H 'Authorization: token YOUR_ACCESS_TOKEN' 'https://github.com/gravitl/netmaker/releases/download/v0.1/netclient'`
|
||||
2. Make it executable: `sudo chmod +x meshclient`
|
||||
3. Run the install command: `sudo ./meshclient -c install -g <group name> -s <server:port> -k <key value>`
|
||||
4. Navigate to your server's IP in the browser and you should see the Netmaker UI asking to create a new admin user.
|
||||
5. Create a new admin user
|
||||
6. . Click "Create Network" and fill out the details
|
||||
7. You are now ready to begin using Netmaker. Create a key or enable manual node sign up so that your nodes can connect.
|
||||
|
||||
#### On your machines :
|
||||
Run the following: `curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.1/netclient-install.sh | SERVER_URL=<your server ip>:50051 NET_NAME=<your network name> KEY=<your access key> sh -`
|
||||
(Note: Key can be left out if manual node signup is enabled)
|
||||
|
||||
#### LICENSE
|
||||
|
||||
Netmaker's source code and all artifacts in this repository are freely available. All versions are published under the Server Side Public License (SSPL), version 1, which can be found under the "licensing" directory: [LICENSE.txt](licensing/LICENSE.txt).
|
||||
|
||||
#### CONTACT
|
||||
|
||||
Email: alex@gravitl.com
|
||||
Discord: https://discord.gg/zRb9Vfhk8A
|
||||
|
|
13
netclient-install.sh
Executable file
13
netclient-install.sh
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
[ -z "$SERVER_URL" ] && echo "Need to set SERVER_URL" && exit 1;
|
||||
[ -z "$NET_NAME" ] && echo "Need to set NET_NAME" && exit 1;
|
||||
[ -z "$KEY_VALUE" ] && KEY=nokey;
|
||||
|
||||
|
||||
|
||||
wget -O netclient https://github.com/gravitl/netmaker/releases/download/v0.1/netclient
|
||||
chmod +x netclient
|
||||
sudo ./netclient -c install -s $SERVER_URL -g $NET_NAME -k $KEY
|
||||
rm -f netclient
|
BIN
netmaker.png
BIN
netmaker.png
Binary file not shown.
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 134 KiB |
Loading…
Reference in a new issue