Catalina cannot resolve servers in the .local domain without the domain being specified



tl;dr In the Catalina terminal ping lan-services.local works but ping lan-services does not



I have a 2012 Mac mini that I just installed Catalina on from scratch (i.e. blank SSD and USB install) connected to a home network via Ethernet that cannot find servers / devices on the LAN without appending '.local' to the name. This was not needed before Catalina on the same LAN set-up (i.e. the only thing I can think of that's changed is the OS on the Mac).

e.g.

~% ping lan-services
ping: cannot resolve lan-services: Unknown host
~ % ping lan-services.local
PING lan-services.local (192.168.1.10): 56 data bytes
64 bytes from 192.168.1.10: icmp_seq=0 ttl=64 time=5.480 ms
...
^C

Network Config for Ethernet

  • IPv4 configured Using DHCP
  • IPv6 configured Link-local only
  • DNS set to 1.1.1.1 and 208.67.220.220 (set by router)
  • Advanced / DNS / Search Domains is local (no dot as per help examples)
  • Mac Firewall is OFF
  • Everything else has not been changed (i.e. default to Catalina)

/etc/hosts file

No entries have been added (where not needed on Mojave)

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost

VPN and Anti-Virus

  • VPN software installed BUT NOT active - this is the same as the previous Mojave install
  • Two VPNs Windscribe and Bitdefender (I could not load Bitdefender without its VPN software)
  • Disabling Bitdefender 'Shield' does not help

Target servers / devices

  • Internet router is DNS server with a default domain as local
  • Some set up as static IPv4 in their config files - some dynamic
  • Internet router has static IPv4 assignments for the servers / devices
  • ISP does not support IPv6 so the router is set to RADVD (link-local) but NOT bound to an external interface
  • Finder correctly shows the server I am trying to PING
  • Finder opens the server shares fine (it is a Pi using Netatalk / AFP for file sharing NOT SMB)
  • Some devices have IPv4 only, some have IPv4 and IPv6 stacks loaded
  • No devices has any firewall settings that would stop PING or SSH

scutil --dns output

DNS configuration

resolver #1
  search domain[0] : local
  nameserver[0] : 1.1.1.1
  nameserver[1] : 208.67.220.220
  if_index : 5 (en1)
  flags    : Request A records
  reach    : 0x00000002 (Reachable)

resolver #2
  domain   : local
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300000

resolver #3
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300200

resolver #4
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300400

resolver #5
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300600

resolver #6
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300800

resolver #7
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 301000

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : local
  nameserver[0] : 1.1.1.1
  nameserver[1] : 208.67.220.220
  if_index : 5 (en1)
  flags    : Scoped, Request A records
  reach    : 0x00000002 (Reachable)

Things checked

  • A search turned up this question (though it seems to be a reverse issue) and the solution of adding mdnsactivedirectory via discoveryutil but that program seems to have been deprecated in Catalina - this was not required in Mojave.

  • I may not be the only one having this issue (going by this Apple Forum question) but no domain is shown and the 'hint' is either talk to Apple or look at Active Directory (not installed here).

  • Turning on file sharing does not help.

  • Checked sons Windows 10 PC - he can reach devices without the .local as well as devices with the .local (pin lan-services checked before pin lan-services.local) and is running iTunes for his music.

  • A note from above test today I'm not running iTunes as Apple changed to iTune to the Music App

  • Just installed Discovery - DNS-SD Browser from eh App Store (thanks to Lily Ballard for this FOC package). This shows its picking up services from AFP over TCP and picking up all the devices on my home LAN (easier to play with): enter image description here

Workarounds I'm trying to avoid

  1. Adding entries into /etc/hosts
  2. Adding .local to the end of each server name by hand - me being lazy (though this is what I am currently doing)
  3. Installing ANOTHER DHCP / DNS server (e.g. pi-hole / pfSense etc)
  4. Downgrading to Mojave
  5. Moving to SMB shares - one server does not seem to support SMB without a whole series of faff for security and performance is pathetic. TBH also I do not have a great deal of practice with SAMBA security (basic shares fine) and no spare cash in project to upgrade old servers if Samba does not run on them.

I had the same problem.

I tried to SSH to my RaspberryPi from raspberrypi.local, but it wouldn't connect. ping command did not connect too.

I was able to SSH connect and ping using the terminal app on my iPad.

In my case, the cause was the DNS settings.

On my Mac, DNS was set to 8.8.8.8. So I removed the DNS record from Network System Preferences. Then I was able to connect to SSH.

I still can't reach the ping, but it's good that I can connect to SSH.