为什么路由器主机名不以 .local 结尾?

为什么路由器主机名不以 .local 结尾?

我对这些事情还不太熟悉,但有点困惑。当我使用路由器检查主机名时, host 192.168.1.1它返回“路由器“——与其他主机名不同,为什么这个主机名不以.local结尾?

经过进一步检查,当我运行时ping ttrouter它返回“ttrouter.lan*,为什么它使用“.lan“后缀,为什么当我连接到它时我只需输入”http://ttrouter“ 代替 ”ttrouter.lan”其中我必须输入 .local 来获取其他主机名。

我知道这不是一个令人惊讶的问题,但我想了解有关主机名的更多信息,并且对这个主题感到困惑。

谢谢你的帮助。

答案1

设备的主机名通常也是设备名称。在 Windows PC 上,计算机名称是主机名。在某些家用路由器上,您也可以设置路由器的主机名。.local 和 .lan 是本地、不可路由的域。

主机名最常用于 DNS(域名系统)将 IP 地址映射到域名,但也可以用于将主机名映射到 IP 地址。主机名后面的部分是域,以点 [.] 分隔。

在互联网上,你对 .com 域名很熟悉。DNS 可以让你通过输入以下代码访问 SuperUser 的网站https://superuser.com进入浏览器,而不是https://151.101.193.69。DNS 远比这复杂得多,网上有很多资源讨论 DNS 的工作原理。在互联网上,我们通常处理子域(超级用户是 com 域的子域)和别名,而不是主机名,但很多原则是相同的。

在局域网中,PC 会保留已知 DNS 条目的缓存,而我们的本地路由器也充当网络的 DNS 服务器。借助 Windows 网络和我们的路由器 DNS 缓存,我们可以直接使用 LAN 中的客户端主机名,而不是它们的 IP 地址。通常不需要包含 .local 域来访问 PC,可以直接使用其主机名浏览 Windows 网络中的计算机。

在 LAN 上,使用 .local 和 .lan 域是因为它们是“不可路由”域。这意味着发往这些域的流量将不会在 Internet 上转发。

Windows PC 默认是 .local 域的一部分,因此可以通过浏览 .local 在本地网络上访问它,而无需在网络中进行任何进一步设置。

您的路由器制造商已将路由器上的默认域配置为 .lan。如果您的本地网络的 DHCP 选项中也配置了此域,则您的 PC 也可以通过 .lan 访问。您可以在路由器上将此域更改为 .local。

在命令提示符中运行ipconfig /all将为您提供有关网络适配器上的网络和域的更多详细信息。

答案2

*.lan名称由路由器的内置 DNS 服务器处理,该服务器注册您的设备在其 DHCP 租约请求中提供的所有名称。

路由器还会在其 DHCP 租约响应中公布此后缀,因此当您尝试查找不带任何点的域名(例如“ttrouter”)时,您的操作系统会自动添加后缀。

(对于家用路由器,制造商通常会选择他们喜欢的不存在的顶级域名——您的路由器恰好使用“.lan”,但其他一些路由器则使用“.home”或“.cpe”或“.homelan”。而企业网络通常使用他们的真实的域名。

同时,*.local名称使用 mDNS 协议直接在设备之间解析,完全不需要路由器参与。但是,它们只在以下设备之间起作用:支持mDNS,但并非所有操作系统都支持。这主要是 macOS 和 Linux 的问题。(例如,Windows PC 去年才开始获得内置的 mDNS 支持,而且即使在 Windows PC 上,它仍然默认处于禁用状态。)

大多数家用路由器实际上根本不响应 mDNS,这就是无法解析“ttrouter.local”的原因。

相关内容