VMware 安装 CentOS 7.x

在 CentOS 的官网 https://wiki.centos.org/Download 可以下载 CentOS 各个版本的镜像文件。

CentOS Download
CentOS Download

包括已经不在维护的各个版本:

Archived Versions
Archived Versions

也可以去阿里的镜像仓库去下载 mirrors.aliyun.com/centos

下载完 CentOS-7-x86_64-Minimal-2009 就可以安装了,这里用的是 Minimal 版本,安装完成后,系统中只有最基本的组件,方便学习。

新建虚拟机
新建虚拟机

典型配置
典型配置

选择 ios 文件
选择 ios 文件

命名虚拟机并选择系统文件保存路径:

命名虚拟机
命名虚拟机

如果物理机支持大与 4GB 以上的单文件,可以选择“将虚拟磁盘存储为单个文件”

指定磁盘容量
指定磁盘容量

自定义硬件
自定义硬件

由于服务器用不到声卡,USB 控制器,打印机这些设备,可以将这些设备移除:

移除硬件
移除硬件

移除后的硬件
移除后的硬件

可以不用勾选「创建后开启此虚拟机选项」:

完成
完成

开启虚拟机
开启虚拟机

Install CentOS7
Install CentOS7

安装中
安装中

选择语言
选择语言

点击 INSTALLATION DESTINATION

INSTALLATION DESTINATION
INSTALLATION DESTINATION

INSTALLATION DESTINATION 默认值不用改,直接点 Done

INSTALLATION DESTINATION Done
INSTALLATION DESTINATION Done

Begin Installation
Begin Installation

如果想要创建带桌面的虚拟机,可以在 SOFTWARE SELECTION 中选择 GNOME Desktop:

GNOME Desktop

设置 ROOT 密码和创建用户

设置 ROOT 密码和创建用户
设置 ROOT 密码和创建用户

创建用户
创建用户

等待安装任务

等待安装任务
等待安装任务

安装任务完成重启
安装任务完成重启

重启完成登录

root Login
root Login

一般新装的最小化的 CentOS 7.x 系统是没有网络配置的,而安装命令就是联网下载软件,所以网络配置是必须的。

ping
ping

CentOS 7.x 的默认网卡是 essxx,我们可以在配置文件 /etc/syconfig/network-scripts 中看到:

network-scripts
network-scripts

可以先把 ifcfg-ensxx 这个文件备份下,然后修改 onboot 参数从 no 修改为 yes ,保存,重启机器。

update onboot
update onboot

重启完后就可以 ping 通网络了:

ping 2
ping 2

安装 net-tools 工具

shell

yum install -y net-tools

net-tools install
net-tools install

ifconfig
ifconfig

CentOS 7.x 的网卡不是 eth0 而是 ensxx,这是 CentOS 7.x 的一致性网络设备命名导致的,可以使用以下方式,将网卡名称回到 eth0 格式。

ensxx
ensxx

修改配置

shell

vim /etc/default/grub

中添加

bash

biosdevname=0 net.ifnames=0

biosdevname=0 net.ifnames=0
biosdevname=0 net.ifnames=0

执行命令

shell

grub2-mkconfig -o /boot/grub2/grub.cfg

执行命令
执行命令

reboot 重启机器

修改成功
修改成功

NAT 模式是 VMware 虚拟机默认使用的模式,其最大的优势就是虚拟机接入网络非常简单,只要物理机可以访问网络,虚拟机就可以访问网络。网络结构如下图:

NAT模式
NAT模式

所谓的静态 ip ,就是设置后固定不变的,因为在真实环境中,需要为所有的服务器配置静态 ip,从而确保通过一个 ip 地址只能找到一台服务器。

在修改配置文件之前,为了防止配置出错,建议提前备份配置文件 ifcfg-eth0。我把原来的 ifcfg-ens32 重命名为了 ifcfg-eth0。

shell

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak

我们需要把 ifcfg-eth0 配置文件中的 BOOTPROTO 的值设置为 static,将 IPADDR(IP 地址)的值设置为其所在的子网中正确的,无冲突的 ip 地址即可。

在 NAT 模式中,我们需要找到 4 个地址才能确定我们的无冲突的 ip 到底是哪些。

  • 子网 ip
  • VMnet8 虚拟网卡 ip
  • NAT 网关 ip
  • DHCP 地址池

接下来找这几个参数:

图 1
图 1

图 2
图 2

点击【NAT设置】查看子网掩码和网关 IP。点击【DHCP 设置】查看起始 IP 地址和结束 IP 地址。

图 3
图 3

图 4
图 4

打开物理机的 cmd 输入 ipconfig 命令:

图 5
图 5

如果发现物理机的 VMnet8 跟虚拟机的不在一个网段,可以在「虚拟网络适配器」中「还原默认设置」:

还原默认设置

所以,除去这几个地址,192.168.48.3 ~ 192.168.48.127 范围内的 ip 都可以作为静态 ip 使用。

vi ifcfg-eth0 需要修改的地方为:

  1. ONBOOT 改为 yes
  2. BOOTPROTOdhcp 改为 static
  3. 增加 IPADDR(ip 地址)
  4. 增加 NETMASK(子网掩码)
  5. 增加 GATEWAY(网关)
  6. 增加 DNS1(首选域名服务器)

其中,网关不设置,虚拟机只能在局域网内访问,无法访问外部网络。DNS 不设置则无法解析域名。 DNS 可以设置成跟网关一样的地址

图 6
图 6

设置完成后执行:systemctl restart network 命令使配置生效。

图 7
图 7

在物理机中 ping 虚拟机 ip 地址:

图 8
图 8

物理机共向 ip 地址 192.168.48.8 发送了 4 次 ping 请求,4 次都是成功的,发送的数据包为 32 字节,TTL(生存时间值)为 64,其中 TTL 在发送时的默认值为 64,每经过一个路由则减 1 ,此次显示最终结果为 64 说明中间没有经过路由。

图 9
图 9

因为我把默认网卡从 ensxx 改成了 eth0 所以在修改静态 ip 是把配置文件也改成了 ifcfg-eth0

图 10
图 10

  • ❓重启网卡问题

loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)

network err
network err

☝️ 以上这个问题可以参考centos7重启网卡提示错误的解决方法这篇文章。