Tu peux faire des pseudo VLANs avec un routeur sous Linux en définissant des interface vituelles comme "eth0:0" : chacune de tes interface aura une IP spécifique... Tu te retrouve ainsi avec des réseaux virtuels.
Tu aura sûrement ensuite besoin de mettre en place du NAT pour faire passer les trames au bons endroits... Cf. iptables