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

cameronts 82d8d4ff1e Rearrange imports per PR comments. %!s(int64=3) %!d(string=hai) anos
.github c785932e2b Update test.yml %!s(int64=3) %!d(string=hai) anos
auth 2fa31a6947 add oidc provider for auth %!s(int64=3) %!d(string=hai) anos
compose 66cbc96b89 version numbers %!s(int64=3) %!d(string=hai) anos
config a925f4635c Lowercased publicipservice. %!s(int64=3) %!d(string=hai) anos
controllers 9f92b20a15 Added chain creation for nftables. %!s(int64=3) %!d(string=hai) anos
database b281047168 adding functions to handle certs in DB %!s(int64=3) %!d(string=hai) anos
docker 00be05c6ea restore 1883 to mq conf %!s(int64=3) %!d(string=hai) anos
functions 2b1f20e94b changes from code review %!s(int64=3) %!d(string=hai) anos
img 30c863a450 updated readme %!s(int64=3) %!d(string=hai) anos
k8s 98e049d1e3 fixing versions %!s(int64=3) %!d(string=hai) anos
logger a2f2b81142 Updated to use logger.Log for PUBLIC_IP_SERVICE checks at verbosity of 3. Required some updates elsewhere to allowing using logger.Log from servercfg package. %!s(int64=3) %!d(string=hai) anos
logic 82d8d4ff1e Rearrange imports per PR comments. %!s(int64=3) %!d(string=hai) anos
models a6660bb377 Pull firewall command building to separate functions for easier maintenance/reuse. Change DeleteIngressGateway's approach to preserving the egress gateway (if present). %!s(int64=3) %!d(string=hai) anos
mq bda4268fc8 changed to always update server check-in times even when not leader %!s(int64=3) %!d(string=hai) anos
netclient 82d8d4ff1e Rearrange imports per PR comments. %!s(int64=3) %!d(string=hai) anos
nginx 7152f6ccd4 remove references to grpc/comms net %!s(int64=3) %!d(string=hai) anos
scripts 604bd9be75 Merge pull request #1389 from HarvsG/patch-2 %!s(int64=3) %!d(string=hai) anos
servercfg 067d2aca2d Added config file handling for public IP service. %!s(int64=3) %!d(string=hai) anos
serverctl 5c2106dd46 re-add server mq port %!s(int64=3) %!d(string=hai) anos
test 7152f6ccd4 remove references to grpc/comms net %!s(int64=3) %!d(string=hai) anos
tls adaf8f1ca6 initial changes to make cert <-> broker comms work %!s(int64=3) %!d(string=hai) anos
validation 8f72ecbaa0 refactored logic %!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 bc1eb17bad removing windows installer portions %!s(int64=3) %!d(string=hai) anos
CONTRIBUTING.md 95659ef0a5 Create CONTRIBUTING.md %!s(int64=3) %!d(string=hai) anos
Dockerfile 3a3cd83e85 speedup docker builds %!s(int64=3) %!d(string=hai) anos
LICENSE.txt 375482c16d updating docs %!s(int64=4) %!d(string=hai) anos
README.md 98e049d1e3 fixing versions %!s(int64=3) %!d(string=hai) anos
SECURITY.md d53bfd6ab1 Update SECURITY.md %!s(int64=3) %!d(string=hai) anos
dev.yaml 501108b53d Remove config.Server.Debug %!s(int64=3) %!d(string=hai) anos
go.mod 5c8809df5e Merge pull request #1380 from gravitl/dependabot/go_modules/develop/fyne.io/fyne/v2-2.2.3 %!s(int64=3) %!d(string=hai) anos
go.sum 5c8809df5e Merge pull request #1380 from gravitl/dependabot/go_modules/develop/fyne.io/fyne/v2-2.2.3 %!s(int64=3) %!d(string=hai) anos
main.go a2f2b81142 Updated to use logger.Log for PUBLIC_IP_SERVICE checks at verbosity of 3. Required some updates elsewhere to allowing using logger.Log from servercfg package. %!s(int64=3) %!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 20.04 and a public IP.
  2. Open ports 443 and 51821-51830/udp on the VM firewall and in cloud security settings.
  3. Run the script: wget -qO - https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh | sudo bash
    3.a. (with custom domain + email): wget -qO - https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh | sudo bash -s -- -d mynetmaker.domain.com -e [email protected]

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.