Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

My Macbook running Snow Leopard cannot resolve some hosts on my local network (which has a local DNS server). Running nslookup and dig works (they get the expected address from the expected server). Running ping <IP address> works (I get packets received), but ping home.local does not (it returns "Unknown host") home.local is the name of a server on my home network (running Debian and dnsmasq).

My Windows laptop can ping home.local by name, and so can another Macbook (running Leopard). My Snow Leopard laptop can ping my other macbook by name, but no other hosts

Home DNS server is a Debian (etch) box running dnsmasq, DHCP server on router is configured to serve the IP address of the debian box as the DNS server. All laptops are picking up correct network settings (ipaddress, default gw, dns server), and I can get from my Snow Leopard Macbook to hosts on the public internet without any trouble (that is - the DNS query goes to dnsmasq on my debian box and is forwarded onto the DNS servers at my ISP). The only servers I cannot ping by name are the ones on my local network.

share|improve this question
    
retagged to exclude mac tag, include dnsmasq/debian. –  quack quixote Oct 4 '09 at 0:01
    
ack. etch is a Debian release, edgy is an Ubuntu release. so which is it? Debian or Ubuntu? :) –  quack quixote Oct 4 '09 at 6:16
    
can you provide your dnsmasq.conf? (cleaned by the sensitive information) –  akira Oct 4 '09 at 10:52
    
i am running obsd4.3 with dnsmasq2.40, snow leopard seems to request 'host.local.local' if using 'ping host.local'. using 'ping host' seems to trigger nothing in dnsmasq. –  akira Oct 4 '09 at 11:04
1  
@~quack It's Debian etch - sorry I should have checked that prior to posting. I've edited and retagged again as I now think I've found a KB article which describes the problem (but I can't risk breaking DNS for a while): support.apple.com/kb/TA20999?viewlocale=en_US –  user5285 Oct 4 '09 at 12:26

2 Answers 2

I'm using dnsmasq via Tomato on my home router and and haven't run into any issues with Snow Leopard.

How do you know that queries from the Macs are going though your server? Can you see the requests in the logs? If so, what do requests for hosts on the local network look like, do they show up in the logs at all?

Look at Network preferences, Advanced, DNS tab. Make sure that there are no editable (black) entries. The only DNS servers listed should be ones provided by your DHCP server and including your local server.

Also try doing your tests through dscacheutil instead of nslookup, this'll make sure you're seeing the same results as other applications on the computer. You can perform a query like this:

dscacheutil -q host -a name <hostname>

Also try flushing the local DNS cache:

dscacheutil -flushcache
share|improve this answer
    
guessing you meant dnsmasq not dnsamasq? –  quack quixote Oct 3 '09 at 23:23
2  
It turns out I didn't know the queries were going through my server. I thought they were because I could resolve servers on the public internet (ending .com .org etc), and there was only one DNS server listed in my network preferences. I ran dnsmasq -d -q on my Debian box and found that doing ping home.local on my macbook does not send a query. That led me here: support.apple.com/kb/TA20999?viewlocale=en_US. I up-voted as without your answer I wouldn't have checked that. –  user5285 Oct 4 '09 at 12:10

Given these:

  1. You're running Snow Leopard, and using etch's dnsmasq, which doesn't work
  2. SidneySM's running Snow Leopard, and using Tomato's dnsmasq, which does

I suspect you've got an older version of dnsmasq which isn't Snow Leopard-compatible.

Check your etch server's version of dnsmasq:

$ dpkg -l | grep dnsmasq

If it's older than the current etch package 2.35-1+etch4, upgrade to the latest, reboot everything and try again:

$ sudo apt-get install dnsmasq

If the current package doesn't work, install the version from backports. You may need to add the backports repository to your /etc/apt/sources.list file to access them. Or download the backports .deb and install the package directly:

$ sudo dpkg -i path/to/downloaded/dnsmasq-backports-package.deb

If the backports package doesn't work, you can roll-your-own by grabbing the latest dnsmasq source and compiling it yourself. You may need to do this if you're running Ubuntu's Edgy release, as their repositories for Edgy have been taken down.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.