Snow Leopard doesn't like dnsmasq?

1

1

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.

user5285

Posted 2009-10-03T12:30:34.663

Reputation: 111

retagged to exclude mac tag, include dnsmasq/debian. – quack quixote – 2009-10-04T00:01:03.460

ack. etch is a Debian release, edgy is an Ubuntu release. so which is it? Debian or Ubuntu? :) – quack quixote – 2009-10-04T06:16:55.820

can you provide your dnsmasq.conf? (cleaned by the sensitive information) – akira – 2009-10-04T10:52:42.080

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 – 2009-10-04T11:04:02.493

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): http://support.apple.com/kb/TA20999?viewlocale=en_US

– user5285 – 2009-10-04T12:26:00.830

@tom.dunham: is your laptop in a different network than your workstation? it looks like apple uses 'bonjour' to resolve '.local' domains .. and if that should work you would need multicast-routing in your router to work across different networks... – akira – 2009-10-04T14:00:44.053

@tom.dunham: pinging host.local works on the laptop if it is in the same network as the workstation. – akira – 2009-10-04T14:01:37.563

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

s4y

Posted 2009-10-03T12:30:34.663

Reputation: 3 469

guessing you meant dnsmasq not dnsamasq? – quack quixote – 2009-10-03T23:23:35.313

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: http://support.apple.com/kb/TA20999?viewlocale=en_US. I up-voted as without your answer I wouldn't have checked that.

– user5285 – 2009-10-04T12:10:09.303

0

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.

quack quixote

Posted 2009-10-03T12:30:34.663

Reputation: 37 382