public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Dan Johansson <kvm@dmj.nu>
To: kvm@vger.kernel.org
Subject: Re: Networkconfiguration with KVM
Date: Mon, 5 Apr 2010 12:09:28 +0200	[thread overview]
Message-ID: <201004051209.28846.kvm@dmj.nu> (raw)
In-Reply-To: <4BB8F540.9010709@mgpi.de>

On Sunday 04 April 2010 22.23:28 Held Bernhard wrote:
> Am 04.04.2010 20:02, schrieb Dan Johansson:
> > On Sunday 04 April 2010 15.00:26 sudhir kumar wrote:
> >> On Sun, Apr 4, 2010 at 5:47 PM, Dan Johansson <kvm@dmj.nu> wrote:
> >>> Hi,
> >>>
> >>> I am new to this list and to KVM (and qemu) so please be gentle with
> >>> me. Up until now I have been running my virtualizing  using
> >>> VMWare-Server. Now I want to try KVM due to some issues with the 
> >>> VMWare-Server and I am having some troubles with the networking part of
> >>> KVM.
> >>>
> >>> This is a small example of what I want (best viewed in a fix-font):
> >>>
> >>>  +-----------------------------------+
> >>>
> >>>  | Host                              |
> >>>  |  +----------+                eth0 |---- 192.168.1.0/24
> >>>  |
> >>>  |  |      eth0|-- +                 |
> >>>  |  | VM1  eth1|---(---+------- eth1 |---- 192.168.2.0/24
> >>>  |  |      eth2|---(---(---+         |
> >>>  |
> >>>  |  +----------+   |   |   |         |
> >>>  |
> >>>  |  +----------+   +---(---(--- eth2 |---- 192.168.1.0/24
> >>>  |
> >>>  |  |      eth0|---+   |   |         |
> >>>  |  | VM2  eth1|-------+   +--- eth3 |---- 192.168.3.0/24
> >>>  |  |      eth2|-----------+         |
> >>>  |
> >>>  |  +----------+                     |
> >>>
> >>>  +-----------------------------------+
> >>>
> >>> Host-eth0 is only for the Host (no VM)
> >>> Host-eth1 is shared between the Host and the VM's (VM?-eth1)
> >>> Host-eth2 and Host-eth3 are only for the VMs (eth0 and eth2)
> >>>
> >>> The Host and the VMs all have fixed IPs (no dhcp or likewise).
> >>> In this example th IPs could be:
> >>> Host-eth0:      192.168.1.1
> >>> Host-eth1:      192.168.2.1
> >>> Host-eth2:      -
> >>> Host-eth3:      -
> >>> VM1-eth0:               192.168.1.11
> >>> VM1-eth1:               192.168.2.11
> >>> VM1-eth2:               192.168.3.11
> >>> VM2-eth0:               192.168.1.22
> >>> VM2-eth1:               192.168.2.22
> >>> VM3-eth2:               192.168.3.22
> >>>
> >>> And, yes, Host-eth0 and Host-eth2 are in the same subnet, with eth0
> >>> dedicated to the Host and eth2 dedicated to the VMs.
> >>>
> >>> In VMWare this was quite easy to setup (three bridged networks).
> >>
> >> Its easy with KVM too. You want 3 NICs per VM, so you need to pass the
> >> corresponding parameters(including qemu-ifup script) for 3 NICs to
> >> each VM.
> >> In the host you need to create 2 bridges: say br-eth1 and br-eth2.
> >> Make them as the interface on the host in place of the corresponding
> >> eth interfaces.(brct addbr br-eth1; ifcfg eth1 0.0.0.0 up; brctl addif
> >> br-eth eth1; assign eth1's ip and routes to breth1; same for eth2).
> >> In the corresponding qemu-ifup scripts of each interface use
> >> bridge=br-ethN (This basicaly translates to brctl addif br-ethN $1,
> >> where $ is the tap device created)
> >> This should work perfectly fine with your existing NW setup.
> >> For a quick reference use: http://www.linux-kvm.org/page/Networking
> >
> > Thanks for your help, but... I am still not able to get it to work the
> > way I want.
> > This is what I have don so far:
> > brctl addbr br-eth1
> > brctl addbr br-eth3
> >
> > ip link set eth1 up
> > ip link set eth3 up
> >
> > brctl addif br-eth1 eth1
> > brctl addif br-eth3 eth3
> >
> > tunctl -b -t qtap1
> > tunctl -b -t qtap3
> >
> > brctl addif br-eth1 qtap1
> > brctl addif br-eth3 qtap3
> >
> > ifconfig qtap1 up 0.0.0.0 promisc
> > ifconfig qtap3 up 0.0.0.0 promisc
> >
> > # ifconfig
> > eth0      Link encap:Ethernet  HWaddr 00:0d:88:52:51:24
> >           inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
> >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
> >           RX packets:443638 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:758540 errors:0 dropped:0 overruns:0 carrier:0
> >           collisions:0 txqueuelen:1000
> >           RX bytes:47041686 (44.8 MiB)  TX bytes:990115354 (944.2 MiB)
> >           Interrupt:19 Base address:0xec00
> >
> > eth1      Link encap:Ethernet  HWaddr 00:0d:88:52:51:25
> >           inet addr:192.168.4.1  Bcast:192.168.4.255  Mask:255.255.255.0
> >           UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
> >           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:6 errors:0 dropped:0 overruns:0 carrier:6
> >           collisions:0 txqueuelen:1000
> >           RX bytes:0 (0.0 B)  TX bytes:360 (360.0 B)
> >           Interrupt:18 Base address:0xe880
> >
> > eth3      Link encap:Ethernet  HWaddr 00:0d:88:52:51:27
> >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
> >           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
> >           collisions:0 txqueuelen:1000
> >           RX bytes:0 (0.0 B)  TX bytes:240 (240.0 B)
> >           Interrupt:16 Base address:0xe480
> >
> > qtap1     Link encap:Ethernet  HWaddr 26:c0:de:df:c5:e4
> >           UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
> >           RX packets:351 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> >           collisions:0 txqueuelen:500
> >           RX bytes:14742 (14.3 KiB)  TX bytes:0 (0.0 B)
> >
> > qtap3     Link encap:Ethernet  HWaddr 26:3e:ba:2d:97:bc
> >           UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
> >           RX packets:6 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> >           collisions:0 txqueuelen:500
> >           RX bytes:252 (252.0 B)  TX bytes:0 (0.0 B)
> >
> >
> > # brctl show
> > bridge name     bridge id               STP enabled     interfaces
> > br-eth1         8000.000d88525125       no              eth1
> >                                                         qtap1
> > br-eth3         8000.000d88525127       no              eth3
> >                                                         qtap3
> >
> >
> > This is the way I start the guest:
> > kvm -net nic,vlan=1,model=rtl8139,macaddr=52:54:00:12:34:56 -net
> > tap,vlan=1,ifname=qtap1,script=no,downscript=no -net
> > nic,vlan=3,model=rtl8139,macaddr=52:54:00:12:34:58 -net
> > tap,vlan=3,ifname=qtap3,script=no,downscript=no Robbie.img -m 1024
> >
> >
> > The eth3/br-eth3/qtap3 looks OK (I can ping the "default-GW" on that
> > network from the guest) but the connection to the "shared" interface
> > (eth1/br- eth1/qtap1) does not work, I can not ping or ssh to/from the
> > guest from/to the host. Do not ask me if I can ping any other host on
> > that network - there are no other host on the network yet, just the Host
> > and the guest.
> >
> > Any suggestions?
> 
> eth1 should not have an IP address:
> # ifconfig eth1 0.0.0.0
> 
> br-eth1 is not activated (it's missing in `ifconfig`), and it needs an
> IP address:
> # ifconfig br-eth1 192.168.2.1/24
> 
> Even if it works I would explicitly activate br-eth3 too:
> # ifconfig br-eth3 0.0.0.0 up
> 
> Looking at the output of `ifconfig` shows that the IP-address of eth0
> (192.168.1.3) doesn't match 192.168.1.1 from your address list, and eth1
> (192.168.4.1) is in a different network than the specified 192.168.2.1/24.

OK, the 192.168.1.3 - 192.168.1.1 is my typo, 192.168.1.3 is the correct IP 
for the Host on this interface.
I was first planning to use the 192.168.2.0/24 network here, but I had 
forgotten that that was already used somewhere else in my network, so I just 
picked the next "free" network address. Sorry for the confusion.

I have tried you suggestions above but I still have no network connection.

# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0d:88:52:51:25
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:3
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:180 (180.0 B)
          Interrupt:18 Base address:0xe880


# ifconfig br-eth1
br-eth1   Link encap:Ethernet  HWaddr 00:0d:88:52:51:25
          inet addr:192.168.4.1  Bcast:192.168.4.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:65 errors:0 dropped:0 overruns:0 frame:0
          TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3518 (3.4 KiB)  TX bytes:4750 (4.6 KiB)

# ifconfig br-eth3
br-eth3   Link encap:Ethernet  HWaddr 00:0d:88:52:51:27
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Regards,
-- 
Dan Johansson, <http://www.dmj.nu>
***************************************************
This message is printed on 100% recycled electrons!
***************************************************

  reply	other threads:[~2010-04-05 10:09 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-04 12:17 Networkconfiguration with KVM Dan Johansson
2010-04-04 13:00 ` sudhir kumar
2010-04-04 18:02   ` Dan Johansson
2010-04-04 20:23     ` Held Bernhard
2010-04-05 10:09       ` Dan Johansson [this message]
     [not found]         ` <z2sbb653c6e1004050434g209dcc0cmc330c2e391cd68d4@mail.gmail.com>
2010-04-05 14:35           ` Dan Johansson
2010-04-05 16:00             ` David Mair
     [not found]             ` <4BBA024A.7060504@mgpi.de>
2010-04-05 16:25               ` Dan Johansson
     [not found]               ` <4BBA2281.906@mgpi.de>
2010-04-05 18:04                 ` Dan Johansson
2010-04-05 18:34                   ` David S. Ahern
2010-04-05 20:04                   ` Held Bernhard
2010-04-11 15:41                     ` Dan Johansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201004051209.28846.kvm@dmj.nu \
    --to=kvm@dmj.nu \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox