基于名称的NAT查找

我有一个专用的testing服务器,有一个面向公众的IP,有VMWare服务器,有4个testing环境通过NAT连接起来。

这对于RDP进入Windows Server 2003主机并且从那里预览站点和客户端/服务器是正常的,但是这些站点/服务器中的一些需要由客户端从外部访问。

是否有翻译一个名称(即clientXYZ.ourtestserver.com),说GoDaddy的DNSparsing到主机服务器(64.89.12.44),私人IP(192.168.248.16),并转发所有stream量到客人?

所有的帮助,非常感谢。

不,这不可能使用单个地址而不接受缺陷或使用专门用于此方法的软件。 你可以做的是:

  • 转发每个目标机器的端口。 假设您有三台在TCP端口12345上托pipe服务的NAT机器,您可以在公用机器上创build端口:端口12345 – >主机A,端口12345端口12346 – >主机B,端口12345端口12347 – >主机C,端口12345

  • 使用协议级别的反向代理。 这当然只适用于固有支持命名的协议。 假设您想要提供HTTP,您将在公用地址的端口80上运行反向代理。 然后,这个代理将分析主机:标题,并将请求转发到NAT机器。

如果我正确理解你的问题,我可以想办法做到这一点,确实可以为你工作。 这有点复杂,但我认为它会起作用。 每台VM机器都可以从一台机器路由到另一台机器。 考虑到这是一个testing环境,这种方法的性能打击可能并不重要。

因此,如果您需要的所有唯一的外部DNS条目都parsing为相同的IP地址,那么只需configuration每个虚拟机服务器,以了解如何通过静态路由到达每个特定的虚拟机服务器。 您需要在受影响的虚拟机的主机文件中对fqdn进行硬编码,或者如果您有内部DNS,则可以使用内部DNS。 您仍然需要为本地路由到的每台机器configuration特定的路由。

Pound的主页解释了如何在“虚拟主机(一般)”部分中使用英镑作为反向代理来完成此操作。 虽然作者说他不认为这是庞德的工作:-)我想你也可以用Apache使用mod_proxy做到这一点。

基本上英镑获取公共IP,并通过读取HTTP请求标头分发请求到适当的私人IP。 一般来说,你以前不能用SSL做到这一点,但现在有办法做到这一点, 看看这个链接 。