I have a similar issue with qemu 2.7 from current Debian amd64 unstable/sid. Starting qemu with:
kvm -m 640 -hda debian-8-amd64.qcow2 -net nic,model=rtl8139 -net user,hostfwd=tcp:127.0.0.1:5005-:22 I tested DNS resolution in the host and in the guest. The conclusions are: When the host's /etc/resolv.conf has, as the only line, a ipv6 nameserver like fd2d:[...]::1 or a ipv6 link-local address with a scope like fe80::[...]%wlan0 then: In the host, DNS resolution works ok in Debian sid. In Debian 8 'host' and 'dig' fail in the case of link-local address and work otherwise, and 'ping' works anyway. In the guest, DNS resolution does not work at all (but access to IPv4 addresses directly works). In this case there is not global ipv6 connectivity, but some combinations of routers and network managers in the host lead to /etc/resolv.conf with only nameserver line a ipv6 or ipv6 link-local with scope address. This breaks DNS resolution in the guests. In this same configuration VirtualBox works ok. An old (2007) patch from glibc for the ipv6 link-local with scope case is at: https://sourceware.org/bugzilla/show_bug.cgi?id=5475 ** Bug watch added: Sourceware.org Bugzilla #5475 https://sourceware.org/bugzilla/show_bug.cgi?id=5475 -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1642421 Title: qemu-system-x86_64: ipv6 and dns is broken with netdev user Status in QEMU: New Bug description: Hi, dhcp inside qemu returns an ipv6 address as dns-server. However this is not working. If i replace it with the ipv4 address '10.0.0.2' dns is working again. I would expect that the qemu emulated dhcp server responds either an ipv4 configuration that is working or its dns server/forwarder listens on the ipv6 address returned by the emulated dhcp server. I used latest qemu from git ( b0bcc86d2a87456f5a276f941dc775b265b309cf) and used the following commands: $ ./qemu-system-x86_64 -enable-kvm -M pc -device virtio-rng-pci -device virtio-net-pci,netdev=user.0 -drive file=buildenv.img,if=virtio,bus=1,unit=0 -no-reboot -netdev user,id=user.0,hostfwd=tcp::5022-:22,hostfwd=tcp::7587-:7588 -m 1024 -usb -nographic -smp 4 buildenv.img is a debian jessie amd64 installation. Inside qemu the network is configured to use dhcp: $ cat /etc/network/interfaces allow-hotplug eth0 iface eth0 inet dhcp $ ifconfig eth0 eth0 Link encap:Ethernet HWaddr 52:54:00:12:34:56 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::5054:ff:fe12:3456/64 Scope:Link inet6 addr: fec0::5054:ff:fe12:3456/64 Scope:Site UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:28 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3215 (3.1 KiB) TX bytes:3638 (3.5 KiB) $ cat /etc/resolv.conf nameserver fec0::3 $ arp google.de google.de: Host name lookup failure $ strace -f arp google.de ... socket(PF_INET6, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 4 connect(4, {sa_family=AF_INET6, sin6_port=htons(53), inet_pton(AF_INET6, "fec0::3", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0 poll([{fd=4, events=POLLOUT}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}]) sendto(4, "\17\320\1\0\0\1\0\0\0\0\0\0\6google\2de\0\0\1\0\1", 27, MSG_NOSIGNAL, NULL, 0) = 27 poll([{fd=4, events=POLLIN}], 1, 5000) = 0 (Timeout) poll([{fd=4, events=POLLOUT}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}]) sendto(4, "\17\320\1\0\0\1\0\0\0\0\0\0\6google\2de\0\0\1\0\1", 27, MSG_NOSIGNAL, NULL, 0) = 27 poll([{fd=4, events=POLLIN}], 1, 5000) = 0 (Timeout) close(4) = 0 ... $ echo nameserver 10.0.0.2 > /etc/resolv.conf $ arp google.de google.de (216.58.208.35) -- no entry Note: I reported this bug also to debian: https://bugs.debian.org/cgi- bin/bugreport.cgi?bug=844566 Regards, Manuel To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1642421/+subscriptions