This example shows how to setup a WireGuard VPN network with a Linux server that is publicly accessible and serveral OpenWRT nodes that are not. One of these client nodes is used as network wide 'exit node'. This makes it possible to easily configure network with an exit node which is a network that is not under your control or cannot be (easily) configured to setup port forwarding.
Generate private keys for all clients and a pre-shared key (PSK) for every connection pair.
(umask 0377; wg genkey > peerA.key)
wg pubkey < peerA.key > peerA.pub