public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Rajiv Rajaian <rajiv.grid@gmail.com>
Cc: kvm@vger.kernel.org
Subject: Re: Regarding routed networking with KVM
Date: Tue, 14 Sep 2010 11:15:37 +0100	[thread overview]
Message-ID: <20100914101537.GB16336@redhat.com> (raw)
In-Reply-To: <AANLkTimKyQXEjW9MbOjkUXK15fm2Xny+YM+mjLwsiKoJ@mail.gmail.com>

On Tue, Sep 14, 2010 at 03:28:56PM +0530, Rajiv Rajaian wrote:
> Hi all
> I have installed KVM with fedora13 operating system and I have
> successfully created guest operating system with virt-install.
> Also I have configured routed networking in host machine. Here's my
> routed networking configuration
> 
> [root@kvmcluster ~]# virsh net-dumpxml routed
> <network>
>   <name>routed</name>
>   <uuid>78b64a7e-48ed-4296-8794-a8450798d283</uuid>
>   <forward dev='eth0' mode='route'/>
>   <bridge name='virbr1' stp='on' delay='0' />
>   <ip address='144.68.100.100' netmask='255.255.255.0'>
>     <dhcp>
>       <range start='144.68.100.1' end='144.68.100.254' />
>     </dhcp>
>   </ip>
> </network>
> 
> Now I can reach the guest VM which is having static ip address
> 144.68.100.1 from the host machine(kvmcluster)
> 
> [root@kvmcluster ~]# ping 144.68.100.1
> PING 144.68.100.1 (144.68.100.1) 56(84) bytes of data.
> 64 bytes from 144.68.100.1: icmp_seq=1 ttl=64 time=0.910 ms
> 
> 
> The routing table entry of the host machine looks like this
> 
> [root@kvmcluster ~]# route -n
> Kernel IP routing table
> Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
> 10.2.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
> 192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
> 144.68.100.0    0.0.0.0         255.255.255.0   U     0      0        0 virbr1
> 169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
> 0.0.0.0         10.2.0.100      0.0.0.0         UG    0      0        0 eth0
> 
> From the Default gateway machine (10.2.0.100) which is in the same
> subnet as that of host machine  I have added a routing table entry as
> [root@careserver ~]# route add -net 144.68.100.0 netmask 255.255.255.0
> gw 10.2.0.100
> 
> Now I can't reach the guest VM with this routing entry.

This is because '10.2.0.100' is not the gateway for the subnet
you created. When you create a routed network in libvirt like
this, the gateway for that network is the host on which it is
running. This routing entry you added on the gateway machine
is just pointing the gateway back to itself - it still has
no clue which host has the 144.68.100.0 subnet. Your gateway
needs to know 'where do I send packets for 144.68.100.0?'.
The answer is the host 10.2.0.20...


Hence this second routing entry you show is the correct one:

> But when I have added the routing table entry with 10.2.0.20(host
> machine's ip) as gateway I can reach the guest VM
> [root@careserver ~]# route add -net 144.68.100.0 netmask 255.255.255.0
> gw 10.2.0.20

> 
> [root@careserver ~]# route -n
> Kernel IP routing table
> Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
> 10.2.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
> 192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
> 144.68.100.0    10.2.0.20       255.255.255.0   UG    0      0        0 eth0
> 169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
> 0.0.0.0         10.2.0.1        0.0.0.0         UG    0      0        0 eth0
> 
> Why the default gateway machine can't reach the guest VM with
> 10.2.0.100 as gateway. For each VM whether have to add separate
> routing table entry?

You aren't adding a routing table entry per VM here. You added
an entry for the entire subnet 144.68.100.0/255.255.255.0, which
you said has one VM on 144.68.100.1. This subnet can have many 
more VMs running on it without adding more routing table entries.


Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

  reply	other threads:[~2010-09-14 10:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-14  9:58 Regarding routed networking with KVM Rajiv Rajaian
2010-09-14 10:15 ` Daniel P. Berrange [this message]
2010-09-14 10:43   ` Rajiv Rajaian
2010-09-14 10:51     ` Daniel P. Berrange
2010-09-14 11:28       ` Rajiv Rajaian
2010-09-14 12:16         ` Daniel P. Berrange
2010-09-14 13:02           ` Rajiv Rajaian

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=20100914101537.GB16336@redhat.com \
    --to=berrange@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=rajiv.grid@gmail.com \
    /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