如何使用 dnsmasq 设置没有顶级域名的本地自定义域名?

如何使用 dnsmasq 设置没有顶级域名的本地自定义域名?

目前我正在关注https://github.com/RMerl/asuswrt-merlin.ng/wiki/Custom-domains-with-dnsmasq在我的路由器上。我在其中 创建了一个dnsmasq.conf.add文件。address=/g/192.168.0.96

我可以http://g/在除 Windows 机器之外的所有设备上访问。搜索后,我发现的唯一解决方案是手动配置每个 Windows 设备,而我想避免这种情况(例如添加后缀或编辑 hosts 文件)。

请注意,http://g./在 Windows 上确实会重定向(这与配置后缀相同)。

我想要一个对网络上任何试图访问 的设备都“有效”的解决方案http://g/

答案1

您的域名本身就是此处的顶级域名。浏览器不喜欢访问顶级域名;它们在编码时假设合法的 TLD 永远不会有地址记录(过去很少见,我相信 ICANN 现在完全禁止这种行为)。您很可能无法从外部更改此行为。

相反,定义一个普通的域名(包含 2 个以上组件),然后设置您的 DHCP 服务器以通告“域名搜索后缀“告诉客户端在单词名称后附加什么内容。

例如,您可以将其定义address=/g.example.corp/为网站,然后example.com通过 DHCP 发布为域搜索后缀,浏览器访问http://g/(或任何其他软件)将自动访问,g.example.com因为操作系统会自动附加搜索后缀。此功能得到广泛支持。

(浏览器不想访问 TLD 的另一个原因是域名搜索后缀机制具有更高的优先级!仔细想想,这很有道理——没有域名的名称是“本地的”,因此是本地网络定义了它们的位置,而不是由非常全球化的 TLD 负责。)

相关内容