Estou tentando configurar uma VPN Wireguard em um servidor Fedora. Eu tenho tudo instalado e funcionando e pode se conectar com vários clientes, navegue por ele, ssh no servidor etc. Em geral, simplesmente funciona. Exceto por uma coisa. Se eu tiver dois clientes conectados ao mesmo tempo, não posso fazer o ssh do cliente A para o cliente B ou o contrário para isso por meio da VPN. Eu posso ssh do servidor em um dos clientes e dos clientes para o servidor, mas não entre o cliente. A razão obviouse é o firewall, então eu tentei desabilitá-lo e como eu esperava eu poderia agora ssh entre os clientes na mesma sub-rede VPN.
O firewall não está configurado corretamente, mas eu adicionei a regra abaixo:
iptables -A FORWARD -i wg0 -o wg0 -j ACCEPT
que deve permitir que os clientes se comuniquem? Como é um servidor Fedora rodando com firewalld eu imaginei que faria uma nova zona chamada vpn e adicionaria a interface wg0 àquela para que eu pudesse fazer regras específicas para a VPN. Isso funciona e eu ainda posso navegar e ssh entre cliente e servidor, mas não entre clientes.
O que estou perdendo? A regra de encaminhamento deve ser definida por meio do firewalld e, em caso afirmativo, qual é o comando correto para fazer isso, pois parece que não consigo acertar.
Editar:
Eu tentei com o comando
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i wg0 -o wg0 -j ACCEPT
mas receba uma resposta COMMAND_FAILED do firewalld. Nenhum código de erro ou qualquer outra coisa.
Editar 2:
Eu adicionei
firewall-cmd --permanent --zone=vpn --set-target=ACCEPT
Agora eu posso ssh entre os clientes. Esse é o caminho certo para fazer isso?