一、当宿主机插网线(以太网)时的虚拟机网络设置
1.virtualbox默认的网络连接方式如下
这种连接方式虚拟机可以ping通宿主机和外网,但是宿主机无法ping通虚拟机,执行ip address命令可以看到虚拟机自动分配的ip地址是10.0.2.15(我这里显示的是这个ip,可能会有不同),跟宿主机根本不在一个网段。
2.VirtualBox的四种网络连接方式
可以看到桥接模式是最佳选项,它支持所有情况的访问
3.修改虚拟机连接方式为桥接网卡
左边是宿主机的网络设置,右边是虚拟机网络设置,我们修改虚拟机的连接方式为桥接网卡、界面名称处选择的是宿主机当前使用的网卡
4.虚拟机网络修改完成后,查看宿主机网络信息
保证你的宿主机网络连接正常,然后记下左图的信息,稍后虚拟机配置时需要作为参考。
5.启动虚拟机,输入ip address命令
默认情况下(下面第8步的BOOTRPOTO=dhcp时)虚拟机会根据宿主的网卡信息自动分配一个ip(如果没有分配ip可能是因为你的宿主机连接的wifi网络,稍后我们再说宿主机wifi网络下虚拟机如何上网),上图显示了ip/子网掩码信息和以太网卡的名称(根据这个名称可以在/etc/sysconfig/network-scripts/下找到相应的网络配置文件)。
6.如果一切顺利,经过以上步骤,我们的虚拟机应该可以与宿主机互相ping通了,再看看虚拟机能不能ping通外网(ping baidu.com),如果通了那下面的几步就不用看了,说明网络一切正常,如果不通则检查虚拟机是否获取到正确的dns服务器地址,执行vi /etc/resolv.cong可以看到自动获取的dns地址,发现这里是交换机的,而不是真实的dns地址
7.修改网络配置文件,执行cd /etc/sysconfig/network-scripts;ls
”ifcfg-“开头加上我们的以太网卡名称“enp0s3” 就是我们要修改的文件
8.使用vim根据宿主机网络信息修改虚拟机配置文件的内容
左边是修改前,右边是修改后,右边把BOOTRPOTO修改成了static,是因为dhcp是自动获取,如果不改成static,我们在这里修改的这些地址不会生效,因为重启网络服务时,BOOTRPOTO的值决定了是自动分配还是使用静态数据,DNS1和DNS2对应的是宿主机的首选DNS服务器和备用DNS服务器
9.重启网络服务
网络重启后,再次执行vi /etc/resolv.cong可以看到dns地址已经更新成刚刚指定的dns地址,最后ping一下baidu.com,显示外网可以ping通了
二、当宿主机wifi时的虚拟机网络设置
1.网卡1
连接方式为网络地址转换(nat),用于访问外网
2.网卡2
连接方式为仅主机(Host-Only)网络,界面名称选择virtualBox安装后自动生成的以太网卡适配器,用于与宿主机通信
3.virtualBox安装后多出来的那个网络连接,它使用的网卡与虚拟机的网卡2是相同的
宿主机wifi时配置比较简单,以上几步即可。
到此网络配置结束,已经成功配好了宿主机ping通虚拟机、虚拟机ping通宿主机,虚拟机ping通外网。