结合我自己遇到的一些问题来聊一下vbox上面的一些网络配置的问题 1、主机一直连不上虚拟机 2、电脑一断网就会出现连不上虚拟机 3、虚拟机无法访问外网
先看虚拟机的网络设置页面
1、网络分类
主要有以下几种,针对每种我们都做一个解释 1、NAT(网络地址转换) 2、桥接网卡 3、内部网络 4、Host-Only网络 5、通用驱动 6、NAT网络 7、Cloud NetWork【EXPERIMENTAL】
我们针对1,2,4简单做个说明,并结合所遇到的问题进行分析
1.1 NAT
NAT是私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。
简单来说就是将虚拟机中的机器模拟成一个真实存在的物理机,借助路由器的能力,在局域网中形成真实存在的一个需要网络访问的机器,此时虚拟机可以联网,但是和主机不在一个网段里面,所以无法ping通【可以手动设置网段,但是没有尝试】。
所以这里我们就知道单纯通过NAT是无法通过主机连接到虚拟机的,但是由于虚拟机已经从路由器那边获取到私有IP本身是可以访问网络了。
1.2 桥接网络
网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。
桥接网络在主机连上路由器的时候,从主机访问虚拟机是这样的数据流量:主机--》网卡--》路由器--》网卡--》虚拟机,所以当主机没有连上路由器或者无线网的时候,主机是没有办法访问虚拟机的。这就是电脑一旦断网,就会出现连不上虚拟机的原因。
1.3 Host-Only网络
Host-Only顾名思义就是仅主机访问,所以在此模式下,主机是可以和虚拟机中的机器可以访问,但是由于虚拟机没有从NAT下获取私有IP地址,所以不可以访问外网。这就是我遇到的问题3。
2、解决网络问题
那怎么解决这个问题呢。我们可以结合NAT+Host-only两种方式简单实现既可以主机访问虚拟机,由可以让虚拟机访问外网。
2.1 创建网卡
配置网络的时候发现只有Adapter1,Adapter2是被禁用的。默认Adapter1选择NAT。
那我们首先新建一个Adapter,进入管理-主机网络管理器
新建新的网络,默认值就行
启用虚拟机的网络配置,发现这个时候已经可以配置网卡2了,网卡2选择Host-only,保存,启动虚拟机。
使用命令
ip ad
发现新的网卡没有启用【State down】。
2.2 启用网卡
编辑网卡信息,启用网卡 命令:
sudo vim /etc/netplan/00-installer-config.yaml
执行加载配置
sudo netplan apply
这样就可以访问了