So why not just use aliases for eth0 or some such like this (from the man page of ifconfig)
Originally Posted by smcc-wks
See here for practical examples.
The name of the interface. This is usually a driver name fol‐
lowed by a unit number, for example eth0 for the first Ethernet
interface. If your kernel supports alias interfaces, you can
specify them with eth0:0 for the first alias of eth0. You can
use them to assign a second address. To delete an alias inter‐
face use ifconfig eth0:0 down. Note: for every scope (i.e. same
net with address/netmask combination) all aliases are deleted,
if you delete the first (primary).
Edit: The only gotcha in this is that FOG server must be in a single network with all the VLANS inside. You mention that FOG uses broadcasts, so nothing will cross a router. An example would be a network of 192.168.0.0/16 . All subnets (254 of them) are in the same Network (broadcast range).