A tool for teaching and learning about systems, networks and security

Authors: Carlos Perez & David Perez
Date: 2016-11-03


What is NETinVM?

NETinVM is a single VMware or VirtualBox virtual machine image that contains, ready to run, a series of User-mode Linux (UML) virtual machines which, when started, conform a whole computer network inside the VMware or VirtualBox virtual machine. Hence the name NETinVM, an acronym for NETwork in Virtual Machine. NETinVM has been conceived mainly as an educational tool for teaching and learning about operating systems, computer networks and system and network security, but other uses are certainly possible.


Contact Information

You can contact us at:


Current version (November 3, 2016)

  • VMware image: 2016-11-03_vmware_zip (ZIP file, 2,2 GB)
    • MD5: 3396d92f07d52471fa65b614086de396
    • SHA256: 922c5674f27bbc4612c3c1558ffc89c922077cbebdc682cf827a919bcdf514a1
  • Known issues
    • It is not recommended to use "shutdown -r now" in the UML machines. Instead, it is recommended to use "shutdown -h now" and, then, start the UML machine with "".
    • When UML terminals are resized, it is necessary to execute "resize" in the corresponding terminal.
  • Changelog from previous version:
    • UML operating system is now Debian 8
    • base operating system is Debian 8
    • "Kill all" added to facilitate cleanup when "Shutdown all" leaves UML processes running.

Previous version (July 23, 2015)

  • VMware image: 2015-07-23_vmware_zip (ZIP file, 2,3 GB)
    • MD5: 0a9812d77645228a483b39fada65dd76
    • SHA256: 1b95b52fac214b0e3f0dd4fba718920cfc327a252c2790d359fc6db7d274764f
  • Known issues:
    • Debian 6 (used in the UML machines) has reached "End of life" status on 29th of February 2016, so the repositories included in the NETinVM image are no longer valid.

      To overcome this problem:
      • The file "uml_machines_2016-04-01_14-19_apt-sources.tgz" can be used as a restoration file for the "Restore UML machines" procedure. (Note that this will discard all UML filesystem changes that the user could have done).
      • Alternatively, the following script can be run in each UML machine to update the repositories. ("").
  • Changelog from previous version:
    • base operating system is openSUSE 13.2
    • "Run_my_UMLs" added to facilitate running only selected UML machines.
    • "fw" modified to permit package repositories access from within DMZ machines.

Older versions

  • VirtualBox image: 2013-01-28_vbox_zip (ZIP file, 2,8 GB)
    • MD5: 67105092096c3d2e1607bf06f1b5ea21
    • SHA256: 6d4490b14d9c82b1bab40c72f08b06897794c9dc827c2829631c93cf289e5a98
  • VMware image: 2013-01-28_vmware_zip (ZIP file, 3,4 GB)
    • MD5: 5da4430b34ada541d77f6a1333f0c627
    • SHA256: 8e95b5b807b1dd10d949983640e1e201ebdbae1242d0bc1b0b9310f9bdf7a74a
  • Changelog from previous version:
    • UML operating system is now Debian 6
    • base operating system is openSUSE 12.1
    • dnsmasq is used in base as DNS and DHCP server