虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

云计算 虚拟化
为了学习和使用Linux,多数人选择了使用虚拟机的方式来安装Linux系统。这样我们就可以在windows系统中安装Linux系统了,其中windows机器系统本身我们称作宿主机,安装的虚拟机系统我们简称虚拟机。

 为了学习和使用Linux,多数人选择了使用虚拟机的方式来安装Linux系统。这样我们就可以在windows系统中安装Linux系统了,其中windows机器系统本身我们称作宿主机,安装的虚拟机系统我们简称虚拟机。

[[271066]]

由于虚拟机提供的几种网络方式,要么是虚拟机可以ping通宿主机反之不行,要么是虚拟机之间可以互通但宿主机不能访问虚拟机,所以在实际应用中多数被两者间的网络互通和是否能上网的问题所困扰。

本文将介绍三种网络配置方式,实现虚拟机和宿主机之间互通并且可以访问互联网。首先我宿主机的IP地址为:192.168.1.117。

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

查看宿主机网络IP地址

一、直接使用桥接的方式

桥接方式下,不用做太多设置,虚拟机会自动获取和宿主机同网段的IP,和宿主机网络中的其他主机处于同等地位,所以虚拟机和宿主机可以互相直接通信,且只要宿主机可以上网,虚拟机即可上网。

 

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

 

设置虚拟机网络连接方式为桥接

经过上面的网络设置后,我们进入虚拟机系统,查看IP地址为192.168.1.220,且可以ping通www.baidu.com,可以实现和宿主机互通也可以实现上网。如图:

 

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

 

虚拟机centos系统中设置网络IP地址

在宿主机中通过ping命令,测试虚拟机中的ip地址设置是否成功,ping通则说明设置成功。宿主机和虚拟机可以互通!

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

二、使用网络地址转换NAT+端口转发的方式

使用网络地址转换加端口转发的方式,虚拟机可以直接ping通宿主机,但是宿主机无法直接ping通虚拟机。不过宿主机可以通过类似Xshell的远程连接软件,设置相关参数后即可访问虚拟机。且只要宿主机可以上网,虚拟机即可直接上网。注意是网络地址转换NAT,不是NAT网络。配置如下:

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

配置虚拟机网络连接为NAT方式,并设置端口转发

设置后,虚拟机获取的IP地址为10.0.2.15。经过测试可以ping通宿主机IP,可以ping通www.baidu.com。

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

在虚拟机的centos中设置ip地址

在Xshell中的配置端口转发的相关参数:

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

xshell中配置端口转发参数

配置完成后,登陆虚拟机,测试连接访问情况,效果图如下:

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

通过xshell登陆虚拟机centos系统

三、NAT网络+host-only双网卡方式

此种双网卡的方式,结合了NAT可以访问外网的优点和host-only可以实现虚拟机之间互通且宿主机可以访问虚拟机的特长,实现了两者的互通且可以上网的功能。具体配置如下:

需要先配置VirtualBox的全局变量,通过“管理”-->“全局设定”选项配置NAT和host-only的双网卡。

1、配置NAT网卡,我们使用IP地址为10.0.2.X的网段,记得开启DHCP服务。

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

虚拟机中设置网络连接方式为nat+host only

2、配置host-only网卡,由于host-only方式会在本机网络中新增一块网卡,这里我们设置其IP地址段为192.168.65.X,其中此块网卡IP地址为192.168.65.1,并且开启DHCP服务。

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

配置虚拟机的网络连接host only

虚拟机中DHCP服务器配置如下:

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

虚拟机中配置dhcp服务

全局配置完毕后,需要对虚拟机进行双网卡配置,分别为虚拟机添加NAT和host-only网卡。先配置nat网卡1:

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

虚拟机中配置网卡1为NAT

再配置网卡2为host-only:

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

虚拟机中配置网卡2为host only

至此双网卡配置完毕,我们可以打开虚拟机进行网络验证。

首先看到虚拟机中的网卡变成了两块:eth0(10.0.2.8)和eth1(192.168.65.2)。

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

虚拟机centos系统中查看网卡

虚拟机ping通宿主机192.168.1.117,虚拟机ping通www.baidu.com。

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

虚拟机centos系统中ping命令测试互通

宿主机可以ping通虚拟机的192.168.65.2的地址:

虚拟机不能上网?虚拟机和宿主机不能互通?一文搞定网络问题

宿主机中通过ping命令测试互通

以上就是三种可以实现宿主机和虚拟机互相访问通信的且保证可以上网的实现,大家可以根据自己的需要选择合适的方式。

责任编辑:武晓燕 来源: 今日头条
相关推荐

2019-08-21 16:27:15

KVM虚拟机网关

2012-05-18 10:22:23

2009-03-19 19:07:12

2010-07-26 09:02:38

2013-07-17 09:32:58

2020-04-01 22:05:24

虚拟机HotSpotJava

2018-09-11 15:01:22

Java虚拟机组成

2021-01-07 10:04:24

容器虚拟机测试

2023-02-06 15:28:51

2009-08-16 21:49:54

2023-04-26 07:51:36

虚拟机操作系统进程

2010-01-05 18:00:16

2009-12-11 14:00:09

VMware虚拟机

2014-02-21 11:20:34

KVMXen虚拟机

2020-01-17 10:52:37

无服务器容器技术

2012-04-10 10:29:29

2023-09-03 17:05:20

虚拟机

2020-12-08 05:58:57

CPU虚拟化虚拟机

2010-12-23 14:05:12

虚拟机

2009-12-16 14:33:52

Host访问虚拟机
点赞
收藏

51CTO技术栈公众号