Do inter-vlan routing, but on the public interface on the router, put an ACL there for input.
Deny all RFC1918 address space apart from things like DHCP, DNS, and then permit everything else.
ip access-list extended BLK-RFC1918
#[ LOCK DOWN TO THINGS LIKE DHCP, DNS] Permitted IP should be the respective servers
1 permit ip any host 172.16.7.1
10 deny ip any 10.0.0.0 0.255.255.255
20 deny ip any 192.168.0.0 0.0.255.255
30 deny ip any 172.16.0.0 0.15.255.255
100 permit ip any any
!
interface gix/x.20
ip access-group BLK-RFC1918 in
If you want to block your other vlans going to this public vlan the just do an opposite ACL and apply the ACL on same interface but outbound.
hth.
Please rate useful posts & remember to mark any solved questions as answered. Thank you.