如何获得VirtualBox NAT与实际的客户端IP的工作?

我在Debian Squeeze框上使用了Virtualbox 4.0.10。 我有一个Windows 7虚拟机,我用来托pipe游戏服务器。 设置NAT和端口redirect后,客户端可以连接到虚拟机,但游戏服务器显示它正在从NAT网关IP(10.0.2.2)获取连接。 我需要游戏服务器从实际的公共互联网客户端IP获得连接,所以我可以在游戏服务器中build立一个IP白名单。

这个Debian机器直接连接到互联网。 我能做些什么来完成这项工作? 猜猜这不是VirtualBox的问题,可以通过虚拟networking接口解决,但不知道如何去做。 猜猜这不是Virtualbox probmem,我可以使它与桥接接口等工作。

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

在VirtualBox转到Windows 7的设置,selectnetworking,那么你应该看到,适配器设置为NAT。 将其更改为Bridged adapter

在VirtualBox中可能没有办法改变这种行为。

以下任何一项都可以解决您的问题:

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

这是没有桥模式的可能! 出于某种奇怪的原因,VirtualBox中的默认NAT模式会重写原始源代码。

你想要的是将NAT切换到透明模式

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

更多信息在这里