As regras avançadas não são necessárias.
Se você quiser restringir uma zona a um conjunto específico de IPs, simplesmente defina esses IPs como fontes para a própria zona (e remova qualquer definição de interface que possa estar presente, pois eles substituem os IPs de origem).
Você provavelmente não desejará fazer isso na zona "pública", já que isso significa semanticamente que os serviços públicos estejam abertos para o mundo.
Em vez disso, tente usar uma zona diferente, como "interna", para a maioria dos endereços IP confiáveis, para acessar serviços potencialmente confidenciais, como o sshd. (Você também pode criar suas próprias zonas.)
Atenção: não confunda a zona especial "confiável" com a zona "interna" normal. Todas as fontes adicionadas à zona "confiável" serão permitidas em todas as portas; adicionar serviços à zona "confiável" é permitido, mas não faz sentido fazer isso.
firewall-cmd --zone=internal --add-service=ssh
firewall-cmd --zone=internal --add-source=192.168.56.105/32
firewall-cmd --zone=internal --add-source=192.168.56.120/32
firewall-cmd --zone=public --remove-service=ssh
O resultado disso será uma zona "interna" que permite acesso ao ssh, mas somente a partir dos dois endereços IP fornecidos. Para torná-lo persistente, execute novamente cada comando com --permanent
anexado.