Add fastd or vpncloud to build full-mesh for tun and tap tunnels.
Both solutions are decentralized and don't use a client/server model.
https://github.com/neocturne/fastd
https://github.com/dswd/vpncloud
https://vpncloud.ddswd.de/features/comparison
https://vpncloud.ddswd.de/features/
VpnCloud features the following functionality:
Automatic peer-to-peer meshing, no central servers Automatic reconnecting when connections are lost Connecting hundreds of nodes with the VPN High throughput and low additional latency (see performance page) Creating virtual network interfaces based on Ethernet (TAP) and IP (TUN) Strong end-to-end encryption using Curve25519 key pairs and AES methods Easy to use interactive wizard Support for different forwarding/routing behaviors (Hub, Switch, Router) NAT and firewall traversal using hole punching Automatic port forwarding via UPnP Websocket proxy mode for restrictive environments Support for tunneled VLans (TAP devices) Support for publishing beacons to help nodes find each others Support for statsd monitoring Low memory footprint Single binary, no dependencies, no kernel module