虚拟机静态IP换了网络环境无法联网?

问题描述

通过VirtualBox安装CentOS7,网络模式桥接。虚拟机安装完成后,由于公司和租屋的不同网络环境,每次打开虚拟机,都需要重新获取IP,然后重新通过SSH工具连接。看到网上说的静态IP,以为配置静态IP能够解决问题,于是找了很多教程终于配置好了静态IP,但是换了网络环境直接无法联网?后面发现是要自己配置DNS,于是配置了DNS后,可以联网了,但是一旦切换网络依旧无法联网!

做的操作

1、配置静态IP

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.0.200
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

操作后,IP固定了,但是不能联网,查询资料后,发现配置静态IP后DNS会消失

2、配置DNS

# vi /etc/resolv.conf
nameserver 114.114.114.114

操作后,虚拟机可以联网了。然后尝试切换网络,虚拟机又不能联网了!!!

期望

希望有大佬可以给出个解决方案,期望能够做到虚拟机设置静态IP,主机网络切换(192.168.0.XXX -> 192.168.56.XXX)后SSH工具依旧可以通过静态IP连接虚拟机

情况描述

VirtualBox这个软件安装后只有下图这一个网卡VirtualBox Host-Only Ethernet Adapter网卡,并没有生成NAT的网卡。即使在软件的NAT网络新建也不会在主机中生成网卡

image.png

image.png

但是新建的NAT网络会在虚拟机中表现为网卡形式(enp0s3),我猜测VirtualBox可能隐藏了NAT网卡(主机中),目前我的虚拟机使用了两张网卡:

image.png

在虚拟机种的表现形式为:

image.png

网络上的教程基本都是让我在enp0s3这个网卡配置中设置静态IP,例如本站的一篇教程,并不是说这种不行,我在网上找到很多的教程,除了我上述说的教程,还有一个教程是虚拟机只要仅主机一个网卡,然后在主机自己的网卡设置分享网络给虚拟机生成的网卡,这种也成功了,教程地址。这些教程我都成功过,但过一段时间或这是我的网络环境变了,反正最后就突然出现问题!!!

我还专程去B站找了相应的教程,尚硅谷那边说,NAT相当于主机开个路由器,虚拟机就是路由器分配的IP,虚拟机可以访问外网和主机,但是主机不能访问虚拟机,所以在主机生成了一个网卡让主机也连上上面说的路由器和虚拟机处于同一个网段下,就可以互通。

根据尚硅谷的说法,我一直以为仅主机(enp0s8)这个网卡就是保证虚拟机和主机互通,NAT(enp0s3)是用来访问外网的,所以网上的教程都是在修改配置enp0s3这个网卡。

但是今天那个共享网络的教程出问题了,我又在网络上找了很久,找到了这个不动NAT配置文件(enp0s3),修改仅本机(enp0s8)配置文件的教程,教程地址,我感觉这个教程更符合尚硅谷的说法,NAT的IP不管,让它自动获取,反正它是访问外网的,修改仅本机(enp0s8)配置文件保证主机可以连接虚拟机即可,今天这个教程也证明可以成功,不清楚过几天会不会再次出现问题!!!

阅读 2.5k
1 个回答

你这种情况建议是不要用桥接网络,用默认的nat网络就好了。

nat网络的话,虚拟机内部的网段是固定的,虚拟机外面的网络环境无论怎么换,都不会影响到里面。

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏