Specifically: the goal would be to model a small "internet" that would fit in as many isolated small VMs as could fit on a single 64GB ubuntu box (say, 30-ish hosts maybe at I would build this up incrementally, starting from one host talking to its local dhcp, and adding hosts little by little. I imagine this can be done in a reasonably straightforward way with a bunch of qemu command-lines, apt installs and configuration of the various servers in the path.
PS: I can see that there are systems like mininet and gns3 out there, but it seems like they introduce a layer above all the actual systems beneath. Maybe that's worthwhile, it's hard for me to tell.