. Project:

DinoUML


. Author and link(s):

Catalin(ux aka Dino) BOIE
http://kernel.umbrela.ro/


. Description:

Powerful tool to simulate big networks. Very easy configuration files.
Every topology has its own directory. In the near future, will be 
possible to link topologies.
Supports: IPv4, IPv6, QOS (HTB), NETEM (simulates configurable duplicates,
drops, out-of-order), bridges, tunnels, vlans).
It is a wrapper around User Mode Linux.


. What are the requirements:

- Optional, install the SKAS kernel patch for maximum speed.
You can get it from http://www.user-mode-linux.org/~blaisorblade/
- Make sure you have uml_utilities (in external directory you have a 
Slackware package and the sources).
- Please, install this in /data and make a link named DinoUML to DinoUML-ver.
This is for now, till I will restructure the tree.


. The root filesystem

After you downloaded DinoUML archive you have to create a root filesystem.
BusyBox image can be easily build, running mkroot in roots/BusyBox 
directory. A Slackware image can be build if you have a repository 
mounted somewhere. Edit mkroot and then run it.
Take care and, in roots dir, make a link named "default" from favourite 
image.


. Already defined users:
There are 2 users on the system:
- catab, with password @@@
- root, with password you choose at mkroot time


. Quagga

For zebra/ospf/bgp, password is zebra and enable password is zebra or zebra2.


. Graphics

If you want some nice PNGs generated form SVGs, do "make pngs".


. Creating a new topology

1. Make a directory that will contain your topology. Let's name it newtop.

2. Create newtop/main.conf file. Check cfg/examples direcory for how to write
it.

3. Create newtop/xxx.conf files where xxx is the name of every device listed in
main.conf, hosts= variable. Pay attention on port= variable. It is a port
where you can do telnet. Must be different on every conf file.
Check cfg/examples directories for what to write there.

4. Optional, create directory newtop/overlay. You can store here files 
that will be automaticaly copied inside every guest.

5. Optional, create directory newtop/overlay_xxx, for every guest.

6. Run dinouml newtop run

7. Now you can connect to the virtual machine.


. How to access the virtual machine?

2 possibilities:
- First, you can specify port=... in .conf file and then, you can telnet 
to it.

- Second, you can configure a tap interface in main.conf.
	Take a look in examples/e1/main.conf to see how.


. How guests an access Internet?

If you want access to internet from inside guests, you must add on host:
iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -j SNAT \
	--to-source PUT_YOUR_HOST_IP_HERE
You may need to change 10.10.0.0/16 to something else.
On guests, you must add an interface to link with host and add a default 
route.


Last, check examples directory for more documentation.


. Thanks

I want to thank Jeff Dike, Blaisorblade and others for UserModeLinux.
