问题描述:用于工作开发需要一个Linux环境,安装一个虚拟机运行Linux环境。
虚拟机VirtualBox版,可点击查看此文章,亲测有效
一、Linux系统centos7版本镜像下载
由于个人使用docker,根据官方文档显示,至少需要7以上版本,所以下载一个centos7版本。
centos官方(/centos/)。
阿里镜像(/centos/).
阿里镜像下载一个7.7.1908版本的(/centos/7.7.1908/),推荐安装***DVD***.ios
***DVD***.iso 标准安装版,一般下载这个就可以了(推荐)
***Everything***.iso 对完整版安装盘的软件进行补充,集成所有软件。(包含centos7的一套完整的软件包,可以用来安装系统或者填充本地镜像)
***LiveGNOME***.iso GNOME桌面版
***LiveKDE***.iso KDE桌面版
***Minimal***.iso 精简版,自带的软件最少
***NetInstall***.iso 网络安装镜像(从网络安装或者救援系统)
二、虚拟机下载安装
VMware Fusion免费正版授权请查阅本人此博客
1、下载虚拟机(VMware Fusion或者Virtual Box等),本文使用VMware Fusion
官方下载网址/
2、双击下载的dmg文件
3、由于下载的版本为11.5.3版本,需要许可证密钥才能正常使用或者免费使用15天
具体许可证密钥可购买或者百度自行搜索,可以通过在官方注册账户,则会有免费的许可证(个人使用,非商用)。
VMware Fusion免费正版授权请查阅本人此博客
4、安装
个人是用于安装Linux版本,且Linux系统已经下载到U盘中,所以选择从光盘或映像中安装。
然后点击完成进行安装即可。
安装中需要设置语言、时区、键盘、账户密码等。
5、安装重启后查看当前安装版本
三、网络配置
网络配置存在三种方式:NAT模式、桥接模式、仅主机模式
NAT模式:物理机起到了类似于路由器的作用,虚拟机想上网就必须通过物理机,只要物理主机可以上网则虚拟机也可以。桥接模式:直接连接物理网络,虚拟机和主机同等地位,相当于两台电脑链接一个路由器。仅主机模式:不能访问外网,可以使用内网相互访问。
可以使用单一模式,也可以组合使用,后面有NAT模式+仅主机模式的组合使用。
方式一:NAT模式、固定静态IP(可上外网)
1、将虚拟机网络修改为NAT模式
2、获取网关地址、子网掩码等
在Mac终端打开vmnet8目录,然后打开nat.conf文件
cd /Library/Preferences/VMware\ Fusion/vmnet8cat nat.conf
IP为网关地址,netmask为子网掩码
3、固定虚拟机IP
打开虚拟机,network-scripts目录
cd /etc/sysconfig/network-scripts
然后编辑以ifcfg-en开头的文件,上图为ifcfg-ens33文件,然后编辑该文件
编辑前:
编辑后:
BOOTPROTO=dhcp修改为 BOOTPROTO=static,表示ip为静态ip
ONBOOT=no修改为ONBOOT=yes
添加
IPADDR=192.168.25.140 #表示静态IP
GATEWAY=192.168.25.2 #网关地址(上方有说明)
NETMASK=255.255.255.0 #子网掩码(上方有说明)
DNS1=192.168.0.1 #dns地址(Mac系统偏好设置-->网络-->高级-->DNS),若存在多个则DNS1= DNS2=分开写即可
4、重启网卡或者重启Linux系统。
service network restart #重启网卡服务
联网测试:虚拟主机ping本机、本机ping虚拟主机、虚拟主机ping百度,应该均正常
断网测试:虚拟主机ping本机、本机ping虚拟主机、虚拟主机ping百度,应该均ping不能
方式二:桥接模式、固定静态IP(可上外网)
1、将虚拟机网络修改为桥接模式
2、获取网关地址、子网掩码
网关地址(Mac系统偏好设置-->网络-->高级-->TCP/IP-->路由器)
子网掩码(Mac系统偏好设置-->网络-->高级-->TCP/IP-->子网掩码)
3、固定虚拟机IP
然后编辑以ifcfg-en开头的文件,上图为ifcfg-ens33文件,然后编辑该文件
编辑前:
编辑后:
BOOTPROTO=dhcp修改为 BOOTPROTO=static,表示ip为静态ip
ONBOOT=no修改为ONBOOT=yes
添加
IPADDR=192.168.0.130 #表示静态IP
GATEWAY=192.168.0.1 #网关地址(Mac系统偏好设置-->网络-->高级-->TCP/IP-->路由器)
NETMASK=255.255.255.0 #子网掩码(Mac系统偏好设置-->网络-->高级-->TCP/IP-->子网掩码)
DNS1=192.168.0.1 #dns地址(Mac系统偏好设置-->网络-->高级-->DNS),若存在多个则DNS1= DNS2=分开写即可
重启网卡或者重启Linux系统。
service network restart #重启网卡服务
联网测试:虚拟主机ping本机、本机ping虚拟主机、虚拟主机ping百度,应该均正常
断网测试:虚拟主机ping本机、本机ping虚拟主机、虚拟主机ping百度,应该均ping不能
方式三:仅主机模式、固定静态IP(内网)
1、获取动态IP
然后编辑以ifcfg-en开头的文件,上图为ifcfg-ens33文件,然后编辑该文件,将ONBOOT改为yes
# 然后重启网卡service network restart #重启网卡服务# 获取动态的IP地址ip addr
上图中ens33显示的IP地址则是内网IP地址(172.16.234.132),可以使用宿主机ping
2、固定静态IP
还是修改上一步的ifcfg-ens33文件
BOOTPROTO=dhcp修改为 BOOTPROTO=static,表示ip为静态ip
ONBOOT=no修改为ONBOOT=yes
添加
IPADDR=172.16.234.130 #表示静态IP,可以使用上面获取到的动态IP(上方获取的为132,此处使用自定义的130),也可以使用自定义的(保证前三位数字一致即可)
GATEWAY=172.16.234.1 #网关 前三位保证和获取到的动态IP一致,第四位为1
NETMASK=255.255.255.0
注:下图中注释代码只是测试其他模式的数据,忽略即可。
3.重启网卡服务
service network restart #重启网卡服务
联网测试:虚拟主机ping本机、本机ping虚拟主机、虚拟主机ping百度,除了百度均正常
断网测试:虚拟主机ping本机、本机ping虚拟主机、虚拟主机ping百度,除了百度均正常
网络配置总结:
截止目前为止,三种方式配置都完成了。第一种和第二种必须在有外网环境下才能访问,第三种只能在内网使用。均各有利弊,可以配置使用。
组合使用(NAT模式+仅主机模式):
之所以不选择桥接模式,是由于在公司会限制IP(一台电脑固定一个IP),所以采用NAT模式+仅主机模式。
1、设置虚拟机添加两个网络适配器(一个为nat,一个仅主机)
2、获取动态IP
然后编辑以ifcfg-en开头的文件,上图为ifcfg-ens33文件,然后编辑该文件,将ONBOOT改为yes
# 然后重启网卡service network restart #重启网卡服务# 获取动态的IP地址ip addr# 由于虚拟机显示屏显示不全,还不能滚动,也可以使用以下命令查看IP地址# ip addr|grep ens
根据上图显示,ens33为nat模式的IP,ens37为仅主机模式的IP,现在只是获取的动态IP
测试虚拟机ping百度(能ping通),测试宿主机ping虚拟机(以上两个IP均可以,但是ens33在宿主机断网的情况下不能ping通)。
3、配置静态IP
进入network-scripts,只发现有ens33的配置文件,没有ens37的配置文件。
# 拷贝一份,并重命名为ifcfg-ens37cp ifcfg-ens33 ifcfg-ens37# 编辑ifcfg-ens37文件vi ifcfg-ens37
ifcfg-ens37编辑内容如下:
TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static # 修改为static,使用静态IPDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens37 # 修改为ens37#UUID=36b5f976-6ce2-4f7d-b181-6140e4b9a403 # 注释掉DEVICE=ens37 # 修改为ens37ONBOOT=yesIPADDR=172.16.234.133 # 可以使用刚才动态获取到的IP(ens37),也可以自己修改172.16.234.*GATEWAY=172.16.234.1 # 172.16.234.1,前三位和获取到的动态IP保持一致NETMASK=255.255.255.0 # 255.255.255.0
# 然后重启网卡service network restart #重启网卡服务
ens33为nat动态获取到的IP,使用动态IP即可,只要保证通过宿主机能访问外网即可。
宿主机和虚拟机、虚拟机和虚拟机直接均使用静态的内网IP即可(ens37配置的静态IP)。
以下测试使用静态的内网IP(ens37配置的静态IP):
联网测试:虚拟主机ping本机、本机ping虚拟主机、虚拟主机ping百度,均正常
断网测试:虚拟主机ping本机、本机ping虚拟主机、虚拟主机ping百度,除了百度均正常
备注:为了保证虚拟机直接相互独立,互不干扰,在配置网络时,建议点击高级选项,重新生成新的mac地址。nat获取到的动态IP,只要不重新生成新的mac地址,是不会变化的。