Também tenho esse problema recentemente, mas consegui adicionar acesso a serviços http e https. Mas eu tive o problema de serviços ssh limitando a um endereço de origem. Este é o meu trabalho.
Primeiro, adicione a interface à zona pública então
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --add-rich-rule='rule family="ipv4" source address="x.x.x.x" service name="ssh" log prefix="ssh" level="info" accept'
sudo firewall-cmd --reload
O endereço de origem pode ser um intervalo, basta especificar a sub-rede
Como o ssh não foi adicionado à zona pública, ele será bloqueado por padrão. A regra rich irá ativá-lo apenas para esse ip / range de origem.
Qualquer solução melhor, por favor adicione.
Eu respondi na minha pergunta em
Usando o Firewall- cmd para criar restrições específicas de endereço no centos 7