32 networking avahi
如何可靠地寻址网络上的不同机器?
我以前一直使用.local后缀与本地网络上的计算机交谈。但是,使用新路由器.local很少(尽管有时)起作用。我发现,.home和.lan两个平时工作,但并非总是如此。
.-------. .--------. .-----.
| modem |---| router |))))))(wifi))))))| foo |
.-------. .--------. v .-----.
|| | v
/_^_^_\ | \))))))).-----.
/ cloud \ | | bar |
\-_-_-/ .-----. .-----.
| baz |
.-----.
Run Code Online (Sandbox Code Playgroud)
因此,从终端上foo,我可以尝试:
ssh bar.local
ssh bar.home
ssh bar.lan
ssh baz.local
ssh baz.home
ssh baz.lan
Run Code Online (Sandbox Code Playgroud)
有时这些后缀中的一些有效,一些无效,但我不知道如何预测哪个或何时。
foo, bar, 和baz都是现代 Linux 或 Android 系统,并且 Linux 机器都安装了(或可以安装)avahi-daemon 或其他合理可用的软件包
(我不想设置静态 IP 地址:我想继续为每台机器使用 DHCP(来自路由器),即使我对静态地址没问题,我也希望能够在其中输入主机名无根 Android 机器,我无法编辑主机文件以将选定的主机名映射到 IP 地址。)
max*_*zig 27
没有指定.lan和 的RFC .home。因此,默认情况下配置哪些伪 TLD(顶级域名)取决于路由器的供应商。
例如,我的路由器供应商 (AVM) 似乎.fritz.box默认使用。
.local通过使用mDNS(多播DNS) ,由苹果工程改造的协议。使用example.local仅在有守护的mDNS运行(如MacOSX的,当前的Linux发行版如Ubuntu / Fedora的)系统(和目的地)的作品。
您可以继续使用 dhcp - 但也许您必须稍微配置一下您的路由器。大多数路由器允许您配置诸如网络域名之类的东西。
请注意,使用伪 TLD 有点危险 -.lan似乎很流行 - 并且比.local(因为它不与 mDNS 冲突.local)更好- 但不能保证 ICANN 在某个时候不会将其作为新 TLD 引入。
2019 年更新:举个例子,.box不再是伪 TLD。ICANN于 2016 年授权使用 .box。
因此,获得一个真正的域名是有意义的 - 并将其子域用于私人内容,例如,当您的域是时,example.org您可以使用:
lan.example.org
internal.example.org
...
Run Code Online (Sandbox Code Playgroud)