Note: Before trying this demo, you should be sure to try Quick Demo: Basics first to install SBUML and make sure it works on your machine.
SBUML uses UML's tun/tap interface, which uses a utility called uml_net to set up IP forwarding and routing. To do this, uml_net must be given root privileges, as explained in the User-Mode Linux project website: Virtual Networking
SBUML makes it easy to give uml_net root privileges by popping up a window the first time a networking device is brought up. If SBUML is freshly installed and networking has never been used, you can do the following:
Then follow the four steps that are displayed:
The uml_net utility is the only part of SBUML that runs with root privileges. The rest, including all of the code in snapshots, runs with normal user restrictions.
Networking in Snapshots
Web Page Snapshots can come with networking preconfigured. When the following two snapshots are restored together, they will ping each other. (This has been tested on Redhat 8.0 and Knoppix hosts. Sometimes it takes 10 to 30 seconds for the first ping to get though, for reasons that I am interested in learning.)
Ping1 (80KB delta from test1/toms) : Machine with IP 10.0.0.2 pinging 10.0.0.1
Ping2 (80KB delta from test1/toms) : Machine with IP 10.0.0.1 pinging 10.0.0.2
Here is a similar example with an active socket connection between two machines. Typing in the virtual console of one machine and pressing return will send the characters to the other machine's virtual console. (This has been tested on Redhad 8.0 and Knoppix hosts. Sometimes it takes 10 to 30 seconds for the first characters to get though, for reasons that I am interested in learning. There also may be timeout issues that will eventually break this demo, so be amazed if it works :-) At the very least, you should be able to type ^C in each virtual console and then type ^P to recall the nc commands and reestablish the connection from scratch.
nc-server (72KB delta from ping1/test1/toms) : Machine with IP 10.0.0.2 doing nc -l -p 1234
nc-client (72KB delta from ping2/test1/toms) : Machine with IP 10.0.0.1 doing nc 10.0.0.2 1234