Virtual Private Networks VPNs are used extensively. Nowadays there are different solutions available which allow users access to any kind of resource while maintaining their confidentiality and privacy.
Lately one of the most commonly used VPN protocols is WireGuard because of its simplicity speed and the security it offers. WireGuards implementation started in the Linux kernel but currently it is available in other platforms such as iOS and Android among others.
WireGuard uses UDP as its transport protocol and it bases the communication between peers upon Critokey Routing CKR. Each peer either server or client has a pair of keys public and private and there is a link between public keys and allowed IPs to communicate with. For further information about WireGuard please visit its page.
This article describes how to set up WireGuard between two peers PeerA and PeerB. Both nodes are running Fedora Linux and both are using NetworkManager for a persistent configuration.