mirror of
https://github.com/jwhited/wgsd.git
synced 2025-01-18 13:59:34 +08:00
wgsd
wgsd
is a CoreDNS plugin that provides WireGuard peer information via DNS-SD (RFC6763) semantics. This enables dynamic discovery of WireGuard Endpoint addressing (both IP and port) with the added of benefit of NAT-to-NAT WireGuard connectivity where UDP hole punching is supported.
See this blog post for a deep dive on the underlying techniques and development thought.
Installation
External CoreDNS plugins can be enabled in one of two ways:
For method #2 you can simply go build
the contents of cmd/coredns. The resulting binary is CoreDNS server with all the "internal" plugins + wgsd
.
A basic client is available under cmd/wgsd-client.
Configuration
.:53 {
wgsd <zone> <wg device>
}
For example:
$ cat Corefile
.:53 {
wgsd example.com. wg0
}
Example Data
TODOs
- SOA record support
- CI & release binaries
Languages
Go
100%