Netkit (www.netkit.org) might be useful. It automates a lot of the
process of setting up virtual links. It can handle the tuntap side of
things quite well. I set it up so I can ssh to each of the virtual
machines directly from my Linux machine, so there's no reason you
shouldn't be able to get the virtual machines to use your Linux
machine as the default gateway, for routing.

Cheers
Simon

On Mon, Apr 26, 2010 at 4:36 PM, Leo Prasath <leo.pras...@gmail.com> wrote:
> I am setting up multiple UML machines to simulate multiple machines
> communicating through a router using "http://read.cs.ucla.edu/click/"; .
> So, I need separate virtual interfaces for each UML so that the router can
> see several machines.
>
> Actually, I figured out the problem of why my second UML machine is not able
> to talk to the world.
> It sends arp request for which there is no response.
>
> When the first UML machines runnning on tap2 asks for arp requests:
>
> [r...@host machine]# tcpdump -i tap2
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on tap2, link-type EN10MB (Ethernet), capture size 96 bytes
> 01:30:06.156300 arp who-has 192.168.1.3 tell 192.168.1.157
> 01:30:06.159457 arp reply 192.168.1.3 is-at 7e:6c:d7:2b:4b:c2 (oui Unknown)
>
> But, there is no reply when UML 2 asks :
>
> [r...@host machine]# tcpdump -i tap3
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on tap3, link-type EN10MB (Ethernet), capture size 96 bytes
> 01:30:47.696259 arp who-has 192.168.1.2 tell 192.168.1.221
> 01:30:48.687073 arp who-has 192.168.1.2 tell 192.168.1.221
> 01:30:49.687283 arp who-has 192.168.1.2 tell 192.168.1.221
> 01:30:50.699133 arp who-has 192.168.1.2 tell 192.168.1.221
> 01:30:51.699274 arp who-has 192.168.1.2 tell 192.168.1.221
>
>
> Is there any reason why this should happen ?
>
> The commands that I used for setting up tap2 and tap3 are :
>
> tunctl -t tap2
> ifconfig tap2 192.168.1.2 up
> echo 1 > /proc/sys/net/ipv4/conf/tap2/proxy_arp
> iptables -I FORWARD -o tap2 -j ACCEPT
> iptables -I FORWARD -i tap2 -j ACCEPT
>
> tunctl -t tap3
> ifconfig tap3 192.168.1.3 up
> echo 1 > /proc/sys/net/ipv4/conf/tap3/proxy_arp
> iptables -I FORWARD -o tap3 -j ACCEPT
> iptables -I FORWARD -i tap3 -j ACCEPT
>
> route add -host 192.168.1.2 dev tap2
> route add -host 192.168.1.3 dev tap3
>
> arp -Ds 192.168.1.2 eth0 pub
> arp -Ds 192.168.1.3 eth0 pub
>
> echo 1 > /proc/sys/net/ipv4/ip_forward
> iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
>
> 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
>
>
> Any help is very much appreciated
>
> -Leo
>
>
> On Mon, Apr 26, 2010 at 1:57 AM, Rahul Gauba <rahul_ga...@yahoo.com> wrote:
>>
>> Hi!,
>>
>>     I think you can still work with a single tap device and keep it
>> simple. I generally run 4-5 UML on a single host and all of them are
>> reachable from other machines on the LAN. Assuming that my machine as a
>> static IP 10.121.32.231, I run multiple UML instances as:
>> ./linux-2.6.24-rc7 mem=1400M ubda=./Fedora_fs eth0=tuntap,,,10.121.32.231
>>
>> When the UML comes UP, login to the UML instance, assign a static IP to
>> eth0 and add a default route on each UML instance. This should get all your
>> UMLs on the LAN.
>>
>> Thanks,
>> Rahul
>>
>> ________________________________
>> From: Leo Prasath <leo.pras...@gmail.com>
>> To: user-mode-linux-user@lists.sourceforge.net
>> Sent: Mon, April 26, 2010 10:04:40 AM
>> Subject: [uml-user] UML Networking setup
>>
>> Hi All,
>>
>> I am having trouble setting up networking with multiple UML instances on
>> the same machine.
>>
>> The host machine is on a subnet with IP 128.105.104.106.
>>
>> I am creating two UML instances and I want to make sure they both can
>> communicate with each other.
>> I do not want to use a bridge ( because I want all the packets to go
>> through the host machine so that I can play around with Click router
>> simulator ).
>>
>> I first tried creating two tap devices in the same subnet 192.168.0.0/24.
>> And I started two UML instances on each of these tap devices.
>> The first one could connect to outside world. But the second UML instance
>> had problems.
>> So, I tried with each of the tap devices on two different subnets like
>> below :
>>
>>
>> tap2      Link encap:Ethernet  HWaddr 4E:E2:99:EE:A5:A1
>>           inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
>>           inet6 addr: fe80::4ce2:99ff:feee:a5a1/64 Scope:Link
>>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>           RX packets:524 errors:0 dropped:0 overruns:0 frame:0
>>           TX packets:407 errors:0 dropped:27 overruns:0 carrier:0
>>           collisions:0 txqueuelen:500
>>           RX bytes:55603 (54.2 KiB)  TX bytes:62939 (61.4 KiB)
>>
>> tap3      Link encap:Ethernet  HWaddr C6:04:42:8B:80:47
>>           inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
>>           inet6 addr: fe80::c404:42ff:fe8b:8047/64 Scope:Link
>>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>           RX packets:259 errors:0 dropped:0 overruns:0 frame:0
>>           TX packets:94 errors:0 dropped:27 overruns:0 carrier:0
>>           collisions:0 txqueuelen:500
>>           RX bytes:19790 (19.3 KiB)  TX bytes:16796 (16.4 KiB)
>>
>> I have run the following commands for each of the tap devices :
>>
>> iptables -t nat -I POSTROUTING -o tap3 -j MASQUERADE
>> iptables -I FORWARD -o tap2 -j ACCEPT
>> iptables -I FORWARD -i tap2 -j ACCEPT
>>
>> I start my UML instances with the following commands:
>>
>> ./kernel64-2.6.33.2_64 ubda=CentOS5-AMD64-root_fs_64_2
>> eth0=tuntap,tap3,fe:f0:00:00:00:03,192.168.1.3  con0=fd:0,fd:1 mem=256M
>> ./kernel64-2.6.33.2_64 ubda=CentOS5-AMD64-root_fs_64_1
>> eth0=tuntap,tap2,fe:f0:00:00:00:03,192.168.0.2  con0=fd:0,fd:1 mem=256M
>>
>> Can someone give me some pointers on how to setup 2 or more UML instances
>> on the same host ?
>>
>> Thanks,
>> -Leo
>>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> User-mode-linux-user mailing list
> User-mode-linux-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user
>
>

------------------------------------------------------------------------------
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Reply via email to