Avahi/mDNS is running by default on recent versions of Raspian. Great. Very convenient to just ssh pi@mypi.local.

I am doing development on a Mac and operating a local network of headless Raspberry Pis. Up until now, I was able to use mDNS to access the Pis, and the Pis used mDNS to connect to each other.

Today, I shifted the RPis to a private local network by setting them up on a wireless router unconnected to the internet. Once I join the private network, I am still able to access them via mDNS:

% ssh pi@scheduler.local
Linux scheduler 5.10.63-v7l+ #1459 SMP Wed Oct 6 16:41:57 BST 2021 armv7l

Last login: Mon Aug  1 09:07:43 2022
pi@scheduler:~ $ 


wes@macbook % ssh pi@crossing.local
Linux crossing 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l

Last login: Mon Aug  1 09:07:46 2022
pi@crossing:~ $

But when they try to access each other, I get some results I don't understand:

pi@scheduler:~ $ ping crossing.local
PING crossing.local ( 56(84) bytes of data.
From ( icmp_seq=1 Destination Net Unreachable
From ( icmp_seq=2 Destination Net Unreachable
From ( icmp_seq=3 Destination Net Unreachable
From ( icmp_seq=4 Destination Net Unreachable

Here's what Avahi reports:

pi@scheduler:~ $ service avahi-daemon status
● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
   Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2022-08-01 09:07:37 PDT; 41min ago
 Main PID: 388 (avahi-daemon)
   Status: "avahi-daemon 0.7 starting up."
    Tasks: 2 (limit: 1438)
   CGroup: /system.slice/avahi-daemon.service
           ├─388 avahi-daemon: running [scheduler.local]
           └─414 avahi-daemon: chroot helper

Aug 01 09:08:08 scheduler avahi-daemon[388]: Leaving mDNS multicast group on interface wlan0.IPv4 with address 169.
Aug 01 09:08:08 scheduler avahi-daemon[388]: Joining mDNS multicast group on interface wlan0.IPv4 with address 192.
Aug 01 09:48:29 scheduler avahi-daemon[388]: Files changed, reloading.
Aug 01 09:48:29 scheduler avahi-daemon[388]: No service file found in /etc/avahi/services.

Here's my hosts and hostname files:

pi@scheduler:~ $ cat /etc/hosts   localhost
::1     localhost ip6-localhost ip6-loopback
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters   scheduler
pi@scheduler:~ $ cat /etc/hostname 

What does avahi say about it? Let's see:

pi@brs-scheduler:~ $ avahi-resolve --name brs-crossing.local -4
pi@brs-scheduler:~ $ ifconfig | grep "inet 192"
        inet  netmask  broadcast
pi@brs-scheduler:~ $ ping brs-crossing.local
PING brs-crossing.local ( 56(84) bytes of data.
From ( icmp_seq=1 Destination Net Unreachable

So for some reason, on this private network, mDNS is resolving correctly, but ping and ssh don't resolve properly?

What am I missing?

  • There never has been "Raspian" Even Raspbian is MEANINGLESS - it could be any of 5 families of OS spanning 10 years.
    – Milliways
    Aug 3 at 3:30
  • Thanks, genius. You’re really making the internet a more informed place. Today you can feel great about yourself.
    – Wes Modes
    Aug 3 at 13:11

1 Answer 1


Unsurprisingly, since the pis worked fine on the local net and stopped working on a private net with a new router, it had to do with the configuration of the new router not mDNS.

mDNS was working fine:

pi@scheduler:~ $ avahi-resolve --name crossing.local -4

The new router on the private net had two operating modes "router" and "access point." In "router" mode, the router was pushing a DNS nameserver IP to clients which was somehow hosing ping and ssh and other services, despite mDNS working okay.

pi@scheduler:~ $ cat /etc/resolv.conf
# Generated by resolvconf

Once the router was placed in "access point" mode, and DHCP was turned on manually, everything worked.

Obscure problem. Obscure solution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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