【运维心得】VirtualBox宿主机访问虚拟机web服务

问题现象

本次用virtualbox搭建了一个centos7+django的网站,虚拟机发布端口为8080,但是从宿主机始终无法访问,由于默认使用的是网络地址转换(NAT),根据网上的描述,只要设置端口转发就可以了。但是无论如何设置,始终无法从宿主机访问此8080端口,但是通过telnet是可以的,而且ping也是可以的,说明与防火墙无关。
先把启动服务的代码写下来,等会儿备用:
python3 manage.py runserver 127.0.0.1:8080

解决方案

后来网上没有找到合适的解决方案,基本都是如下两种思路:

  • 配置端口转发
  • 设置全局网络,也是需要配置端口转发

但按照其中的截图配置,都无法解决问题,最后通过请教熟悉虚拟机和网络的同事,问题终于得到解决!其实思路都是类似的,只是在具体配置上,有所不同,话不多说,先把问题关键的端口转发图放上来:
全局设定1
全局设定2
全局设定3
上图最为关键,一定要配置红圈里的IP地址,否则仍然是无法访问,同时,刚才那句启动服务的代码也需要修改如下:

python3 manage.py runserver 10.0.2.15:8080

至此,问题解决,分享出来,希望碰到类似问题的朋友能够节省时间。

### 回答1: Linux宿主机可以通过以下几种方式访问虚拟机: 1. 通过 SSH 连接到虚拟机,可以在虚拟机中运行命令和管理文件 2. 通过网络共享文件夹,在宿主机虚拟机之间共享文件 3. 通过 VNC 或 RDP 远程桌面访问虚拟机的图形界面 请确保在虚拟机安装了正确的网络驱动,并正确配置网络连接。 ### 回答2: Linux宿主机可以通过以下几种方式访问虚拟机: 1. 使用虚拟机管理软件的图形界面:常见的虚拟机管理软件包括VirtualBox、VMware等,这些软件都提供了图形界面,通过它们可以轻松访问和管理虚拟机。用户只需在宿主机上打开相应的虚拟机管理软件,选择要访问虚拟机,并在其中操作。 2. 使用SSH(Secure Shell)连接:SSH是一种网络协议,可通过网络安全地远程登录到一台计算机,并在其上执行命令。用户可以在虚拟机安装和启动一个SSH服务器,然后在宿主机的终端中运行SSH命令,连接到虚拟机,并在其中执行各种操作。 3. 使用虚拟网络连接:虚拟机通常会创建一个虚拟的网络适配器,可以通过宿主机的物理网络适配器与其他设备通信。用户可以在虚拟机中设置网络共享或桥接功能,使得虚拟机可以直接通过宿主机的网络连接进行访问。 4. 在宿主机上设置端口转发:用户可以在宿主机上设置端口转发规则,将宿主机的特定端口映射到虚拟机中的对应端口。这样,用户可以在宿主机的浏览器或其他应用程序中直接访问虚拟机上的服务。 总之,要实现Linux宿主机虚拟机访问,可以通过虚拟机管理软件的图形界面、SSH远程连接、虚拟网络连接或宿主机上的端口转发等方式来实现。用户可以根据具体需求和场景选择合适的访问方式。 ### 回答3: Linux宿主机可以通过多种方式访问虚拟机。 1. 桥接网络模式:在虚拟机的网络设置中选择桥接模式,将虚拟网卡与宿主机的物理网卡连接在一起,让虚拟机获得宿主机所在局域网中的IP地址。这样宿主机虚拟机就处于同一网络,可以通过IP地址相互访问。 2. NAT网络模式:在虚拟机的网络设置中选择NAT模式,虚拟机会获得宿主机虚拟网卡分配的IP地址。宿主机可以通过宿主机的IP地址加上虚拟机端口号来访问虚拟机,例如:192.168.0.1:8080。 3. 主机模式:在虚拟机的网络设置中选择主机模式,虚拟机会获得宿主机一个虚拟网卡的IP地址。在主机模式下,宿主机可以使用该IP地址与虚拟机进行通信。 4. 仅主机模式:在虚拟机的网络设置中选择仅主机模式,虚拟机不会与外部网络相连。在这种模式下,宿主机可以通过虚拟机软件提供的管理工具或命令行工具来访问虚拟机。 此外,还可以通过第三方工具,如SSH(Secure Shell)来远程访问虚拟机宿主机上可以通过SSH客户端连接虚拟机的SSH服务器,进行远程管理。 总之,Linux宿主机可以通过网络模式设置、特定软件或工具等方式访问虚拟机,以便进行管理、操作和共享资源。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值