Thanks Thomas, > You need to configure things such that each nameserver listed in resolv.conf > can resolve > all names you want resolved.
This requirement feels impossible to meet; the dnsmasq spawned by libvirt on my laptop knows only the VMs running on my laptop. It is not possible for this dnsmasq to know the hosts on my LAN -- I have a standard consumer router on my network to provide DHCP and dynamic DNS services. I do not want to require my laptop to be on and connected to my LAN for other hosts to continue using the LAN. The DNS server on my router does not know about the VMs I host on my laptop. They are "behind" the libvirt-default NAT configuration, so they aren't even routable addresses on the LAN. Sometimes my laptop leans the LAN, and I still want to resolve my VM names. I do not know how to configure my router to serve hostnames with a fake TLD. (I haven't used a fake TLD since about 2002, I didn't know anyone still did that..) If you really think this is a solution, I can look into it, but this all worked flawlessly with 12.04 LTS. :( ** Description changed: First, apologies for the complicated configuration. I use the 'uvt' front-end to libvirt-managed kvm guest machines. I also have a LAN with a router that does local dynamic DNS configuration with the client-provided dhcp hostnames. I would like to resolve hostnames on my machine for both VM guests and LAN hosts. This configuration worked for 12.04 LTS, 12.10, but does not work for Raring. I have followed the directions at https://wiki.ubuntu.com/SecurityTeam/TestingEnvironment#Networking_with_libvirt : > Put a line into /etc/dhcp/dhclient.conf like so: > > prepend domain-name-servers 192.168.122.1; > > Disable the system dnsmasq to prevent it from looping with libvirt's dnsmasq by modifying > /etc/NetworkManager/NetworkManager.conf to comment out the following line: > > #dns=dnsmasq My /etc/resolv.conf when the wireless is up: $ cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.122.1 nameserver 192.168.1.1 - Here's trying to look up a host on my network: + My router / DHCP / Dynamic DNS server is on 192.168.1.1. + My laptop ("hunt") is currently allocated 192.168.1.14. + The VMs on my laptop run in 192.168.122.0/24. + An instance of dnsmasq started by libvirt runs on 192.168.122.1 on my laptop. + My panda ("dean") is currently allocated 192.168.1.236. + + Here's trying to look up dean from my laptop: $ host dean Host dean not found: 3(NXDOMAIN) $ host dean 192.168.122.1 Using domain server: Name: 192.168.122.1 Address: 192.168.122.1#53 Aliases: Host dean not found: 3(NXDOMAIN) $ host dean 192.168.1.1 Using domain server: Name: 192.168.1.1 Address: 192.168.1.1#53 Aliases: - dean has address 192.168.1.236 - $ $ host 192.168.1.236 236.1.168.192.in-addr.arpa domain name pointer dean. $ host 192.168.1.236 192.168.122.1 Using domain server: Name: 192.168.122.1 Address: 192.168.122.1#53 Aliases: 236.1.168.192.in-addr.arpa domain name pointer dean. $ host 192.168.1.236 192.168.1.1 Using domain server: Name: 192.168.1.1 Address: 192.168.1.1#53 Aliases: 236.1.168.192.in-addr.arpa domain name pointer dean. $ I'm surprised that 192.168.122.1 knows the reverse information for dean. I want the query for plain "dean" to succeed. (As that's how 'ssh' works..) If I swap the order of the lines in /etc/resolv.conf to put 192.168.1.1 first, I get the opposite situation: $ host dean dean has address 192.168.1.236 $ uvt start sec-precise-amd64 Sleeping 5 seconds to give 'sec-precise-amd64' a chance to start $ ssh sec-precise-amd64 "echo hello" ssh: Could not resolve hostname sec-precise-amd64: No such file or directory $ ssh sec-precise-amd64. "echo hello" ssh: Could not resolve hostname sec-precise-amd64.: No such file or directory $ ssh sec-precise-amd64.local "echo hello" hello I do not want to use the .local form for all my VMs. That is annoying and the scripts we have written around uvt assume that the .local is not necessary. 12.04 LTS and 12.10 had this working well. I would like Raring to work that well again. Thanks ProblemType: Bug DistroRelease: Ubuntu 13.04 Package: dnsmasq (not installed) ProcVersionSignature: Ubuntu 3.8.0-15.25-generic 3.8.4 Uname: Linux 3.8.0-15-generic x86_64 ApportVersion: 2.9.2-0ubuntu5 Architecture: amd64 Date: Tue Apr 2 00:04:49 2013 InstallationDate: Installed on 2012-10-18 (166 days ago) InstallationMedia: Ubuntu 12.04.1 LTS "Precise Pangolin" - Release amd64 (20120823.1) MarkForUpload: True ProcEnviron: TERM=rxvt-unicode PATH=(custom, no user) XDG_RUNTIME_DIR=<set> LANG=en_US.UTF-8 SHELL=/bin/bash SourcePackage: dnsmasq UpgradeStatus: Upgraded to raring on 2013-03-18 (15 days ago) -- You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to dnsmasq in Ubuntu. https://bugs.launchpad.net/bugs/1163147 Title: can't resolve lan hosts (regression) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dnsmasq/+bug/1163147/+subscriptions -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs