![如何使用 dnsmasq 实现用于 LAN 互联网浏览的单字母域名?](https://linux22.com/image/774016/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20dnsmasq%20%E5%AE%9E%E7%8E%B0%E7%94%A8%E4%BA%8E%20LAN%20%E4%BA%92%E8%81%94%E7%BD%91%E6%B5%8F%E8%A7%88%E7%9A%84%E5%8D%95%E5%AD%97%E6%AF%8D%E5%9F%9F%E5%90%8D%EF%BC%9F.png)
在我们的 LAN 中,我在多个主机上运行了多个服务,并且客户端使用 DHCP dnsmasq
。
我的目标是任何用户可以c
在浏览器搜索栏中输入一个字母(例如),然后得到 192.168.2.120 本地 HTTP 服务器的 HTTP 响应。
我目前所做的:
dnsmasq.conf
DHCP 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 c
、curl c.c.com
和curl c.com
均运行正常。它们均指向 192.168.2.120 并获得预期的 HTTP 流量。
但是,在浏览器栏中输入“c”会触发 Google 搜索(在 Firefox/Edge/Chrome 中测试过)。只有输入“http://c”时才有效。
我还缺少什么才能让互联网浏览器像 一样工作curl
,并且不会触发搜索?我知道这是可能的,因为我看到它在一些工作场所实施。我遗漏了拼图的某些部分。
答案1
@AlexD 评论为我指明了正确的解决方案。使用“c/”(即附加斜线)会触发预期的行为。