我在单个 Ubuntu VirtualBox VM 中托管了多个 Web 应用程序(使用 Nginx 中基于名称的虚拟托管)。我试图确保网络中的每台计算机都能够解析与这些应用程序关联的名称,而无需触及每台计算机上的 /etc/hosts。
我可以修改 Ubuntu VM 的配置以便它自动将每个 Web 应用程序名称注册到 DNS 中吗?
它是由 Mac OS X 机器组成的网络,通过充当 DNS 和 DHCP 的“Orange LiveBox”进行连接。
VM 中的 /etc/resolv.conf 是:
nameserver 192.168.1.1
domain home
search home
这显然使得 http:// the-vm.home 已可从网络中的所有机器访问。
我可以将其扩展为其他名称吗,例如 http://app2.the-vm.home?
答案1
有趣的场景。我没有使用过 Orange Livebox,但我猜它的行为与大多数 SOHO 路由器类似?
根据热情程度,我的选择如下:
- hosts 文件(是的,我知道你说过你不想这样做,但这确实是最快的方法,除非你有大量主机名或大量机器)
- 在 ubuntu 机器上尝试某种 zeroconf 设置(例如阿瓦希 mDNS/DNS-SD 守护程序)查看是否可以为给定名称设置本地解析。这通常用于宣传服务,但根据定义允许多播名称解析
- 设置另一个本地 DNS 服务器(使用其他机器之一),该服务器使用橙色 livebox 作为区域外查询的转发器,并成为 .home 区域的权威服务器,然后您可以根据需要添加任意数量的内部 A 记录以进行内部解析(虽然这实际上是用火箭推进榴弹杀死蚂蚁。有点夸张)。然后,它将成为网络上的默认名称服务器。