如何使用 dnsmasq 实现用于 LAN 互联网浏览的单字母域名?

如何使用 dnsmasq 实现用于 LAN 互联网浏览的单字母域名?

在我们的 LAN 中,我在多个主机上运行了多个服务,并且客户端使用 DHCP dnsmasq

我的目标是任何用户可以c在浏览器搜索栏中输入一个字母(例如),然后得到 192.168.2.120 本地 HTTP 服务器的 HTTP 响应。

我目前所做的:

dnsmasq.confDHCP LAN 服务器中的文件:

# (c.com is an example)
# The idea of the below is that clients will append c.com to DNS lookups when they look up for "c"
dhcp-option=option:domain-name,c.com
dhcp-option=option:domain-search,c.com

/etc/hosts在 DHCP 服务器中:

192.168.2.120 c.c.com c.com

正在起作用的是:

  • 我已确认tcpdump客户端在 DHCP 响应中收到了选项。
  • curl ccurl c.c.comcurl c.com均运行正常。它们均指向 192.168.2.120 并获得预期的 HTTP 流量。

但是,在浏览器栏中输入“c”会触发 Google 搜索(在 Firefox/Edge/Chrome 中测试过)。只有输入“http://c”时才有效。

我还缺少什么才能让互联网浏览器像 一样工作curl,并且不会触发搜索?我知道这是可能的,因为我看到它在一些工作场所实施。我遗漏了拼图的某些部分。

答案1

@AlexD 评论为我指明了正确的解决方案。使用“c/”(即附加斜线)会触发预期的行为。

相关内容