从来宾到主机的虚拟盒"port forward"



这是我的设置:

- Host: Windows XP
- Guest: Ubuntu 10.04
- Networking: NAT

我正在Guest上设置Apache web服务器,但我希望能够在Windows机器上做到这一点:

- go to the browser, type http://localhost:8000

此外,我试图将我的网络连接改为桥接,我得到了一个新的IP。但当我尝试使用http://:8000时,它说它无法连接。

网络通信主机->客人

连接客人并查找ip地址:

ifconfig 

结果示例(ip地址为10.0.2.15):

eth0      Link encap:Ethernet  HWaddr 08:00:27:AE:36:99
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0

转到Vbox实例窗口->菜单->网络适配器:

  • 适配器应该是NAT
  • 点击";端口转发"
  • 插入新记录(+图标)
    • 对于主机ip,输入127.0.0.1,对于从prev获得的来宾ip地址。步骤(在我的情况下是10.0.2.15)
    • 在您的情况下,端口是8000-将其同时放在两个端口上,但如果您愿意,可以更改主机端口

转到主机系统并在浏览器中尝试:

http://127.0.0.1:8000

或者您的网络ip地址(在主机上运行:ipconfig)。

网络通信访客->主机

在这种情况下,不需要端口转发,通信将通过LAN返回主机。

在主机上-找到您的网络ip地址:

ipconfig

结果示例:

IP Address. . . . . . . . . . . . : 192.168.5.1

在访客机器上,您可以直接与主机通信,例如使用ping进行检查:

# ping 192.168.5.1
PING 192.168.5.1 (192.168.5.1) 56(84) bytes of data.
64 bytes from 192.168.5.1: icmp_seq=1 ttl=128 time=2.30 ms
...

防火墙问题

@Stranger建议,在某些情况下,有必要在防火墙中打开已使用的端口(8000或使用的端口),如下所示(例如,对于ufw防火墙,我还没有测试):

sudo ufw allow 8000 

这是不可能的。localhost始终默认为本地操作系统上的环回设备
当你的虚拟机运行自己的操作系统时,它有自己的环回设备,你无法从外部访问。

如果你想访问它,例如在浏览器中,请使用本地IP连接到它:

http://192.168.180.1:8000

当然,这只是一个示例,您可以通过在来宾操作系统中的shell上发出ifconfig命令来找到实际的IP。

最新更新