Use o firewall-cmd
comando
Supondo que você esteja abrindo o firewall até o OpenVPN na zona padrão, execute os seguintes comandos. Se você estiver executando em uma zona não padrão, adicione --zone=<zone>
aos comandos.
Nota: Se você usar a public
zona padrão para o adaptador de rede externo, sua interface de loopback também poderá ser mascarada (dependendo da versão em firewalld
execução), o que pode causar problemas se você estiver executando um serviço (como o mySQL) acessado localmente.
Primeiro, liste o que está aberto no momento:
# firewall-cmd --list-services
http https ssh
Em seguida, adicione o openvpn
serviço:
# firewall-cmd --add-service openvpn
success
Uma verificação rápida:
# firewall-cmd --list-services
http https openvpn ssh
O acima permitirá openvpn
trabalhar, que você pode testar agora. No entanto, não vai durar mais do que reiniciar. Para torná-lo permanente, adicione a --permanent
opção:
# firewall-cmd --permanent --add-service openvpn`
success
Observe que esse último comando não abre a porta até a próxima reinicialização, portanto, você precisa usar os dois comandos.
Por fim, adicione o disfarce:
# firewall-cmd --add-masquerade
success
E torne-o permanente após uma reinicialização:
# firewall-cmd --permanent --add-masquerade
success
Confirme:
# firewall-cmd --query-masquerade
yes
Observe que, se a sua conexão OpenVPN de entrada estiver em uma zona diferente da sua conexão com a Internet, o disfarce deverá estar na última e você precisará usar a --zone=<zone>
opção com os --add-masquerade
comandos.
/lib/firewalld/services/
. No seu caso, ele estaráopenvpn.xml
dentro desse diretório. Serviços definidos pelo usuário entram/etc/firewalld/services
. Observe que a porta padrão para o openvpn éUDP/1194
.public
zona, ela mascarará a interface de loopback. Acontece que eu já havia definido minha zona padrãoexternal
para nunca ter enfrentado o problema que está vendo. Tente mover os serviços e o adaptador para outra zona para ver se isso ajuda. Deixe-me saber :-)