The setting will be written correctly in permanent mode. E.g.: firewall-cmd --permanent --list-interfaces --zone=public returns the correct value. But the have not been done in the running mode. Either we also call the write command without the --permanent mode or we have to restart the firewalld service (reload does not help here). While writing the settings I can only see: "systemctl show firewalld.service" but no restart.