diff --git a/cmd/natc/natc.go b/cmd/natc/natc.go index b36c61ea5..68fd115e3 100644 --- a/cmd/natc/natc.go +++ b/cmd/natc/natc.go @@ -55,6 +55,7 @@ func main() { verboseTSNet = fs.Bool("verbose-tsnet", false, "enable verbose logging in tsnet") printULA = fs.Bool("print-ula", false, "print the ULA prefix and exit") ignoreDstPfxStr = fs.String("ignore-destinations", "", "comma-separated list of prefixes to ignore") + wgPort = fs.Uint("wg-port", 0, "udp port for wireguard and peer to peer traffic") ) ff.Parse(fs, os.Args[1:], ff.WithEnvVarPrefix("TS_NATC")) @@ -104,6 +105,12 @@ func main() { ts := &tsnet.Server{ Hostname: *hostname, } + if *wgPort != 0 { + if *wgPort >= 1<<16 { + log.Fatalf("wg-port must be in the range [0, 65535]") + } + ts.Port = uint16(*wgPort) + } defer ts.Close() if *verboseTSNet { ts.Logf = log.Printf