Thanks for the info. I've managed to get it working by putting the tap devices for the two VMs on different networks (192.168.2.0 and 192.168.3.0). Both machines are booting OK now.
I'd still like to find a way of running both the VMs through a single host device, as if I add any more then my firewall rules are going to get insanely complex. But I'm not planning to do this in the near future so I'm ok for now. Cheers, andy Jonas Meyer wrote: > What you are trying to do is possible, but requires a little bit of > funny command line scripting. Here are some scripts I wrote to boot UML > machines. You will need to create /etc/uml/, a uml-net user group, and > put each virtual machine as a user in its own home directory. Swap > files should be named swap and root filesystems should be named root_fs. > swap and root_fs should be owned by the user that the virtual machine > runs as. > > add the following to /etc/rc.local > > ------------------------------------------------------ > # Copyright Jonas Meyer 2009. This script is licensed under the latest > # version of the GPL, which is currently 3, and the full text of which > # is available at fsf.org > > # Make it so UMLs can use tuntap > chown root:uml-net /dev/net/tun > > # Make the host forward low level network packets from the UMLs to the > local > # subnet. This let's routers and stuff think that UMLs are real > machines. > echo 1 > /proc/sys/net/ipv4/ip_forward > > # This is a workaround for a bug where permenant entries disappear from > the > # arp table. Don't ask. I have no idea how this works. > echo 512 > /proc/sys/net/ipv4/neigh/default/gc_thresh1 > echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh2 > echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh3 > echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp > > # Finally, crank up each UML. Order is important, as some depend on > others' > # services. > /etc/uml/machine1.sh > sleep 15 > /etc/uml/machine2.sh > > > -------------------------------------------------------------- > > #!/bin/sh -e > > # Copyright Jonas Meyer 2009. This script is licensed under the latest > # version of the GPL, which is currently 3, and the full text of which > # is available at fsf.org > > # Set global variables > HOST_ADAPTER="eth0" > HOST_IP="xxx.xxx.xxx.xxx" > GUEST_IP="xxx.xxx.xxx.xxy" > USER="machine1" > TAP="machine1tap" > MAC="fe:fd:00:00:00:00" > MEMORY="48M" > > # make a tap interface (fake ethernet link that the host and guest > communicate via > tunctl -u $USER -b -t $TAP > ifconfig $TAP $HOST_IP up netmask 255.255.255.255 > > # tell the host how to talk to the uml > route add -host $GUEST_IP dev $TAP > > # make the host forward low level ip packets from umls to local subnet > # This lets routers and stuff know how to find the uml > echo 1 > /proc/sys/net/ipv4/conf/$TAP/proxy_arp > > # now do it back the other way to the uml > arp -Ds $GUEST_IP $HOST_ADAPTER pub > > # Crank up UMLs > screen -d -m -S $USER su - $USER -c > "cd /home/$USER ; /usr/local/bin/linux ubda=root_fs ubdb=swap > eth0=tuntap,$TAP,$MAC mem=$MEMORY" > > ---------------------------------------------------------------- > > pull out the extra linebreaks added by email and you should be good to > go. > > Jonas > > > On Fri, 2009-08-21 at 00:13 +0100, andy baxter wrote: > >> hi, >> >> I have two virtual machines, dolphin and anthill, running on a single >> real machine, whale. I am trying to set them both up to serve websites. >> dolphin is for my personal stuff and anthill is for a site that I'm >> doing with some other people - I want to be able to give them root >> access to the vm but not to whale or dolphin. >> >> The problem I'm having is getting the networking set up right. I can >> start either of the vms separately, and they start up OK, but when I >> start them both together, the second one to start can't start its >> network. I've tried two ways of doing it: >> >> - using a single tap device (tap0), with the IP 192.168.2.1, and dolphin >> on 192.168.2.2, anthill on 192.168.2.3 >> - using two tap devices (tap0=192.168.2.1 --> dolphin=192.168.2.2, >> tap1=192.168.2.3 --> anthill=192.168.2.4) >> >> Neither of these seem to work. >> >> Before I try anything else, it would be good to know if what I'm trying >> to do is possible in principle, or if there are limitations in the way >> TUN/TAP works which I need to know about. What I really want is to have >> a virtual network of VMs all on the same network with a single route >> (tap device) to the host computer. The reason for this is that whale is >> also serving as my network firewall, and it's awkward to define rules >> for multiple interfaces in shorewall. >> >> Is this possible? >> >> Thanks, >> >> andy >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >> trial. Simplify your report design, integration and deployment - and focus >> on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> User-mode-linux-user mailing list >> User-mode-linux-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user >> > > > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ User-mode-linux-user mailing list User-mode-linux-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user