A simple guide to setting up WireGuard server and multiple peers.
WireGuard is a lightweight Virtual Private Network (VPN) that supports IPv4 and IPv6 connections. A VPN allows you to traverse untrusted networks as if you were on a private network. It gives you the freedom to access the internet safely and securely from your smartphone or laptop when connected to an untrusted network, like the WiFi at a hotel or coffee shop.
NetworkManager 1.16 got native support for WireGuard VPN tunnels (NEWS). WireGuard is a novel VPN tunnel protocol and implementation that spawned a lot of interest. This blog post explains how to use WireGuard with NetworkManager, covering importing existing profiles, creating new profiles from scratch, and configuring peers.
Modern Network Manager supports wireguard by default, including one in Ubuntu 22.04 (maybe earlier). It's compiled-in, so wireguard package isn't needed. However, as of 22.04 Ubuntu network settings didn't support WG yet.
This guide walks you through setting up WireGuard VPN using NetworkManager on Linux.
WireGuard is a simple, fast, and modern VPN implementation. It is widely deployed and can be used cross-platform. VPNs have traditionally been hard to understand, configure, and deploy.
A user is facing an issue with running WireGuard in a Podman container without using the privileged flag. They encounter an iptables-restore error and have tried troubleshooting steps without success.
For anyone who finds this in the future I needed to add --cap-add=NET_RAW