[et-mgmt-tools] ARP failing when I ping from host to guest
kewlemer
kewlemer at gmail.com
Sun Nov 4 01:23:53 UTC 2007
I'm running x86_64 Fedora7 host and 32 bit Fedora 7 guest on KVM. Here
what the default bridged network setting gave me -
HOST -
[root fed-amd64 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1A:A0:56:52:E5
inet addr:192.168.1.9 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21a:a0ff:fe56:52e5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1
RX packets:4144 errors:0 dropped:0 overruns:0 frame:0
TX packets:4490 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3143529 (2.9 MiB) TX bytes:1026716 (1002.6 KiB)
Interrupt:23 Base address:0x6000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:11074 errors:0 dropped:0 overruns:0 frame:0
TX packets:11074 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:49074613 (46.8 MiB) TX bytes:49074613 (46.8 MiB)
virbr0 Link encap:Ethernet HWaddr 00:FF:EE:14:6D:91
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:61 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9261 (9.0 KiB) TX bytes:12220 (11.9 KiB)
vnet0 Link encap:Ethernet HWaddr 00:FF:EE:14:6D:91
inet6 addr: fe80::2ff:eeff:fe14:6d91/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:61 errors:0 dropped:0 overruns:0 frame:0
TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:10115 (9.8 KiB) TX bytes:7195 (7.0 KiB)
[root fed-amd64 ~]#
Here is what the GUEST landed up with when using the default configuration-
[root fed-guest ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3E:6B:C6:36
inet addr:192.168.122.195 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 addr: fe80::216:3eff:fe6b:c636/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1
RX packets:4144 errors:0 dropped:0 overruns:0 frame:0
TX packets:4490 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3143529 (2.9 MiB) TX bytes:1026716 (1002.6 KiB)
Interrupt:23 Base address:0x6000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:11074 errors:0 dropped:0 overruns:0 frame:0
TX packets:11074 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:49074613 (46.8 MiB) TX bytes:49074613 (46.8 MiB)
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:61 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9261 (9.0 KiB) TX bytes:12220 (11.9 KiB)
[root fed-guest ~]#
To be more specific, I'm doing a tcpdump on guest's
eth0(192.168.122.195). When the host pings 192.168.122.195, I see
following -
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
12:15:49.058031 arp who-has 192.168.122.195 tell 192.168.122.1
12:15:51.065437 arp who-has 192.168.122.195 tell 192.168.122.1
12:15:52.069123 arp who-has 192.168.122.195 tell 192.168.122.1
12:15:53.071852 arp who-has 192.168.122.195 tell 192.168.122.1
12:15:55.077218 arp who-has 192.168.122.195 tell 192.168.122.1
When the guest's eth0 is receiving ARP for it's right IP address, why
is it not responding?
Here are the routing tables -
HOST-
[root fed-amd64 ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.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
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0
0 eth0
[root fed-amd64 ~]#
GUEST-
[root guest~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0
0 virbr0
192.168.122.0 0.0.0.0 255.255.255.0 U 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 192.168.122.1 0.0.0.0 UG 0 0 0 eth0
[root guest ~]#
The problem is that I'm unable to ping from the host to the guest (to
192.168.122.195). tcpdump shows that guest is not responding to ARPs
for 192.168.122.195. Can anyone tell me why? I can ping the host's
eth0 from the guest though. Are my eth0 and virbr0 settings correct? I
see that the hw address of virbr0 of guest is 0, while that of host
is non-0 - is that alright?
Note that I have iptables and SELinux turned off.
The found these references, but unfortunately they went of help in my case -
http://watzmann.net/blog/index.php/2007/04/27/networking_with_kvm_and_libvirt
http://www.gnome.org/~markmc/virtual-networking.html
The other thing I tried was to have a tun/tap driver like UML. So I
set up tap0 on the host as 10.90.93.1. Then I changed eth0 of QEMU-KVM
guest to 10.90.93.50. Then again the ARP response from the guest
failed. Here are the relevant details -
HOST-
[root at fed-amd64 ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.90.93.50 0.0.0.0 255.255.255.255 UH 0 0 0 tap0
192.168.1.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
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
[root at fed-amd64 ~]#
[root at fed-amd64 ~]# arp -a
? (192.168.1.1) at 00:E0:98:53:63:0E [ether] on eth0
[root at fed-amd64 ~]#
//note that it's not seeing 10.90.93.50 since the guest is not responding
GUEST-
root at guest ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.90.93.0 0.0.0.0 255.255.255.255 U 0 0 0 eth0
0.0.0.0 10.90.93.1 0.0.0.0 UG 0 0 0 eth0
[root at guest ~]#
[root at guest]# arp -a
[root at guest]#
tcpdump dump on tap0 shows that the host is not getting the ARP
response for 10.90.93.50. However when a do a tcpdump on eth0 of host,
it's not receiving the pings at all. Can anyone tell me what I'm
missing in this case.
Any pointers greatly appreciated.
Thanks in advance,
KM
More information about the et-mgmt-tools
mailing list