我有一台运行 VMWare ESXi 并带有一个物理网卡的服务器。
该服务器运行 3 台虚拟机(S1、S2 和 S3),均运行 Windows Server 2008 R2。
我想在此服务器上设置 NAT 路由,以便其中只有一台服务器具有外部 IP,并且所有传入请求都转到该单个 VM(例如 S1)。该 VM 只会路由请求并充当防火墙。例如,它会将所有 http 请求路由到 S2 - 换句话说就是端口转发。我还希望所有 3 台机器能够相互通信(共享文件、访问网络服务、甜言蜜语)。
我确信答案就在 Windows Server 2008 中的例行和远程访问服务 (RRAS) 中。但到目前为止,我所有的无知探索都没有找到可行的方法。我可以在 S1 上为 NAT 配置 RRAS,并让它看起来可以工作,但我无法让任何其他机器(S2 和 S3)能够与 S1 通信。
我读过了许多 文章哪个尝试到解释如何设置这个。但到目前为止,这些方法都没有奏效。更糟糕的是,它们给出的建议都略有不同。
有谁知道关于这个主题的权威文章吗?或者能给出一组关于如何配置 RRAS 来执行我想要的操作的具体说明吗?
谢谢。
答案1
- 在 ESXi 中为您的“内部”网络创建一个虚拟交换机。
- 为您的“内部”虚拟机提供单个虚拟网络适配器并将其连接到内部虚拟交换机。
- 为您的“路由器”VM 提供两个网络适配器;将一个连接到内部虚拟交换机,将另一个连接到您用来访问“真实”网络的任何虚拟交换机。
- 为您的内部网络选择一个 IP 子网;在此示例中,我们使用 192.168.0.0/255.255.255.0。
- 配置“路由器”虚拟机的内部网络适配器,使其在上述网络上拥有一个 IP 地址;例如 192.168.0.1/255.255.255.0。不要在此适配器上设置任何默认网关。
- 配置您的“内部”虚拟机,使其在上述网络中也拥有 IP 地址/子网掩码;例如 192.168.0.10/255.255.255.0 和 192.168.0.20/255.255.255.0。
- 将这些“内部”虚拟机的默认网关配置为“路由器”虚拟机的内部 IP 地址,即 192.168.0.1。
- 配置您的“路由器”VM 的外部网络适配器,使其具有适合您的“真实”网络的地址;还将其默认网关配置为您在“真实”网络中使用的网关。
- 现在,这三个虚拟机应该能够使用它们的内部 IP 地址相互 ping 通;“路由器”虚拟机也应该能够 ping 通外部 IP 地址。如果它们不能,那么一定是出了问题;最常见的错误是切换“路由器”虚拟机中的两个虚拟适配器,因为 Windows 倾向于以完全任意的顺序检测适配器。无论如何,两个“内部”虚拟机应该能够相互 ping 通。
- 如果您绝对确定所有配置都正确但仍然不起作用,请在所有虚拟机上禁用 Windows 防火墙,然后重试。
如果三台虚拟机可以成功相互通信,并且“路由器”虚拟机可以与外部主机通信,那么现在就可以启用 RRAS 了。
- 从服务器管理器中,将“网络策略和访问服务”角色添加到您的服务器。
- 在服务器管理器中,转到“网络策略和访问服务”节点,然后转到“路由和远程访问”。
- 选择“配置并启用路由和远程访问”。
- 从建议的模板中选择 NAT 配置。
- 选择公共网络和私有网络。
- 您现在可以选择为您的路由器启用自动 DNS 和 DHCP 服务,或者您可以跳过此步骤并依赖您自己的服务。
- 完成向导并启动服务。
现在您应该也能够从“内部”虚拟机 ping 外部 IP 地址。
对于 DNS 和 DHCP,您可以选择使用 RRAS 的内置功能,或者执行适合您的设置的其他操作(使用静态 IP 地址、使用外部 DNS 服务器、使用 DNS 和 DHCP 设置您自己的内部 AD 域等)。