How can I reliably address different machines on my network?
I've always used the
.local suffix to talk to computers on my local network before. With a new router, though,
.local rarely (though sometimes) works. I've found that
.lan both usually work, but not always.
.-------. .--------. .-----. | modem |---| router |))))))(wifi))))))| foo | .-------. .--------. v .-----. || | v /_^_^_\ | \))))))).-----. / cloud \ | | bar | \-_-_-/ .-----. .-----. | baz | .-----.
So, from a terminal on
foo, I can try:
ssh bar.local ssh bar.home ssh bar.lan ssh baz.local ssh baz.home ssh baz.lan
and sometimes some of those suffixes work and some don't, but I don't know how to predict which or when.
baz are all modern Linux or Android systems and the Linux boxes all have (or can have) avahi-daemon, or other reasonably-available packages, installed
(I don't want to set up static IP addresses: I'd like to keep using DHCP (from the router) for each machine, and even if I was okay with static addresses I'd want to be able to enter hostnames in the unrooted Android machines, where I can't edit the hosts file to map a chosen hostname to an IP address.)