.local、.home 和 .lan 之间有什么区别?

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)

  • @Powerman,嗯,RFC6762 在附录 G 中提到了 `.lan` 和 `.home`,但它没有指定它们的用途和语义。相反,它只是将它们作为评论的一部分列出:“我们根本不建议使用未注册的顶级域,但如果网络运营商决定这样做,以下顶级域已用于私有内部网络,而没有尝试重用“.local”引起的问题。以此目的' (6认同)
  • 截至 2018 年 2 月,`.home`、`.corp` 和 `.mail` 可以被认为是安全的:https://www.icann.org/resources/board-material/resolutions-2018-02-04-en #2.c 使用`.lan` 仍然被认为是有风险的。 (4认同)
  • 实际上 https://tools.ietf.org/html/rfc6762 提到了 .lan 和 .home。 (3认同)
  • 另一个更新:RFC8375(2018 年 5 月)为家庭范围网络指定了“.home.arpa”(https://tools.ietf.org/html/rfc8375) (2认同)