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

Anish Mukherjee ca2fb67490 fix integration test errors %!s(int64=2) %!d(string=hai) anos
.github 40e90a294a Merge pull request #1794 from gravitl/dependabot/github_actions/develop/actions/setup-go-3 %!s(int64=2) %!d(string=hai) anos
auth e878e4820a Fixes+Chores: avoid de-referencing nil ptrs + lint %!s(int64=2) %!d(string=hai) anos
cli 2a5b973144 fix grammatical error %!s(int64=2) %!d(string=hai) anos
compose 9c019ca1b1 change CORS_ALLOWED_ORIGIN input to comma-separated strings %!s(int64=2) %!d(string=hai) anos
config 72687b9a0f minor fix %!s(int64=2) %!d(string=hai) anos
controllers ca2fb67490 fix integration test errors %!s(int64=2) %!d(string=hai) anos
database 88cd0a6497 initial commit %!s(int64=3) %!d(string=hai) anos
docker 9b6d9c36f8 allow anon --> false %!s(int64=2) %!d(string=hai) anos
ee fa087401b3 move user-groups and network-users to enterprise controllers %!s(int64=2) %!d(string=hai) anos
functions b670755cce refactoring for ee %!s(int64=3) %!d(string=hai) anos
k8s 5689ef5440 updated versions to v0.17.0 where apllicable %!s(int64=2) %!d(string=hai) anos
logger f63b88db73 fixing sso error handling %!s(int64=3) %!d(string=hai) anos
logic c074d6e2ae Fix: ignoring of returned error value %!s(int64=2) %!d(string=hai) anos
models 5e4e512890 review comments %!s(int64=2) %!d(string=hai) anos
mq 6b18ff57c9 add all local interfaces to node %!s(int64=2) %!d(string=hai) anos
netclient 67e4317e17 Merge pull request #1797 from yunginnanet/develop %!s(int64=2) %!d(string=hai) anos
nginx 7152f6ccd4 remove references to grpc/comms net %!s(int64=3) %!d(string=hai) anos
scripts d4310fc8f4 Merge pull request #1772 from gravitl/feature_v0.17.0_compose_scripts %!s(int64=2) %!d(string=hai) anos
servercfg 72687b9a0f minor fix %!s(int64=2) %!d(string=hai) anos
serverctl e878e4820a Fixes+Chores: avoid de-referencing nil ptrs + lint %!s(int64=2) %!d(string=hai) anos
test e878e4820a Fixes+Chores: avoid de-referencing nil ptrs + lint %!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 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 e97566f069 update to go 1.19 %!s(int64=2) %!d(string=hai) anos
Dockerfile-quick 88cd0a6497 initial commit %!s(int64=3) %!d(string=hai) anos
LICENSE.txt 375482c16d updating docs %!s(int64=4) %!d(string=hai) anos
README.md 5689ef5440 updated versions to v0.17.0 where apllicable %!s(int64=2) %!d(string=hai) anos
SECURITY.md 3c2bc3e683 Update SECURITY.md %!s(int64=2) %!d(string=hai) anos
dev.yaml 501108b53d Remove config.Server.Debug %!s(int64=3) %!d(string=hai) anos
go.mod 68992322ec Merge pull request #1800 from gravitl/feature_netmaker_cli %!s(int64=2) %!d(string=hai) anos
go.sum 68992322ec Merge pull request #1800 from gravitl/feature_netmaker_cli %!s(int64=2) %!d(string=hai) anos
main.go 966412e7c0 Fix #1750 %!s(int64=2) %!d(string=hai) anos
main_ee.go b670755cce refactoring for ee %!s(int64=3) %!d(string=hai) anos
swagger.yaml fb84ddc6f1 remove unused endpoints %!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-interactive.sh https://raw.githubusercontent.com/gravitl/netmaker/test_v0.17.0_compose/scripts/nm-quick-interactive.sh && sudo chmod +x /root/nm-quick-interactive.sh && sudo /root/nm-quick-interactive.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.