b78cc0a8a1
* api to to get host relayed from client * add auto relay to api host * add peer nat type * set pro field on signal * rm net check on relay me handler * return success response * re-establish failover logic * set failOver ctx * failOver with peer pub key * failovered peer updates * failover handlers, reset failovered peer on deletion * rm unused funcs * initialize failover handler on EE * ignore failover node on signal * failover changes * set host id on signal * extend signal model to include node ids * add backwards compatibility * add failover as node api * set json response on failover handers * add failover field to api node * fix signal data check * initialize failover peer map * reset failovered status when relayed or deleted * add failover info to api node * reset network failover * only proceed furtuer if failover exists in the network * set failOver node defaults * cannot set failover node as relayed * debug log * debug log * debug changes * debug changes * debug changes * revert debug changes * don't add peers to idmap when removed * reset failed Over * fix static checks * rm debug log * add check for linux host |
||
---|---|---|
.github | ||
auth | ||
cli | ||
compose | ||
config | ||
controllers | ||
database | ||
docker | ||
functions | ||
k8s | ||
logger | ||
logic | ||
migrate | ||
models | ||
mq | ||
netclient/ncutils | ||
nginx | ||
pro | ||
scripts | ||
servercfg | ||
serverctl | ||
test | ||
tls | ||
validation | ||
.dockerignore | ||
.fpm | ||
.gitignore | ||
.goreleaser.prerelease.yaml | ||
.goreleaser.update.yaml | ||
.goreleaser.yaml | ||
CONTRIBUTING.md | ||
dev.yaml | ||
Dockerfile | ||
Dockerfile-quick | ||
go.mod | ||
go.sum | ||
LICENSE.md | ||
main.go | ||
main_ee.go | ||
README.md | ||
release.md | ||
SECURITY.md | ||
swagger.yml |
WireGuard® automation from homelab to enterprise
Create | Manage | Automate |
---|---|---|
✔️ WireGuard Networks | ✔️ Admin UI | ✔️ Linux |
✔️ Remote Access Gateways | ✔️ OAuth | ✔️ FreeBSD |
✔️ Mesh VPNs | ✔️ Private DNS | ✔️ Mac |
✔️ Site-to-Site | ✔️ Access Control Lists | ✔️ Windows |
Try Online
If you're just looking to use Netmaker, you can create an account for free at netmaker.io.
Self-Hosted Quick Start
These are the instructions for deploying a Netmaker server on your own cloud VM as quickly as possible. For more detailed instructions, visit the Install Docs.
- Get a cloud VM with Ubuntu 22.04 and a public IP.
- Open ports 443, 80, 3479, 8089 and 51821-51830/udp on the VM firewall and in cloud security settings.
- (recommended) Prepare DNS - Set a wildcard subdomain in your DNS settings for Netmaker, e.g. *.netmaker.example.com, which points to your VM's public IP.
- Run the script:
sudo wget -qO /root/nm-quick.sh https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh && sudo chmod +x /root/nm-quick.sh && sudo /root/nm-quick.sh
This script gives you the option to deploy the Community or Enterprise version of Netmaker. It also gives you the option to use your own domain (recommended) or an auto-generated domain.
After installing Netmaker, check out the Walkthrough and Getting Started guides to learn more about configuring networks. Or, check out some of our other Tutorials for different use cases, including Kubernetes.
Get Support
Why Netmaker + WireGuard?
-
Netmaker automates virtual networks between data centers, clouds, and edge devices, so you don't have to.
-
Kernel WireGuard offers maximum speed, performance, and security.
-
Netmaker is built to scale from the small business to the enterprise.
-
Netmaker with WireGuard can be highly customized for peer-to-peer, site-to-site, Kubernetes, and more.
Community Projects
Disclaimer
WireGuard is a registered trademark of Jason A. Donenfeld.
License
Netmaker's source code and all artifacts in this repository are freely available. All content that resides under the "pro/" directory of this repository, if that directory exists, is licensed under the license defined in "pro/LICENSE". All third party components incorporated into the Netmaker Software are licensed under the original license provided by the owner of the applicable component. Content outside of the above mentioned directories or restrictions above is available under the "Apache Version 2.0" license as defined below. All details for the licenses used can be found here: LICENSE.md.