Skip to content

gentlemanautomaton/wgcontrol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

wgcontrol GoDoc

This is a work-in-progress and is not yet ready for use.

The wgcontrol project manages a virtual private network based on WireGuard. Its intended use case is a large number of computers connecting to one or more remote networks such as corporate offices or cloud-hosted environments.

WireGuard is a building block that provides a secure channel between peers on the internet. It does not distinguish between the kind of peers that it connects. The role of wgcontrol is to synchronize the WireGuard configuration for these peers so that they can be connected together with a desired topology.

In wgcontrol, any peer without an addressable endpoint is called a Device and any peer with an addressable endpoint is called a Node. Corporate gateways and cloud ingress services are nodes; laptops and remote workstations are devices.

Devices do not share their addresses via wgcontrol. This is an intentional design decision enforced at the protocol level in order to protect the privacy of employees working at home. As a result of this decision, devices are unable to communicate with each other directly. Devices only communicate with nodes.

A central authority, known as the wgcontroller, is responsible for collecting and distributing configuration changes. It collects public keys from devices and distributes them to all nodes. Likewise, public keys and addresses are collected from nodes and distributed to all devices.

Private keys never leave the hardware to which they are assigned.

Initial device registration can be a single-step or dual-step process. In single-step registration a device authenticates itself during registration through an external authenticator like kerberos or a pre-shared or time-limited secret. In dual-step registration a device adds itself to a pending registration list in the controller and awaits approval at a later time.

About

Manages a WireGuard VPN via centralized configuration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published