【问题标题】:VirtualBox Port Forwarding on Windows 7 not WorkingWindows 7 上的 VirtualBox 端口转发不起作用
【发布时间】:2015-06-27 00:14:41
【问题描述】:

Windows 7 上的 VirtualBox 端口转发不起作用

我试图通过端口转发从我的 Windows 7 主机 ssh 到我的 VirtualBox,但 VirtualBox 不会打开端口进行监听。我可以通过打开 VirtualBox GUI 并通过该终端导航来连接它,但我无法通过主机上的标准 ssh 客户端进行连接。我希望能够在我的主机上的端口 2222 上通过 ssh 连接到访客。

这是我的设置:

Host: Window 7 SP1
Guest: Ubunto Ubuntu 12.04
VirutalBox: 4.3.26
Host Processor: Intel Core i7 920

来宾机器配置为 NAT,并为 127.0.0.1 启用端口转发,主机端口 2222 到来宾端口 22。

来宾上ifconfig 的输出:

eth0    inet addr:10.0.2.15 Bcast:10.0.2.255 Mask: 255.255.255.0

ps -ef | grep sshd 对来宾的输出:

root    625 1   0   12:27   ?   00:00:00    /usr/sbin/sshd -D

来宾上netstat -ant | grep 22 的输出:

tcp     0   0   0.0.0.0:22  0.0.0.0:*
tcp6    0   0   :::22       :::*

但在主机上,netstat -ant | grep 2222 没有显示任何内容。

在 VBox.log 但是我有这个:

00:00:03.413790 NAT: set redirect TCP host 127.0.0.1:2222 => guest 10.0.2.15:22
00:00:03.424301 supR3HardenedErrorV: supR3HardenedScreenImage/LdrLoadDll: rc=VERR_LDRVI_UNSUPPORTED_ARCH fImage=1 fProtect=0x0 fAccess=0x0 \Device\HarddiskVolume2\Windows\mfnspstd64.dll: WinVerifyTrust failed with hrc=Unknown Status 0x800B0101 on '\Device\HarddiskVolume2\Windows\mfnspstd64.dll'
00:00:03.424422 supR3HardenedErrorV: supR3HardenedMonitor_LdrLoadDll: rejecting 'C:\Windows\mfnspstd64.dll' (C:\Windows\mfnspstd64.dll): rcNt=0xc0000190
00:00:03.424476 NAT: failed to redirect TCP 127.0.0.1:2222 => 10.0.2.15:22

最后一行看起来很可疑,但不知道为什么它无法重定向。我已经从其他各种帖子和论坛中尝试了以下所有方法,但无法让它监听主机上的任何端口:

  • 关闭防火墙
  • 更改了端口
  • 在 BIOS 上启用 VT-X
  • 已禁用 Hyper-V
  • 尝试了多种不同的 VirtualBox 版本

任何帮助将不胜感激。在我的带有 OS-X 的 Mac Book 上运行良好。

【问题讨论】:

  • 你有没有得到这个工作?我在 Windows 8.1 上遇到了完全相同的问题!
  • 它是否可以与同一个 Virtualbox 安装中的其他客人一起使用?

标签: ssh virtualbox portforwarding


【解决方案1】:

您是否在机器设置中设置了转发?

  1. 要在 VirtualBox 中转发端口,首先通过选择菜单中的“设置”选项打开虚拟机的设置窗口。

  2. 在虚拟机的配置窗口中选择“网络”窗格,展开“高级”部分,然后单击“端口转发”按钮。请注意,此按钮仅在您使用 NAT 网络类型时才有效 - 如果您使用 NAT,您只需转发端口。

  3. 使用 VirtualBox 的端口转发规则窗口转发端口。您不必指定任何 IP 地址 - 这两个字段是可选的。

也在这里:http://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/

【讨论】:

  • Yup 端口转发已在我的实例上启用。我会更新我的问题
  • 尝试禁用防火墙。如果我没记错的话sudo ufw disablesudo service iptables stop
  • 正如我的问题中提到的,我已经尝试关闭防火墙
  • windows 防火墙或工作组呢?尝试再次检查所有步骤可能会发现您做错了什么。 1)设置 1 个仅主机适配器和 1 个 NAT 适配器 2)在您的主机中启用 Virtual Box 网络适配器。 3) Ping Host 和 Guest 并确保两者都已连接。 4)现在在仅主机适配器上创建端口转发。
  • 再次,如原始问题所述,我正在通过运行 netstat -ant | 检查主机以查看 2222 是否打开。 grep 2222 (如您提供的链接中所述)并且端口未打开。 VBox.log 中的启动日志指出“未能重定向 TCP 127.0.0.1:2222 => 10.0.2.15:22”
【解决方案2】:

我使用this article SSH 到我的 Raspberry pi3 虚拟机。

使用这个命令ssh -p 2222 pi@localhost

最初,我一直尝试使用ssh pi@10.0.2.x -p 2222,但它不起作用并一直返回“连接超时”。我的端口号是 2222,但您的端口号可能会有所不同,具体取决于您在 VirtualBox 中设置的内容。

我在 Debian Raspberry Pi VM (VirtualBox) 中使用 Windows 10。

【讨论】:

    【解决方案3】:

    我在hypernode-vagrant issue 中找到了解决方案:VirtualBox 无法在 Vagrant 的标准端口 2222 上为 SSH 建立端口转发,但更高的端口可以工作。在那个问题中,端口 >= 4000 有效,而端口

    可以通过在 Vagrantfile 中添加以下行来更改主机上用于转发的端口(您可能需要将 4000 替换为更高的数字):

    config.vm.network :forwarded_port, guest: 22, host: 2222, disabled: true
    config.vm.network :forwarded_port, guest: 22, host: 4000, id: "ssh"
    

    我不知道这种行为的根本原因是什么,但到目前为止,解决方法一直在可靠地工作。

    【讨论】:

      猜你喜欢
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      相关资源
      最近更新 更多