Your question is so broad and advanced it is sufficient for a doctor degree study.
Linux router project can handle everything you ask and all you need is an old PC and as many nics as you need subnet separation and gateways to internet. A lot of PCI(e) cards with upto 5 nics in one slot is available. Just prepare for RTFM and a lot of study. There is nothing prepared and ready for delivery for what you want to do. You actually need to teach yourself networking and *nix. Well, unless you want to pay somebody to set it up, but as I understand you, this is partly also to learn.