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

Abhishek Kondur d64f1c1638 Merge pull request #3871 from gravitl/release-v1.5.0 2 days ago
.github 6b7d33fa77 v1.5.0: release notes (#3862) 1 week ago
auth 610fc9815e check feature flags for auto join 3 months ago
cli d8dcc37941 remove duplicate cli table pkg 8 months ago
clickhouse b935e3795a NM-228: add middleware checks for activity logs, remove all users get… (#3853) 2 weeks ago
compose 6b7d33fa77 v1.5.0: release notes (#3862) 1 week ago
config a4981ffd26 NM-168: Network Flow Logs (#3754) 2 months ago
controllers d055ebd160 NM-244: reset auto relay on disconnect 1 week ago
database 67baa75f45 feat(go): skip setting open connections; 8 months ago
db 6358069546 feat(go): use the same schema; 8 months ago
docker 36a88544af Remove Flow Logs Infra Changes (#3778) 2 months ago
docs f0601849a5 fix: update documentation links to new docs (#3156) 1 year ago
functions 94f3716fdf Merge pull request #3744 from gravitl/NM-167 2 months ago
grpc d476e79278 NM-220: Flow Logs Improvements (#3812) 4 weeks ago
k8s 6b7d33fa77 v1.5.0: release notes (#3862) 1 week ago
logger e244dcb4bd ee license check 2 years ago
logic c29b23ccf8 v1.5.0: fix egress update 1 week ago
migrate f723fc5202 NM-214: Expect GeoInfo to come from Netclient (#3833) 3 weeks ago
models 9b4f9a4a50 NM-240: update api swagger docs (#3861) 2 weeks ago
mq 73949b39dd Set location if not set on host (#3859) 2 weeks ago
netclient cde56204fc load all nodes into cache 1 year ago
nginx 7152f6ccd4 remove references to grpc/comms net 3 years ago
pro cc0982e456 v1.5.0: remove duration field 1 week ago
schema c3778a3e17 NM-213: add pagination to jit list reqs (#3832) 2 weeks ago
scripts 6b7d33fa77 v1.5.0: release notes (#3862) 1 week ago
servercfg a4981ffd26 NM-168: Network Flow Logs (#3754) 2 months ago
serverctl 4431dc99a7 NET-1933: option to force destroy network (#3311) 1 year ago
test b7009ea14e remove agentbackend 3 years ago
tls adaf8f1ca6 initial changes to make cert <-> broker comms work 3 years ago
utils 73949b39dd Set location if not set on host (#3859) 2 weeks ago
validation f632bec11d merge conflicts resolved 3 years ago
.dockerignore 3a4363c890 NET-163: Return 403 instead of 401 (#2326) 2 years ago
.fpm ab3e643d5e add rpms 4 years ago
.gitignore 3551e8e24e NET-1996: Add Support for TOTP Authentication. (#3517) 8 months ago
.goreleaser.prerelease.yaml c4b36ac791 Net 792 remove freebsd (#2735) 2 years ago
.goreleaser.update.yaml f4067b29ae cleanup 3 years ago
.goreleaser.yaml c4b36ac791 Net 792 remove freebsd (#2735) 2 years ago
.swaggo 1d9e0f71df add format int64 for swagger doc (#3247) 1 year ago
CONTRIBUTING.md 95659ef0a5 Create CONTRIBUTING.md 4 years ago
Dockerfile 53a240a741 Build(deps): bump alpine from 3.23.0 to 3.23.2 (#3803) 1 month ago
Dockerfile-quick 53a240a741 Build(deps): bump alpine from 3.23.0 to 3.23.2 (#3803) 1 month ago
LICENSE.md e08ef4128e change license to apache (#2598) 2 years ago
README.md 15f050ff6c Update logo in README to light version 1 week ago
SECURITY.md 3c2bc3e683 Update SECURITY.md 3 years ago
dev.yaml f7ed4bba2b remove grpc parameters 3 years ago
go.mod 9d2fb8d6f8 Build(deps): bump google.golang.org/grpc from 1.77.0 to 1.78.0 (#3827) 3 weeks ago
go.sum 9d2fb8d6f8 Build(deps): bump google.golang.org/grpc from 1.77.0 to 1.78.0 (#3827) 3 weeks ago
main.go 6b7d33fa77 v1.5.0: release notes (#3862) 1 week ago
main_ee.go 5f21c8bb1d NET-1778: scale test code changes (#3203) 1 year ago
release.md 6b7d33fa77 v1.5.0: release notes (#3862) 1 week ago
swagger.yaml 6b7d33fa77 v1.5.0: release notes (#3862) 1 week ago

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: Docker
: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

Try Netmaker SaaS

If you're looking for a managed service, you can get started with just a few clicks, visit netmaker.io to create your netmaker server.

Self-Hosted Open Source Quick Start

These are the instructions for deploying a Netmaker server on your cloud VM as quickly as possible. For more detailed instructions, visit the Install Docs.

  1. Get a cloud VM with Ubuntu 24.04 and a static public IP.
  2. Allow inbound traffic on port 443,51821 TCP and UDP to the VM firewall in cloud security settings, and for simplicity, allow outbound on All TCP and All UDP.
  3. (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.
  4. Run the script to setup open source version of Netmaker:

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

To Install Self-Hosted PRO Version - https://docs.netmaker.io/docs/server-installation/netmaker-professional-setup

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 centres, clouds, and edge devices, so you don't have to.

  • Kernel WireGuard offers maximum speed, performance, and security.

  • Netmaker is built to scale from small businesses to enterprises.

  • 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.