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 9d3f9fc768 Merge branch 'NM-96' of https://github.com/gravitl/netmaker into NM-96 2 weeks ago
.github 96e2c29783 v1.0.0 release notes (#3530) 2 months ago
auth a8a0dd066c NM-44: Device Approvals for Network Join (#3579) 1 month ago
cli d8dcc37941 remove duplicate cli table pkg 2 months ago
compose 96e2c29783 v1.0.0 release notes (#3530) 2 months ago
config 31ed8c5262 Netmaker Desktop Session Duration (#3543) 1 month ago
controllers a7c2f60405 add global nameservers in case of internet gw 2 weeks ago
database 67baa75f45 feat(go): skip setting open connections; 3 months ago
db 6358069546 feat(go): use the same schema; 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 da5115221f fix(go): workflow errors fixes; 3 months ago
k8s 96e2c29783 v1.0.0 release notes (#3530) 2 months ago
logger e244dcb4bd ee license check 2 years ago
logic 9d3f9fc768 Merge branch 'NM-96' of https://github.com/gravitl/netmaker into NM-96 2 weeks ago
migrate a8a0dd066c NM-44: Device Approvals for Network Join (#3579) 1 month ago
models a7c2f60405 add global nameservers in case of internet gw 2 weeks ago
mq fda22543a3 add nameservers to peer update 3 weeks ago
netclient cde56204fc load all nodes into cache 9 months ago
nginx 7152f6ccd4 remove references to grpc/comms net 3 years ago
pro a7c2f60405 add global nameservers in case of internet gw 2 weeks ago
schema fda22543a3 add nameservers to peer update 3 weeks ago
scripts a8a0dd066c NM-44: Device Approvals for Network Join (#3579) 1 month ago
servercfg 3a173bb4b2 Merge pull request #3568 from gravitl/master 1 month 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 91c5fe0cf3 fix: update extclient ingress endpoint/port with host changes 2 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 3551e8e24e NET-1996: Add Support for TOTP Authentication. (#3517) 2 months 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 95e55894fa Build(deps): bump alpine from 3.22.0 to 3.22.1 (#3571) 1 month ago
Dockerfile-quick 95e55894fa Build(deps): bump alpine from 3.22.0 to 3.22.1 (#3571) 1 month ago
LICENSE.md c13aa22e6f Change License To Apache (#2597) 2 years ago
README.md 96e2c29783 v1.0.0 release notes (#3530) 2 months ago
SECURITY.md 3c2bc3e683 Update SECURITY.md 2 years ago
dev.yaml f7ed4bba2b remove grpc parameters 2 years ago
go.mod fdc9fd869d Build(deps): bump github.com/mattn/go-sqlite3 from 1.14.28 to 1.14.30 (#3584) 1 month ago
go.sum fdc9fd869d Build(deps): bump github.com/mattn/go-sqlite3 from 1.14.28 to 1.14.30 (#3584) 1 month ago
main.go 96e2c29783 v1.0.0 release notes (#3530) 2 months ago
main_ee.go 5f21c8bb1d NET-1778: scale test code changes (#3203) 9 months ago
release.md 96e2c29783 v1.0.0 release notes (#3530) 2 months ago
swagger.yaml 96e2c29783 v1.0.0 release notes (#3530) 2 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.