Version: 1.1.3

netkit - manpage

NAME

Netkit - The NETwork emulation toolKIT

DESCRIPTION

Netkit is a self-contained low cost solution for the emulation of computer networks. Within the Netkit environment each network device is implemented by a virtual machine, and interconnection links are emulated by using virtual collision domains (which you can see as virtual hubs).

Each virtual machine can be configured to have an arbitrary number of (virtual) network interfaces. Virtual machines can also be configured to have no interfaces at all, in which case they can serve as standalone emulated hosts. However, this is not the application Netkit has been thought for. Netkit is not a host emulator: it is a network emulator.

Virtual machines use a customized filesystem which contains a standard Linux installation (at the time this man page is being written, it is a Debian distribution), which includes network oriented software such as routing daemons (RIP, OSPF, etc.), a bunch of servers (FTP, HTTP, etc.), firewalling utilities (iptables), diagnostic tools (ping, traceroute, tcpdump, etc.), and other applications. By configuring the appropriate software, it is possible to make a virtual machine behave as a specific network device (e.g., a router). See the README in the Netkit filesystem package or the online FAQs for instructions about changing the contents of the virtual machine filesystems.

Virtual machines make use of a variant of the standard Linux kernel which is compiled to be run as a userspace process. This variant is known as User Mode Linux (UML) kernel. You can find more information about UML at the User-mode Linux Kernel Page (http://user-mode-linux.sourceforge.net). See also the README in the Netkit kernel package for information about building a customized kernel for the virtual machines.

Netkit provides you with two alternative interfaces to start and configure virtual machines. A set of 'v'-prefixed commands (vclean, vconf, vcrash, vhalt, vlist, vstart), which allow to start and manage single virtual machines while providing finegrained control on their configuration, and a set of 'l'-prefixed commands (lclean, lcrash, lhalt, linfo, lrestart, lstart, ltest), which ease setting up preconfigured network laboratories consisting of several virtual machines.

ENVIRONMENT VARIABLES

In order for Netkit to work properly, the environment variable NETKIT_HOME must be set to the name of the directory Netkit has been installed into.
The VLAB_HOME variable is recognized as well, but this only happens for backward compatibility. New Netkit installations and upgrades should use NETKIT_HOME instead.

FILES

Netkit stores its default configuration settings inside a file named 'netkit.conf'. The existence of this file is required in order to make Netkit work. See netkit.conf(5) for information about the location of this file and a description of its format.

SEE ALSO

lclean(1), lcrash(1), lhalt(1), linfo(1), lrestart(1), lstart(1), ltest(1), vclean(1), vconf(1), vcrash(1), vhalt(1), vlist(1), vstart(1), lab.conf(5), lab.dep(5), netkit.conf(5), Netkit filesystem README, Netkit kernel README, Netkit-JH Home Page

(https://netkit-jh.github.io),

Netkit Home Page

(http://www.netkit.org),

The Linux Kernel Archives

(http://www.kernel.org),

The User-mode Linux Kernel Home Page

(http://user-mode-linux.sourceforge.net).

AUTHOR

This man page: Massimo Rimondini

Netkit-JH is a fork of the Netkit-NG project, which is a fork of the original Netkit project. The Netkit-JH fork aimed to update Netkit-NG which stopped development in 2014 and sought to use a modern Debian distribution and kernel, as well as bring new features to the project.
Netkit-JH's development is carried out on the netkit-jh's GitHub: https://github.com/netkit-jh/. The project is maintained by Joshua Hawking at the University of Warwick, along with several other students there.

Below is the original authors of Netkit, who without them, this project would not exist.

Netkit is the result of the joint work of several people. The project is carried on by the Department of Computer Science and Automation of the University of Roma 3

(http://www.dia.uniroma3.it).

More precisely, people at the LUG (Linux User Group) Roma 3

(http://www.lugroma3.org/)

gave the initial startup and brought significant contributions that made Netkit become a progressively more powerful environment. People within the Computer Networks Research Group

(http://www.dia.uniroma3.it/~compunet)

actively supported the LUG team by providing new ideas and implementing new features, and authored the most recent releases.

At the time this man page is being written, the project is entirely carried on by the Computer Networks Research Group.

The Netkit team currently consists of:
Giuseppe Di Battista
Maurizio Patrignani
Maurizio Pizzonia
Massimo Rimondini

People involved across time also include:
Andrea Cecchetti
Lorenzo Colitti
Matteo Corea
Federico Mariani
Stefano Pettini
Flavia Picard
Fabio Ricci

The Netkit team can be reached at the following address: <contact@netkit.org>. You can also use this address to submit bug reports. Alternatively, you can contact us via the mailing list <netkit.users@dia.uniroma3.it>.

REPORTING BUGS

Report bugs to the Github issues page: https://github.com/netkit-jh/netkit-jh-build/issues

Please follow the recommended templates when reporting bugs.