Then you should bind the Wireguard interface (we assume that it’s also called wg0) to the zone. If your Wireguard interface is managed by NetworkManager it can be done with:
On the other hand, if you prefer to only allow it to go to a subset of ports and destinations then you can add rules like this one
1
2
3
4
5
# Allow http traffic to the server on 192.168.1.22sudo firewall-cmd --policy=wg0topublic --add-rich-rule='rule family="ipv4" destination address="192.168.1.22" service name="http" accept'# Allow client 10.0.0.1 to send DNS (udp) traffic to servers on the 1.0.0.0/8 subnet.sudo firewall-cmd --policy=wg0topublic --add-rich-rule='rule family="ipv4" source address="10.0.0.1" destination address="1.0.0.0/8" port port="53" protocol="udp" accept'
You probably want to Masquerade the traffic coming from your VPN: