如何解决从 Windows 来宾到 Mac OS X 主机的 VirtualBox 端口转发不工作?

jla*_*son 6 virtualbox

关于 VirtualBox 端口转发问题有很多问题,但没有一个与我的具体细节有关。设置细节:

我有一个安装在 VirtualBox 4.1.2 中的 Windows 7 Professional 64 位,托管在 Mac OS X 10.6.8 中。我有几个网络服务器localhost在 Windows 安装中的不同端口上运行。我一生都无法让端口转发工作,所以我可以从 Mac OS X 访问这些网络服务器。

我的设置看起来像这样;是的,我有一个 NAT 适配器:

在此处输入图片说明

在我的 VirtualBox 配置文件中,相关部分如下所示:

<NAT>
  <DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
  <Alias logging="false" proxy-only="false" use-same-ports="false"/>
  <Forwarding name="RLPWeb" proto="1" hostport="7084" guestip="127.0.0.1" guestport="7084"/>
  <Forwarding name="UtilWeb" proto="1" hostport="4040" guestip="127.0.0.1" guestport="4040"/>
  <Forwarding name="WCARLP" proto="1" hostport="8084" guestip="127.0.0.1" guestport="8084"/>
  <Forwarding name="WCAUtil" proto="1" hostport="4848" guestip="127.0.0.1" guestport="4848"/>
</NAT>
Run Code Online (Sandbox Code Playgroud)

我已经关闭了 Windows 防火墙以确保它不会干扰,并且我没有在 Mac OS X 上运行防火墙。

无论如何,当我尝试在我的http://127.0.0.1:4040/任何 Mac OS X 浏览器上访问时,它最终都会超时。

此 VM 的日志文件显示它正确读取设置并暗示它在这里做正确的事情:

00:00:08.286 NAT: set redirect TCP host port 4848 => guest port 4848 @ 127.0.0.1
00:00:08.286 NAT: set redirect TCP host port 8084 => guest port 8084 @ 127.0.0.1
00:00:08.286 NAT: set redirect TCP host port 4040 => guest port 4040 @ 127.0.0.1
00:00:08.286 NAT: set redirect TCP host port 7084 => guest port 7084 @ 127.0.0.1
00:00:08.290 Changing the VM state from 'LOADING' to 'SUSPENDED'.
00:00:08.290 Changing the VM state from 'SUSPENDED' to 'RESUMING'.
00:00:08.290 Changing the VM state from 'RESUMING' to 'RUNNING'.
00:00:08.337 Display::handleDisplayResize(): uScreenId = 0, pvVRAM=000000012017d000 w=1834 h=929 bpp=32 cbLine=0x1CA8, flags=0x1
00:00:09.139 AIOMgr: Host limits number of active IO requests to 16. Expect a performance impact.
00:00:13.454 NAT: DHCP offered IP address 10.0.2.15
Run Code Online (Sandbox Code Playgroud)

我试过将主机 IP 设置为127.0.0.1,并且我试过将访客 IP 设置为空白,并且还尝试将10.0.2.15. 这些似乎都没有帮助。

我还可以查看什么来解决此问题?

小智 0

我注意到 macOS X VirtualBox 主机上的端口转发存在问题。

使用网络适配器 PCnet-Fast III (Am79C973) 和 Oracle Developer Day 映像作为访客。

当我暂停来宾并恢复它时,所有端口转发都会丢失。

我不确定问题是否与网络适配器或来宾相关,但我不知道来宾如何知道端口转发。

这是一个不太可能的情况,但如果您与这种情况有任何共同点,请尝试关闭(完全关闭来宾电源)并使用端口转发集启动。立即测试任何端口转发是否正常工作,只有在获得积极结果后才尝试暂停和恢复来宾。