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

abhishek9686 63829466fd Merge branch 'develop' of https://github.com/gravitl/netmaker into develop 3 months ago
.github 238c68eb2f v0.99.0 Release Notes (#3489) 3 months ago
auth d91cd15e5a fix nil point error on join 3 months ago
cli 506f73ebb9 Merge pull request #3441 from gravitl/nmctl-access-token 3 months ago
compose 238c68eb2f v0.99.0 Release Notes (#3489) 3 months ago
config 309e4795a1 NET-1950: Persist Server Settings in the DB (#3419) 4 months ago
controllers 0f884d4f36 NET-2061: revert Inet gws, fix extclient comms with user policies (#3482) 3 months ago
database 614cf77b5a NET-1991: Add IDP sync functionality. (#3428) 3 months ago
db d7bad9865a NET-2014: Audit Logging (#3455) 3 months ago
docker 105b7dfc1c Simplify and unify apk usage in Dockerfiles (#3407) 4 months ago
docs f0601849a5 fix: update documentation links to new docs (#3156) 10 months ago
functions 2e8d95e80e NET-1227: User Mgmt V2 (#3055) 1 year ago
k8s 238c68eb2f v0.99.0 Release Notes (#3489) 3 months ago
logger e244dcb4bd ee license check 2 years ago
logic 0b03b2cdbf egress vaslidation fix 3 months ago
migrate 810ff21165 NET-2014: add audit log retention period, add timestamp for events (#3486) 3 months ago
models 810ff21165 NET-2014: add audit log retention period, add timestamp for events (#3486) 3 months ago
mq 309e4795a1 NET-1950: Persist Server Settings in the DB (#3419) 4 months ago
netclient cde56204fc load all nodes into cache 9 months ago
nginx 7152f6ccd4 remove references to grpc/comms net 3 years ago
pro 810ff21165 NET-2014: add audit log retention period, add timestamp for events (#3486) 3 months ago
schema 810ff21165 NET-2014: add audit log retention period, add timestamp for events (#3486) 3 months ago
scripts 494cc7f367 Merge branch 'master' of https://github.com/gravitl/netmaker into develop 3 months ago
servercfg 251213d3aa Net 2014 v1 (#3487) 3 months ago
serverctl 4431dc99a7 NET-1933: option to force destroy network (#3311) 7 months ago
test b7009ea14e remove agentbackend 2 years ago
tls adaf8f1ca6 initial changes to make cert <-> broker comms work 3 years ago
utils 39d812f137 feat: send gateway dns and private address (#3378) 5 months 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 3 years ago
.gitignore bb50542d8f docs(NET-953): update docs spec, gitignore (#2880) 1 year ago
.goreleaser.prerelease.yaml c4b36ac791 Net 792 remove freebsd (#2735) 1 year ago
.goreleaser.update.yaml f4067b29ae cleanup 2 years ago
.goreleaser.yaml c4b36ac791 Net 792 remove freebsd (#2735) 1 year ago
.swaggo 1d9e0f71df add format int64 for swagger doc (#3247) 9 months ago
CONTRIBUTING.md 95659ef0a5 Create CONTRIBUTING.md 3 years ago
Dockerfile 105b7dfc1c Simplify and unify apk usage in Dockerfiles (#3407) 4 months ago
Dockerfile-quick 105b7dfc1c Simplify and unify apk usage in Dockerfiles (#3407) 4 months ago
LICENSE.md c13aa22e6f Change License To Apache (#2597) 2 years ago
README.md 238c68eb2f v0.99.0 Release Notes (#3489) 3 months ago
SECURITY.md 3c2bc3e683 Update SECURITY.md 2 years ago
dev.yaml f7ed4bba2b remove grpc parameters 2 years ago
go.mod 6879d1d676 Bump gorm.io/gorm from 1.26.1 to 1.30.0 (#3463) 3 months ago
go.sum 6879d1d676 Bump gorm.io/gorm from 1.26.1 to 1.30.0 (#3463) 3 months ago
main.go 238c68eb2f v0.99.0 Release Notes (#3489) 3 months ago
main_ee.go 5f21c8bb1d NET-1778: scale test code changes (#3203) 9 months ago
release.md 238c68eb2f v0.99.0 Release Notes (#3489) 3 months ago
swagger.yaml 238c68eb2f v0.99.0 Release Notes (#3489) 3 months 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.