VirtualBox的端口转发不与NAT适配器工作(VirtualBox port forwardi

2019-08-17 22:03发布

我想用VirtualBox的简单端口转发,它似乎VirtualBox.exe正在监听的主机的端口上,但实际上没有转发给客人的连接。 我试过在多个端口,并且我已经重新启动VirtualBox的好几倍。 游客到主机连接,在另一方面,是好的。 这里的信息:

Host: Win7 x64
Guest: Win7 x64
VirtualBox version: VirtualBox 4.2.10
Firewalls: All firewalls on host and guest disabled.

Virtual Box > Machine Settings > Network
 Adapter 1: 
  Attached to: NAT
  Cable Connected : True
  Port Forwarding:
   Rule 1: TCP, HostIP=127.0.0.1, HostPort=8081, GuestIP=127.0.0.1, GuestPort=8081

On Host:
[VirtualBox.exe]  TCP    127.0.0.1:8081         IBM-6KT5OPCF76P:0      LISTENING

On Guest:
I never get the connection request on port 8081 or any others I've tried.

有任何想法吗? 我想避免使用VirtualBox的桥接适配器出于多种原因。 我的印象是,NAT端口转发是在VirtualBox中相对简单。

谢谢!

Answer 1:

你指向错误的方式来宾IP应该是来宾的IP(如果你是静态分配IP地址给客人)或保留空白。 注意你是尖锐的主机IP为127.0.0.1这意味着你转发端口可以被访问只能从端口(如果它是不是你想要的是什么,应该是空的为好)。

VBoxManage modifyvm "win" --natpf1 ",tcp,,8081,,8081"

也许这是你一直想做的事。 (请看看这里的更多详细信息 )



Answer 2:

半虚拟化网络*(为Virtio网)是关键

  1. 选择您要进行端口转发您的虚拟机。

    • 注意:确保虚拟机处于停止模式。
  2. 选择“设置”

  3. 选择“网络”
  4. 选择任意免提适配器。 比方说“适配器2”
  5. 启用“启用网络适配器”
  6. 在附加到下拉列表中,选择“NAT”
  7. 选择“高级”
  8. 在适配器类型:选择“ 半虚拟化网络 (为Virtio网)” [这是很重要]
  9. 选择“端口转发”
  10. 在“端口映射”对话框的右手部分,选择“+”
  11. 提供

    • 名称:你要什么。 例如,对于SSH,说“SSH”
    • 协议:协议的类型[对于SSH:TCP]
    • 主机IP:提供从您想要连接到主机的主机名[看过来:127.0.0.1]
    • 主机端口:在什么端口主机的要连接到远程端口[例如:60022]
    • 游客IP:让它空白
    • 游客端口:要什么端口,你想从上面的主机连接。 [对SSH,默认22]


Answer 3:

目前尚不清楚你正在使用的客户机操作系统。

我所面临的同样的问题。

我的主人是MAC PC和嘉宾是CentOS的7 VirtualBox上。
我启用了NAT端口转发来自做客VirtualBox的级别为承载两个SSH端口22和HTTP端口80。

但是我发现我无法连接到Apache HTTP服务器在CentOS 7位旅客从我的HTTP连接MAC电脑主机。

为了解决这个问题,我必须设置firewalld服务,以允许使用80间端口的连接。



Answer 4:

面对苹果主机,Fedora的客人设置上类似的问题。 试图访问从主机来宾机的8000端口上运行HTTP Web服务器。 在来宾计算机解决的问题打开端口8000 / TCP与防火墙CMD。

sudo firewall-cmd --zone=public --add-port=8000/tcp


Answer 5:

我遇到类似的问题,它原来是由造成了VirtualBox的设置端口转发时出错,一些企业的代理拦截软件称为proxycap安装在网络堆栈签名的驱动程序。 检查你的VM机日志错误信息,同时设置端口转发和上市未签名驱动程序和卸载相应的应用程序。



文章来源: VirtualBox port forwarding not working with NAT adapter