我有一个专用的测试服务器,它有一个面向公众的 IP,上面有 VMWare Server,还有 4 个通过 NAT 连接的测试环境。
这可以很好地通过 RDP 进入 Windows Server 2003 主机并从那里预览站点和客户端/服务器,但其中一些站点/服务器需要由客户端从外部访问。
有没有办法转换名称(即 clientXYZ.ourtestserver.com),将 GoDaddy 的 DNS 解析为主机服务器(64.89.12.44)和私有 IP(192.168.248.16),并将所有流量转发给来宾?
非常感谢所有的帮助。
答案1
不,如果不接受缺点或使用专门用于此方法的软件,使用单个地址是不可能实现这一点的。您可以做的是:
为每个目标机器转发一个端口。假设您有三台 NAT 机器,它们在 TCP 端口 12345 上托管服务。您可以在公共机器上创建端口转发:端口 12345 -> 主机 A,端口 12345 端口 12346 -> 主机 B,端口 12345 端口 12347 -> 主机 C,端口 12345
使用协议级反向代理。当然,这仅适用于本质上支持命名的协议。假设您想要提供 HTTP,您将在公共地址的端口 80 上运行反向代理。然后,此代理将分析 Host: 标头并将请求转发到 NATed 机器。
答案2
如果我理解你的问题没有错,我可以想出一种方法来做到这一点,这可能确实对你有用。这有点复杂,但我认为它会起作用。每台虚拟机都可以被赋予从一台机器路由到另一台机器的能力。考虑到这是一个测试环境,这种方法的性能损失可能并不重要。
所以这里...如果您需要的所有唯一外部 DNS 条目都解析为同一个 IP 地址,那么只需配置每个 VM 服务器以了解如何通过静态路由到达每个特定的 VM 服务器。您需要在受影响的 VM 的主机文件中对 fqdn 进行硬编码,或者您可以使用内部 DNS(如果有)。您仍然需要为本地路由到的每台机器配置特定路由。