"I basically have to assign the second nic with a public IP."
Your kidding right?? And there is no firewall between this second nic and the internet other than some host firewall your running on each machine?
Why would you not just route internet access from your vlans. Do you put these public IPs on the devices because they need INBOUND traffic from the internet, or to access the internet. Are these servers your running providing services to the public net?
What do you have currently connected for internet? How many public IPs do you own? How is the internet connected into your network - you just have some router that connects your public ip netblock?
A simple diagram showing your current setup of these test machines and how they interconnect and then what gets you to the internet. And we can design a better setup.
And sure pfsense running on a vm would more than likely work just fine. But a current layout of your network and devices that connect them and the internet would be helpful. What router do you have that connects you do the internet? I am amazed there is no firewall between your devices and the public net??