我正在尝试使用VirtualBox进行简单的端口转发,看起来VirtualBox.exe正在侦听端口的主机,但实际上并没有将连接转发给guest虚拟机。我尝试过多个端口,并且我已经多次重启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的桥接适配器有多种原因。我认为使用VirtualBox,NAT端口转发相对简单。
谢谢!
答案 0 :(得分:29)
半虚拟化网络*(virtio-net)是关键
选择您想要进行端口转发的虚拟机。
选择“设置"
提供
答案 1 :(得分:15)
你以错误的方式指出了guest ip,它应该是guest虚拟机的ip(如果你是静态地为guest分配ip地址)或者将它留空。请注意,您将主机IP指向127.0.0.1,这意味着您转发的端口只能从端口访问(如果它不是您想要的,它也应该是空的。)
VBoxManage modifyvm "win" --natpf1 ",tcp,,8081,,8081"
或许这是你想要做的事情。 (请look here for more details)
答案 2 :(得分:5)
目前尚不清楚您使用的是哪个客户操作系统。
我遇到了同样的问题。
我的主机是MAC PC,客户是VirtualBox上的CentOS 7 我为ssh端口22和http端口80启用了从虚拟机级别的guest虚拟机转发到主机的NAT端口。
但是我发现我无法通过http连接从我的MAC PC主机连接到Centos 7 guest虚拟机上的Apache HTTP服务器。
要解决此问题,我必须将firewalld服务设置为允许端口80连接。
答案 3 :(得分:1)
我遇到了类似的问题,结果是由一些名为proxycap的公司代理拦截软件安装的网络堆栈中的未签名驱动程序,这些软件在设置端口转发时导致虚拟机出错。在设置端口转发和列出未签名的驱动程序并卸载相应的应用程序时,请检查VM计算机日志中是否有错误消息。
答案 4 :(得分:0)
在Mac主机上遇到类似问题,Fedora来宾设置。试图从主机访问来宾计算机的端口8000上运行的http Web服务器。在来宾计算机上用firewall-cmd打开端口8000 / tcp解决了问题。
sudo firewall-cmd --zone=public --add-port=8000/tcp
答案 5 :(得分:0)
我这样连接到Centos7:
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=10.0.2.15, GuestPort=8081
$> ssh -p8081 [change] @ 127.0.0.1
答案 6 :(得分:0)
万一其他人遇到我同样的问题,我在这里写下我的错误:
我将CentOS 7用作主机,将Windows作为来宾。
我唯一遇到的问题是:我忘记在来宾计算机中禁用 Windows防火墙设置。禁用它,一切正常。
答案 7 :(得分:0)
如果任何人都遇到相同的问题,请尝试卸载ProxyCap,proxifier等重定向器。VirtualBoxNAT不适用于它们。如果尝试跟踪VirtualBox网络,则不会在日志中找到任何错误消息,并且在pcap文件中也不会看到任何内容。禁用ProxyCap是不够的,必须将其卸载,或者您需要使用“ netsh winsock reset”重置网络配置,但是ProxyCap将不再对您有效。