Cu ajutorul lui Michael Hampton (mulțumesc!) am reușit să-mi dau seama și îmi răspund la întrebarea mea.
Ceea ce este nevoie este o zonă separată pe care o definiți adăugând domenii la aceasta:
firewall-cmd --new-zone=special --permanent
firewall-cmd --reîncărcare
firewall-cmd --zone=special --add-source=12.34.56.78/32 --permanent
firewall-cmd --zone=special --add-source=12.34.56.88/32 --permanent
firewall-cmd --zone=special --add-source=12.34.99.0/24 --permanent
Apoi adauga toate serviciile/porturile normale pe care le-ați avea în dvs public zonă la această nouă zonă (practic duplicați configurația acesteia) și, în final, adăugați regula portului redirecționat numai către noua zonă cu (exemplu http proxy):
firewall-cmd --zone=special --add-forward-port=port=8080:proto=tcp:toaddr=10.0.0.2 --permanent
apoi lansați o reîncărcare finală pentru a aplica:
firewall-cmd --reîncărcare
și voilà: domeniile 12.34.56.78/32 12.34.56.88/32 și 12.34.99.0/24 au acum acces la serviciul proxy de exemplu, dar nimeni altcineva.
ACTUALIZAȚI
Nota critica: Acești pași funcționează bine pentru trafic de intrare dar a face firewalld să se comporte ca un router NAT, inclusiv outbound, necesită mai multă muncă (pe care nu am reușit să funcționeze...). Dacă cineva are o soluție mai completă care permite intrarea și ieșirea să lucreze printr-un server protejat cu firewall, voi marca cu plăcere asta ca răspuns acceptat!
OT: Am ajuns să folosesc IPTables până la urmă oricum, pe care am început să lucrez pentru redirecționarea portului și NAT fără prea multe probleme odată ce mi-am dat seama ce am greșit (nu aveam o regulă de ieșire în lanțul FORWARD... >.> <.<) și permite un control fin asupra domeniilor în fiecare regulă (cu bonus Pot face totul de la Webmin :P). Deoarece acesta este în afara subiectului, las acest răspuns așa cum este.