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 .home
and .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.
foo
, bar
, and 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.)
/etc/resolv.conf
for nameservers? Also if you havedig
install what output do you get when you executedig +trace baz.local
?