Ага, понял, что нужно!
Можно попробовать реализовать такое в линуксе через iptables и vconfig.
Заводим на коммутаторах по vlan на устройство. Все виланы поднимаем на линуксе через vconfig. Будет куча виртуальных портов типа v0002 ... vXXXX.
Каждому интерфейсу присваиваем адрес из подсети 192.168.0.x
ip addr add 192.168.0.12/32 dev v0002
ip addr add 192.168.0.13/32 dev v0003
ip addr add 192.168.0.14/32 dev v0004
...
ip addr add 192.168.0.XX/32 dev v00XX
Далее, на каждом IP делаем редирект на нужный интерфейс
iptables -t nat -A PREROUTING -i v0002 -j DNAT --to 192.168.0.1
iptables -t nat -A PREROUTING -i v0003 -j DNAT --to 192.168.0.1
iptables -t nat -A PREROUTING -i v0004 -j DNAT --to 192.168.0.1
...
iptables -t nat -A PREROUTING -i v00XX -j DNAT --to 192.168.0.1
Таким образом, при обращении на адрес 192.168.0.14 запрос будет уходить в нужный вилан.
Можно попробовать сделать тоже самое через POSTROUTING с изменением адреса отправителя и порта назначения.