I'm running fedora 36 using firewalld as my firewall.
I set up a network namespace called "wireguard". It contains the interface wg0 which connects to Mullvad VPN. I set it up like this:
ip netns add wireguard
ip link add wg0 type wireguard
wg setconf wg0 /etc/wireguard/wg0.conf
ip link set wg0 netns wireguard
ip -n wireguard addr add x.x.x.x/32 dev wg0
ip -n wireguard addr add xxxx:xxxx:xxxx:xxxx::x:xxxx/128 dev wg0
ip -n wireguard link set wg0 up
ip -n wireguard route add default dev wg0
I followed this article to set it up: https://volatilesystems.org/wireguard-in-a-separate-linux-network-namespace.html
Which says:
Similarly to the DNS settings, you'll also want to load separate firewall rules, since the new namespace isn't firewalled.
How do I apply a firewall to the new namespace using firewalld?