https://doc.pfsense.org/index.php/Layer_7
ist aber mit arbeit verbunden, lesen, lernen, testen.....
opensense kann es bestimmt auch.
diese layer 7 traffic filter/shaper funktionalität ist in pf integriert, d.h. alle bsd varianten, die pf als firewall verwenden sollten es können
musst es ja nicht auf einem apu board laufen lassen.
ich betreibe mehrere davon, und vom alix board, bis zu einem hp dl360 ist alles dabei, hauptsache x86 bzw x64
und wenn dein switch vlans kann, dann brauchst du nicht mal mehrere netzwerkkarten.
man könnte so etwas auch mittels anderer firewall (auch plastik router firewall) und transparentem proxy umsetzen.
hier ein howto/beispiel mit ubuntu (iptables) und squid (weiter unten im text):
https://wiki.ubuntuusers.de/Squid/
man legt in iptables eine regel an, die allen http/https traffic über den proxy leitet, hier lassen sich urls sperren und der traffic aller clients lässt sich loggen.
das ganze funktioniert natürlich auch mit pfsense, da sich hier freebsd pakete installieren lassen, kannst du z.b. squid installiern und wie oben beschrieben den traffic üben den squid leiten.
oder du installierst nur einen proxy und lässt den traffic von deinem vorhandenen router durch den proxy laufen...
es gibt also mehrere wege das ganze umzusetzen.