qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Adding support for Stateless Static NAT for TAP devices


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] Adding support for Stateless Static NAT for TAP devices
Date: Thu, 30 Aug 2012 11:43:51 +0100

On Thu, Aug 30, 2012 at 10:27 AM, John Basila <address@hidden> wrote:
> I have tried NAT and this is why I came up with this feature.

QEMU's net/tap.c is the wrong place to add NAT code.  The point of tap
is to use the host network stack.  If you want userspace networking,
use -netdev user or -netdev socket.

Please look into iptables more.  I have CCed the netfilter mailing
list.  The question is:

The host has several tap interfaces (tap0, tap1, ...) and the machine
on the other end of each tap interface uses IP address 10.0.0.2.  So
we have:

tap0 <-> virtual machine #0 (10.0.0.2)
tap1 <-> virtual machine #1 (10.0.0.2)
tap2 <-> virtual machine #2 (10.0.0.2)

Because the virtual machines all use the same static IP address, they
cannot communicate with each other or the outside world (they fight
over ARP).  We'd like to NAT the tap interfaces:

tap0 <-> virtual machine #0 (10.0.0.2 NAT to 192.168.0.2)
tap1 <-> virtual machine #1 (10.0.0.2 NAT to 192.168.0.3)
tap2 <-> virtual machine #2 (10.0.0.2 NAT to 192.168.0.4)

This would allow the virtual machines to communicate even though each
believes it is 10.0.0.2.

How can this be done using iptables and friends?

Thanks,
Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]