Windows 工作计算机上虚拟机的 DNS?

DNS for virtual machines on Windows working computer?

公司使用Windows台电脑办公,需要用虚拟机模拟测试环境。我们目前正在使用 VirtualBox,但可以切换到其他平台,例如VMware、Hyper-V、Docker 等

当虚拟机很多时,我们需要通过主机名来管理它们,因为使用IP地址太容易出错。

因此,我们在本地物理主机和虚拟机共享的 hosts 文件的主副本中列出主机名和 IP 地址,以模拟 DNS 的效果。

但是,出于性能或可靠性方面的考虑,某些应用程序设计为绕过 hosts 文件。

例如Microsoft SSIS(SQL服务器集成服务)通过真实DNS正确解析域名,但无法识别hosts文件中的域名。因此,我们无法从虚拟机上的测试数据库中获取数据。

另一个例子,MariaDB集群工具Galera也不识别hosts文件,我们不得不使用原始IP地址来配置虚拟机集群。

我想知道是否有办法为本地计算机上的虚拟机提供真实的 DNS。感谢您的帮助和提示。

在 same/other 物理机上创建额外的虚拟机。 将此 VM 配置为 DNS 服务器,然后在每个其他 VM 上将 DNS 服务器作为其主要 DNS。

这是您要实现的目标吗?

假设所有 IP 地址都是(并将永远保持)静态(即没有 DHCP):

就像@Hani 说的:

1. 设置 DNS 服务器,并将所有记录添加到其中。

2. 将所有机器指向该 DNS 服务器。

  • 在Windows:

  • 在Linux中:

    • 可能edit/etc/resolv.conf
    • 或参考您特定发行版的文档。 (或类似 netplan docs

如果通过 DHCP 分配 IP 地址,步骤 2 将替换为:

Configure the DHCP Server to hand out your DNS Server Adress in its leases, and make sure it always assigns the same ip addresses to the same machines. (static leases)

^ 这些链接适用于 openwrt 路由器,但基本上都是相同的过程。