VPN Network Service - Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
#nebula #tailscale #mesh #vpn #golang #go #overlay #meshvpn

Matthew R Kasun 8e5545579b remove debug log %!s(int64=2) %!d(string=hai) anos
.github 242745a57a versions (#2302) %!s(int64=2) %!d(string=hai) anos
auth 378be7f740 Relays (#2361) %!s(int64=2) %!d(string=hai) anos
cli 378be7f740 Relays (#2361) %!s(int64=2) %!d(string=hai) anos
compose 242745a57a versions (#2302) %!s(int64=2) %!d(string=hai) anos
config 423abf0fe4 add use_turn option to config,check if server is using turn %!s(int64=2) %!d(string=hai) anos
controllers 378be7f740 Relays (#2361) %!s(int64=2) %!d(string=hai) anos
database 2e6eaac274 moved data structure to db %!s(int64=2) %!d(string=hai) anos
docker 3ad47f17ec NET-147 full config for nm-quick.sh (#2291) %!s(int64=2) %!d(string=hai) anos
ee 378be7f740 Relays (#2361) %!s(int64=2) %!d(string=hai) anos
functions 78640f1342 Extclient NET-63x (#2286) %!s(int64=2) %!d(string=hai) anos
k8s 242745a57a versions (#2302) %!s(int64=2) %!d(string=hai) anos
logger e244dcb4bd ee license check %!s(int64=2) %!d(string=hai) anos
logic 8e5545579b remove debug log %!s(int64=2) %!d(string=hai) anos
metrics 502827b8b8 rm unused pinger func %!s(int64=2) %!d(string=hai) anos
migrate 13473f4dd7 review comments %!s(int64=2) %!d(string=hai) anos
models 378be7f740 Relays (#2361) %!s(int64=2) %!d(string=hai) anos
mq 464e6eb778 remove debugging logs %!s(int64=2) %!d(string=hai) anos
netclient 6d6ba3aa7d random string %!s(int64=2) %!d(string=hai) anos
nginx 7152f6ccd4 remove references to grpc/comms net %!s(int64=3) %!d(string=hai) anos
scripts b519fb9342 nm-certs permission (#2308) %!s(int64=2) %!d(string=hai) anos
servercfg 423abf0fe4 add use_turn option to config,check if server is using turn %!s(int64=2) %!d(string=hai) anos
serverctl 9b072e1050 remove network capabilities from netmaker %!s(int64=2) %!d(string=hai) anos
stun-server 5014c389ca adjusted main to use one single context %!s(int64=2) %!d(string=hai) anos
test b7009ea14e remove agentbackend %!s(int64=2) %!d(string=hai) anos
tls adaf8f1ca6 initial changes to make cert <-> broker comms work %!s(int64=3) %!d(string=hai) anos
validation f632bec11d merge conflicts resolved %!s(int64=3) %!d(string=hai) anos
.dockerignore 974627a9ab reorg of dockerfiles %!s(int64=3) %!d(string=hai) anos
.fpm ab3e643d5e add rpms %!s(int64=3) %!d(string=hai) anos
.gitignore 72180e0980 make goreleaser work on publish release %!s(int64=2) %!d(string=hai) anos
.goreleaser.prerelease.yaml 2ad231efe9 update release asset naming pattern to match netclient %!s(int64=2) %!d(string=hai) anos
.goreleaser.update.yaml f4067b29ae cleanup %!s(int64=2) %!d(string=hai) anos
.goreleaser.yaml 2ad231efe9 update release asset naming pattern to match netclient %!s(int64=2) %!d(string=hai) anos
CONTRIBUTING.md 95659ef0a5 Create CONTRIBUTING.md %!s(int64=3) %!d(string=hai) anos
Dockerfile f259d3ea72 Bump alpine from 3.17.3 to 3.18.0 (#2299) %!s(int64=2) %!d(string=hai) anos
Dockerfile-quick f259d3ea72 Bump alpine from 3.17.3 to 3.18.0 (#2299) %!s(int64=2) %!d(string=hai) anos
LICENSE.txt 375482c16d updating docs %!s(int64=4) %!d(string=hai) anos
README.md 242745a57a versions (#2302) %!s(int64=2) %!d(string=hai) anos
SECURITY.md 3c2bc3e683 Update SECURITY.md %!s(int64=2) %!d(string=hai) anos
dev.yaml f7ed4bba2b remove grpc parameters %!s(int64=2) %!d(string=hai) anos
go.mod 8e5545579b remove debug log %!s(int64=2) %!d(string=hai) anos
go.sum 48a2d44be4 Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0 (#2297) %!s(int64=2) %!d(string=hai) anos
main.go 242745a57a versions (#2302) %!s(int64=2) %!d(string=hai) anos
main_ee.go b670755cce refactoring for ee %!s(int64=3) %!d(string=hai) anos
release.md 242745a57a versions (#2302) %!s(int64=2) %!d(string=hai) anos
swagger.yaml 242745a57a versions (#2302) %!s(int64=2) %!d(string=hai) anos

README.md

Y-Combinator

WireGuard® automation from homelab to enterprise

Create Manage Automate
:heavy_check_mark: WireGuard Networks :heavy_check_mark: Admin UI :heavy_check_mark: Linux
:heavy_check_mark: Remote Access Gateways :heavy_check_mark: OAuth :heavy_check_mark: FreeBSD
:heavy_check_mark: Mesh VPNs :heavy_check_mark: Private DNS :heavy_check_mark: Mac
:heavy_check_mark: Site-to-Site :heavy_check_mark: Access Control Lists :heavy_check_mark: Windows

Get Started in 5 Minutes

(For production-grade installations, visit the Install Docs.)

  1. Get a cloud VM with Ubuntu 22.04 and a public IP.
  2. Open ports 443, 80, and 51821-51830/udp on the VM firewall and in cloud security settings.
  3. (optional) Prepare DNS - Set a wildcard subdomain in your DNS for Netmaker, e.g. *.netmaker.example.com
  4. 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. If deploying Enterprise, you get a free account with a 50 node limit by default. 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 versions are published under the Server Side Public License (SSPL), version 1, which can be found here: LICENSE.txt.