You said the interface is up, but is it up as far as ip link
is concerned or as far as ifup
is concerned? A failure of the post-up
commands would mean the latter. To debug why IPv6 ND isn't working, you have to run something like a packet tracer (tcpdump
, tshark
, ...) and see if you're getting router advertisements. If you are, verify that /proc/sys/net/ipv6/{default,eth0}/accept_ra
is turned on. See http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/proc-sys-net-ipv6..html for more details.
If everything is setup correctly, you should be able to ping, no problem.
At first, try the recommended configurations:
If you are just wanting to study how the routes work, you might make a paravirtualized (PV) setup, instead of HVM, as you mentioned; but if you stick with HVM make sure you have the drivers for Windows installed. This is all outlined at the very top of the Xen guide. It also explains how to assign a MAC address, the MAC address in the post as of writing, is invalid--which is ok sometimes for virtual situations, but not for every configuration.
When you setup your xenbr0 on the host, the bridge essentially replaces the eth0 interface on Debian-based systems. It is true that (from the xen guide) eth0 is optional "By omitting the physical Ethernet device an isolated network containing only guest domains can be created," but the examples in the guide, as well as your post here, are not worded that way. For future readers as well, in a Fedora-family virtual client, as well with Windows, please see all the documentation for slightly different configuration requirements. This, specifically sounds like your problem, unless you are blocked by a firewall, tcp wrappers, or anything else not mentioned in the original post.
Confirmation
In Windows you can verify the network setup with, for example, ipconfig /all
.
In the Xen sample configurations from the same website that we both already referenced, it suggests below, as well as other configurations, for the host; for example, type all of the below, without skipping the first part.
Example 2: A single bridged network using eth0 configured with a
static local IP address
iface eth0 inet manual
iface xenbr0 inet static
bridge_ports eth0
address 192.168.1.2
broadcast 192.168.1.255
netmask 255.255.255.0
gateway 192.168.1.1
You can confirm this with ifconfig
and route
on both your dom0 and dom1, or similar tools on the host, as explained in the link above and make sure that it is all configured correctly.
Basic tweaking
If you want to make sure that neither reach the internet (or other parts of a network, in general), other than keeping the physical cable unplugged of course, you could change the default gateway to 0.0.0.0, and then add a "route" (a box should be just below in most Network Manager
-style GUIs), with the same client IP address and subnet mask, but then with the address of the host, as a gateway. In some GUIs there is even a box that says something like "allow this connection route only for the local network."
Adding a "route" in your Windows client may also act as a work around to solve your original problem.
Best Answer
It's been a while since I've used Xen, but when you say you've compiled your kernel with xen support do you have the
xenblk
driver/module? I think it's something likeCONFIG_XEN_BLKDEV_FRONTEND
in your.config
. Have you tried any other xen configurations just to see if they work? For example, using thetap:aio
interface?