Linux box with IP aliasing and iptables – every device gets its own subnet

Or my preference, OpenBSD box with IP aliasing and pf

http://www.openbsd.org/faq/faq6.html#Setup.aliases