First post, sorry if I don''t get the etiquette right.
I''m running a clean install of Debian, behaving as a NAT courtesy of
some iptables scripting, then with the xen-linux-system-2.6.32-5-xen
APT package installed (listed as version 2.6.32-45). The
xen-hypervisor-4.0-amd64 is listed as version 4.0.1-4. qemu is
xen-qemu-dm-4.0 (version 4.0.1-2+squeeze1).
The relevant portion of my xend-config.sxp is:
(network-script ''network-bridge netdev=eth0 bridge=eth0'')
Which seems to be working fine, because upon inspection it renames
eth0 to peth0 and creates a bridge named eth0 with it in it. When I
start guest domains (either HVM or PV), their respective vif appear in
the list as well.
Here''s the puzzle: my HVM Windows XP domain is correctly handling
DHCP, joining the network, and has full Internet and network access.
But my PV Debian stalls waiting for a DHCPOFFER until it gives up,
even though I see both the DHCPREQUEST and DHCPOFFER response in the
syslog of the host machine (which is using dnsmasq). In addition, if
I assign static information to the interface on the PV domU, it has
full network access. To me this is not an acceptable solution because
I prefer to use DHCP address reservations on the dom0 to manage the
whole network.
SO:
dom0 is acting as NAT properly (different physical machines DHCP and
have network access)
domU HVM functions properly with DHCP and network access
domU PV functions properly with static information and network access
domU PV seems to have no network access when set to DHCP
Why?
Is this a problem with the paravirtualized guest not using the qemu
layer and somehow causing a different result? I''ve searched all over
the place and unfortunately the only documentation I can find is
incomplete for 4.0, outdated from 3.0, or so obscure that I can''t tell
what version it''s supposed to be from at all.
Any help with this, even if you can just speculate to get me in the
right direction, would be greatly appreciated!
If I''ve left out any information, please let me know.
dom0:
Linux www 2.6.32-5-xen-amd64 #1 SMP Sun May 6 08:57:29 UTC 2012 x86_64 GNU/Linux
==========downloader.cfg (PV domU)=========#
# Configuration file for the Xen instance downloader, created
# by xen-tools 4.2 on Wed Jun 13 23:27:32 2012.
#
#
# Kernel + memory size
#
kernel = ''/boot/vmlinuz-2.6.32-5-xen-amd64''
ramdisk = ''/boot/initrd.img-2.6.32-5-xen-amd64''
vcpus = ''1''
memory = ''256''
#
# Disk device(s).
#
root = ''/dev/xvda1 ro''
disk = [
''file:/var/lib/xen/images/domains/downloader/disk.img,xvda1,w'',
]
#
# Physical volumes
#
#
# Hostname
#
name = ''downloader''
#
# Networking
#
dhcp = ''dhcp''
vif = [ ''mac=00:16:3E:2E:04:99,bridge=eth0'' ]
#
# Behaviour
#
on_poweroff = ''destroy''
on_reboot = ''restart''
on_crash = ''restart''
==========lightjockey.cfg (HVM domU)=========import os, re
arch = os.uname()[4]
if re.search(''64'', arch):
arch_libdir = ''lib64''
else:
arch_libdir = ''lib''
kernel = "/usr/lib/xen-4.0/boot/hvmloader"
builder = ''hvm''
memory = 256
name = "lightjockey"
vif = [ ''type=ioemu, bridge=eth0'' ]
disk = [ ''file:/var/lib/xen/images/lightjockey/disk.img,hda,w''
]
boot = "dc"
vnc = 1
sdl = 0
vncconsole = 1
acpi = 1
apic = 1
device_model = ''/usr/'' + arch_libdir +
''/xen/bin/qemu-dm''
stdvga = 0
serial = ''pty''
usbdevice = ''tablet''
on_poweroff = ''destroy''
on_reboot = ''restart''
on_crash = ''restart''
==========snip from dom0 syslog=========Jun 14 04:14:53 www dnsmasq-dhcp[4920]:
DHCPOFFER(eth0) 10.1.20.178
00:16:3e:2e:04:99
Jun 14 04:16:13 www dnsmasq-dhcp[4920]: DHCPREQUEST(eth0) 10.1.20.83
98:d6:bb:c0:f2:cd
Jun 14 04:16:13 www dnsmasq-dhcp[4920]: DHCPACK(eth0) 10.1.20.83
98:d6:bb:c0:f2:cd iphone
Jun 14 04:17:50 www dnsmasq-dhcp[4920]: DHCPDISCOVER(eth0) 00:16:3e:2e:04:99
Jun 14 04:17:50 www dnsmasq-dhcp[4920]: DHCPOFFER(eth0) 10.1.20.178
00:16:3e:2e:04:99
Jun 14 04:17:55 www dnsmasq-dhcp[4920]: DHCPDISCOVER(eth0) 00:16:3e:2e:04:99
Jun 14 04:17:55 www dnsmasq-dhcp[4920]: DHCPOFFER(eth0) 10.1.20.178
00:16:3e:2e:04:99
Jun 14 04:18:09 www dnsmasq-dhcp[4920]: DHCPDISCOVER(eth0) 00:16:3e:2e:04:99
Jun 14 04:18:09 www dnsmasq-dhcp[4920]: DHCPOFFER(eth0) 10.1.20.178
00:16:3e:2e:04:99
Jun 14 04:18:33 www dnsmasq-dhcp[4920]: DHCPDISCOVER(eth0) 00:16:3e:2e:04:99
Jun 14 04:18:33 www dnsmasq-dhcp[4920]: DHCPOFFER(eth0) 10.1.20.178
00:16:3e:2e:04:99
Jun 14 04:25:59 www dnsmasq-dhcp[4920]: DHCPDISCOVER(eth0) 00:16:3e:2e:04:99
Jun 14 04:25:59 www dnsmasq-dhcp[4920]: DHCPOFFER(eth0) 10.1.20.178
00:16:3e:2e:04:99
Jun 14 04:25:59 www dnsmasq-dhcp[4920]: DHCPDISCOVER(eth0) 00:16:3e:2e:04:99
Jun 14 04:25:59 www dnsmasq-dhcp[4920]: DHCPOFFER(eth0) 10.1.20.178
00:16:3e:2e:04:99
Jun 14 04:26:04 www dnsmasq-dhcp[4920]: DHCPDISCOVER(eth0) 00:16:3e:2e:04:99
Jun 14 04:26:04 www dnsmasq-dhcp[4920]: DHCPOFFER(eth0) 10.1.20.178
00:16:3e:2e:04:99
(00:16:3e:2e:04:99 is the PV domU, in case you couldn''t tell)