我正在尝试在虚拟机上创建一个 Web 服务器。即使我可以使用类似以下命令访问它,我也很高兴http://xxx.xxx.xxx.xxx:[端口号]一切都已安装完毕,但面向外部世界的步骤对我来说有些问题,主要是因为我不在路由器后面。以下是一些详细信息:
主机操作系统: Ubuntu 12.04 主机通过静态 IP(以太网)与外界连接,没有路由器(它是大学校园内的 PC,没有 DHCP)。没有来自大学管理员的防火墙。
客户虚拟机:VirtualBox 上的 Ubuntu 14.04(无 Windows 环境)。
使用 NAT 时,我可以连接到 Internet,但如果我理解正确的话,桥接适配器意味着我需要一个新的静态 IP 或位于路由器后面。当我启用桥接适配器时,我得到一个 IP 10.0.2.15,我猜是在 adhocLAN 上,当然它不起作用。
我的问题有解决办法吗?
答案1
当然,这绝对是可能的。你只需要从 Virtualbox 界面进行一些端口转发设置。
转到设置 -> 网络 -> 端口转发。然后,添加新规则。在主机端口中,添加一些您想要使用的端口,例如1212
。在来宾端口中,添加80
apache 的默认端口。
启动虚拟机就完成了。现在可以通过以下方式从主机访问 Web 服务器:http://本地主机:1212,并从外部世界<Public-IP>:1212
。
截屏:
PS:您不需要使用桥接连接或类似的东西。只需将其保持在 NAT 即可。