如何让 VirtualBox NAT 与实际客户端 IP 一起工作?

如何让 VirtualBox NAT 与实际客户端 IP 一起工作?

我在 Debian Squeeze 盒子上使用 Virtualbox 4.0.10。我有一台 Windows 7 VM,用于托管游戏服务器。设置 NAT 和端口重定向后,客户端可以连接到 VM,但游戏服务器显示它正在从 NAT 网关 IP(10.0.2.2)获取连接。我需要游戏服务器从实际的公共互联网客户端 IP 获取连接,因此我可以在游戏服务器中设置 IP 白名单。

这台 Debian 机器直接连接到互联网。我该怎么做才能让它工作?猜测这不是 VirtualBox 的问题,可以使用虚拟网络接口等解决,但不知道如何做。猜测这不是 Virtualbox 的问题,我可以使用桥接接口等让它工作。

答案1

将网络适配器设置为桥接模式。

在 VirtualBox 中,转到 Windows 7 设置,选择网络,然后您应该看到适配器设置为 NAT。将其更改为Bridged adapter

答案2

无需桥接模式即可实现!出于某些奇怪的原因,VirtualBox 中的默认 NAT 模式会重写原始源。

您需要使用以下方法将 NAT 切换为透明模式

VBoxManage modifyvm <your-vm name> --nataliasmode1 proxyonly

更多信息请点击此处

答案3

可能无法在 VirtualBox 中改变该行为。

以下任一方法均可解决您的问题:

  1. 最简单、最好的方法:只需使用 Debian 机器上的 iptables 设置您的白名单,而不是在 VM 上管理您的白名单。
  2. 使用具有更多选项的不同虚拟机管理程序来配置虚拟网络和 NAT 行为。
  3. 将 Debian 盒放在物理防火墙或路由器后面,在那里配置 NAT 规则,并将 VM 桥接到物理网络适配器。
  4. 从您的 ISP 获取第二个公共 IP 地址。将该 IP 地址分配给虚拟机并将其桥接到您的物理网络适配器。

相关内容