我想仅使用主机名访问家庭网络上其他机器上的服务。在每个浏览器中都http://machine
失败,但添加句点http://machine./
可以。有没有办法避免添加额外的句点?
我的设置是一台路由器,其中装有 DD-WRT,并开启了 DNSmasq、Win7 计算机和几台 Ubuntu VM。nslookup 仅使用主机名即可正常工作。远程桌面可以工作,但 TightVNC 需要额外的句点。ssh 需要句点。正如我所说,我的所有浏览器都需要额外的句点。
我更喜欢不需要手动维护 hosts 文件的解决方案。谢谢。
答案1
默认情况下,Windows 不使用 DNS 查找单标签域,而是使用 WINS。
我曾在其他地方发布过此信息,但现在找不到答案。我找到的解决方法是在系统网络设置的 DNS 后缀条目列表中添加单个域“。”。
答案2
一定要按名字吗?快速且易于使用的 IP 地址。
答案3
你有域名吗?这就是问题所在;机器不知道去哪里找,除非你告诉它这是 .nuthin
如果没有,dnsmasq 有几个选项。您可以设置 ALIAS (CNAME) 记录以将名称指向 A 记录(默认为 A.domain.tld,这可能是您的问题)。如果您的路由器有“hosts”文件,您可以在那里添加主机,它应该会拾取它们(确保您执行 10.1.1.2 host host.domain.tld,这样它就会知道 host = host.domain.tld)。
答案4
如何自动编辑/维护主机文件?
从 Linux 主机上的 cron 运行此文件,并将其自动分发到所有计算机。
(或者在 powershell 或其他程序中编写与 Windows 等效的文件)
rm -rf /etc/host.new;
arp -a | while read line ;do
echo $line | cut -d " " -f 1,2 | sed s'/(//'g | sed s'/)//'g >> /etc/host.new;
done
# cat /etc/host.new >> /etc/hosts;