isso mesmo.
voce tem algum switch aí com suporte a vlan? vamos imaginar que voce tem um switch 24 portas com suporte a vlan.
voce vai criar 23 vlans (vlan 1 até vlan 23) e na porta 24 onde vai ficar conectada sua maquina Linux voce vai configurar como trunk (interface que passa mais de uma vlan).

na sua maquina Linux voce vai usar o comando vconfig para criar as vlans.
em cada vlan voce vai adicionar o ip que vai ser gateway dos seus clientes.
ex:
vlan 1 vai ter ip 192.168.1.1
vlan 2 vai ter ip 192.168.2.1

os clientes vao ter ip 192.168.1.2, 192.168.2.2 e assim vai...

bom, acho que expliquei melhor.
para voce ir mais a fundo vai no google e coloca linux + vlan =)

o primeiro resultado vai ser esse: Linux: Criando Redes Locais Virtuais (VLANs) com Linux [Artigo]

le tudo que voce vai entender melhor

espero que ajude.