网站首页 >> 自学教程 >> 正文
标题

VMware Pro下Centos 8虚拟机网络配置与克隆

kmwl520   2024-06-04 07:47:25   21℃   0
内容

网络配置对于小白来讲是非常麻烦的,所以针对VMware Pro下的虚拟机网络配置进行记录,另外也会记录一下克隆虚拟机的一个过程,这个对测试集群的部署是非常有用的。注意一定是VMware Pro,因为Player免费版无网络配置功能。

环境安装

VMware Pro安装

  • 安装过程类似VMware Player的安装,参考上文:VMware 17 Player下CentOS的安装与配置

  • 激活码

    这个也是大佬那里找的,个人就测试了这个,好用:MC60H-DWHD5-H80U9-6V85M-8280D
    image-20230823170838920

    以下也是网上找的,没有测试,可以留言反馈噢~

    JU090-6039P-08409-8J0QH-2YR7F
    
    4A4RR-813DK-M81A9-4U35H-06KND
    
    NZ4RR-FTK5H-H81C1-Q30QH-1V2LA
    
    4Y09U-AJK97-089Z0-A3054-83KLA
    
    4C21U-2KK9Q-M8130-4V2QH-CF810
    
    MC60H-DWHD5-H80U9-6V85M-8280D
    
    ZA30U-DXF84-4850Q-UMMXZ-W6K8F
    
    AC590-2XW97-48EFZ-TZPQE-MYHEA
    
    YF39K-DLFE5-H856Z-6NWZE-XQ2XD
    
    AC15R-FNZ16-H8DWQ-WFPNV-M28E2
    
    CZ1J8-A0D82-489LZ-ZMZQT-P3KX6
    
    YA11K-6YE8H-H89ZZ-EXM59-Y6AR0

安装Centos

无论是创建虚拟机和centos的安装向导,都和VMware Player中类似,大同小异,这里不过多记录;

参考:VMware 17 Player下CentOS的安装与配置

网络配置

VMware的三种网络连接模式

当涉及到 VMware 的网络连接模式时,通常有三种常见的模式:桥接模式(Bridge Mode)、NAT 模式(Network Address Translation Mode)和主机模式(Host-Only Mode)。

  1. 桥接模式(Bridge Mode):桥接模式下,虚拟机就像连接在真实网络中的一台独立设备。它会获得来自真实网络的一个独立 IP 地址,并可以直接与真实网络上的其他设备交互。这意味着虚拟机可以像真实设备一样使用网络资源和访问其他设备。

    例如,你的计算机通过 Wi-Fi 连接到路由器,并且你在 VMware 中运行一个虚拟机。在桥接模式下,虚拟机会获得来自路由器的独立 IP 地址,并能够与局域网上其他设备进行通信。这意味着你的虚拟机可以像真实设备一样浏览互联网、与其他设备共享文件等。

    优势:虚拟机与真实网络完全集成,方便与其他设备通信和共享资源。

    缺点:虚拟机暴露在外部网络中,安全性稍低。

  2. NAT 模式(Network Address Translation Mode):在 NAT 模式下,虚拟机使用宿主机的 IP 地址,并将其映射到宿主机的网络接口上。虚拟机可以通过共享的 IP 地址访问互联网和局域网上的其他设备,但外部网络无法直接访问虚拟机。

    举个例子,你的计算机通过路由器连接到互联网,并在 VMware 中运行一个虚拟机。在 NAT 模式下,虚拟机会与宿主机共享相同的 IP 地址,并通过网络地址转换(NAT)技术与外部网络通信。虚拟机可以访问互联网和局域网上的其他设备,但外部网络只能看到宿主机的 IP 地址,无法直接访问虚拟机。

    优势:提供了一定的安全性,因为外部网络无法直接访问虚拟机。

    缺点:虚拟机之间和虚拟机与外部网络之间的通信受限。

  3. 主机模式(Host-Only Mode):在主机模式下,虚拟机和宿主机形成一个独立的网络,外部网络无法直接访问虚拟机。虚拟机之间和虚拟机与宿主机之间可以进行通信,但无法连接到外部网络。

    举个例子,你在 VMware 中同时运行两个虚拟机,并将它们配置为主机模式。这意味着这两个虚拟机可以互相通信,就像它们连接在同一个交换机上一样。但是,外部网络无法直接访问这些虚拟机,它们形成了一个相对独立的网络。

    优势:提供了隔离和安全性,外部网络无法直接访问虚拟机。

    缺点:虚拟机无法访问外部网络上的资源和服务。

网卡简介

安装好VMware之后,在我们的控制面板之中就可以看到虚拟出来的两个网卡;

如下图启用的三张网卡,后面WLAN是真实启用的网卡;

image-20230823210042767

  1. VMware Network Adapter VMnet1:

    • VMnet1 是 VMware Workstation 虚拟网络的一个默认网络适配器。

    • 它通常用于桥接模式,可以使虚拟机连接到宿主机所连接的物理网络。

    • 使用 VMnet1,虚拟机可以获得宿主机所连接网络中的 IP 地址,并与其他设备进行通信。

  2. VMware Network Adapter VMnet8:

    • VMnet8 是 VMware Workstation 虚拟网络的另一个默认网络适配器。

    • 它通常用于 NAT(网络地址转换)模式,在这种模式下,虚拟机共享宿主机的 IP 地址,但有一个独立的局域网子网。

    • VMnet8 中的虚拟机可以通过 NAT 将其网络流量路由到宿主机和其他网络设备之间。

  3. WLAN 网卡:

    • WLAN 网卡是宿主机的无线网络适配器,用于连接无线网络。

查看一下网卡的地址分配模式:

右击虚拟网卡——>查看属性——>选中Internet协议版本4 (TCP/IPv4)——>查看属性

查看之后就可以看到两个虚拟的网卡都是采取的自动分配IP地址

image-20230823210722028

虚拟机配置固定IP

看了上面的三种网络连接模式的介绍,可以很明显就能看出来,要设置固定的IP,最好的连接模式就是NAT模式

桥接模式下,指定的虚拟机静态 IP 地址需要保证在所连接的真实网络中是有效且未被占用的。如果与其他设备发生了 IP 地址冲突,可能会导致网络连接问题。这个也没有办法完全设置为固定的IP,且不同的网络环境下,IP是不一样的;

主机模式都不能访问外网,就更不用说了;

下面就开始配置了!

修改vmware的配置

  • 首先打开Vmware的网络编辑器

image-20230823182100180

  • 授予权限更改设置

image-20230823182233666

  • 选中NAT模式网络,取消使用本地的DHCP自动分配ip地址

image-20230823182339944

  • 设置子网IP,设置好之后点击NAT的设置

    一般为 192.168.0.0 到 192.168.254.254。

    ip地址第四位不要填0、255,填0可以远程连接但是为无法上网,IP地址也不要和网关ip相同。

    另外需要确保所设置的子网 IP 不与物理网络中其他设备的 IP 冲突,以避免 IP 地址冲突问题。

    这里需要补充一下,这里前两位也不一定非得192.168,也不一定非得和宿主机ip前两位一致,符合基本要求即可(VMware 17 pro、Centos 8环境下测试没问题,如果结论有误,请留言反馈!)

image-20230823220523807

  • 进入NAT的设置页面调整一下网关IP,设置好之后点击确定

image-20230823220602808

  • 点击应用或者确定,等待配置即可;

image-20230823220627124

  • 配置完成之后,先不进行下一步,简单看一下宿主机网卡中VMnet 8的IPv4属性:

    可以发现这里已经调整为我们设置的那个ip了,基本上到这里就可以不做其他的设置了,包括dns;

image-20230823211127943

修改centos的网络配置文件

  1. 在虚拟机中打开终端或命令提示符,并使用 root 用户或具有管理员权限的账户执行以下步骤。

    编辑网络配置文件:使用文本编辑器打开网络配置文件,在大多数 Linux 发行版中,该文件位于 /etc/sysconfig/network-scripts/ 目录下,命名为 ifcfg-eth0 或类似的名称。

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    这一块不同的centos的版本不同,文件内的配置也会不同,以下是一些常见的配置:

    在 CentOS 8 中,网络配置文件仍然位于 /etc/sysconfig/network-scripts/ 目录下,但与 CentOS 7 相比,CentOS 8 在网络配置方面引入了 NetworkManager 的默认管理。

    这里查看我们虚拟机的配置:

    image-20230823212635640

    • yes:是默认路由接口。

    • no:不是默认路由接口。

    • yes:通过自动配置获取 IPv6 地址。

    • no:禁用自动配置,需要手动配置 IPv6 地址。

    • yes:启用 IPv6 支持。

    • no:禁用 IPv6。

    • yes:在系统启动时自动启用该接口。

    • no:在系统启动时不自动启用该接口。

    • none:手动设置静态 IP 地址。

    • dhcp:通过 DHCP 自动获取 IP 地址。

    • bootp:通过 BOOTP 自动获取 IP 地址。

    • static:使用静态 IP 地址。

      1. TYPE:指定接口类型。对于以太网接口,类型为 Ethernet

      2. NAME:指定接口的名字。例如,NAME=eth0 表示该配置文件适用于名为 eth0 的网络接口。

      3. BOOTPROTO:指定接口的启动协议,决定如何获取 IP 地址。常见选项包括:

      4. DEVICE:指定设备的名字,与 NAME 配置相同。

      5. ONBOOT:指定接口是否在系统启动时自动启用。

      6. IPADDR:用于配置静态 IP 地址。格式为 IP 地址,例如 IPADDR=192.168.1.100

      7. PREFIX:指定子网前缀长度。例如,对于子网掩码为 255.255.255.0,对应的前缀长度为 24。可以使用 PREFIX 或 NETMASK。

      8. GATEWAY:指定默认网关的 IP 地址。

      9. DNS1 / DNS2:指定首选和备用 DNS 服务器的 IP 地址。

      10. IPV6INIT:是否启用 IPv6 支持。

      11. IPV6_AUTOCONF:是否通过自动配置获取 IPv6 地址。

      12. IPV6_PEERDNS:是否从 IPv6 邻居获取 DNS 服务器信息。

      13. IPV6_PEERROUTES:是否从 IPv6 邻居获取路由信息。

      14. DEFROUTE:指定该接口是否为默认路由接口。

    • 在文件中查找并编辑以下行:

      BOOTPROTO="dhcp"

      改为:

      BOOTPROTO="static"

      在文件末尾添加以下行,设置 IPv4 地址、子网掩码、网关以及DNS服务器地址:

      IPADDR=<ipv4_address>NETMASK=<subnet_mask>GATEWAY=<gateway_address>DNS1=<dns1_address>

      <ipv4_address>替换为你想要设置的 IPv4 地址,<subnet_mask>替换为子网掩码,<gateway_address>替换为网关地址,<dns1_address>替换为网络首选 DNS 服务器 IP 地址。 例如:

      IPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.2DNS1=192.168.1.2

      这里的DNS1,也就是首选的DNS服务器是非常重要的:

      在 NAT(Network Address Translation)模式下,虚拟机的网络通信是通过主机的网络连接进行转发的。当虚拟机需要进行域名解析时,DNS 的工作方式如下:

      在这种情况下,NAT 网络模式下的虚拟机将使用主机或路由器配置的 DNS 服务器来进行域名解析。因此,虚拟机的 DNS 设置通常指向默认网关的地址,即主机或路由器的 IP 地址

      需要注意的是,在 NAT 模式下,虚拟机无法直接访问公共的 DNS 服务器。它依赖于默认网关将 DNS 查询请求转发到公共 DNS 服务器,并返回解析结果。因此,在 NAT 网络环境中,确保默认网关能够正常转发 DNS 查询请求至可用的 DNS 服务器是非常重要的。

      此外,有些虚拟化软件允许设置虚拟机使用主机的 DNS 设置。这种情况下,虚拟机将直接使用主机配置的 DNS 服务器进行域名解析,而不需要通过默认网关进行转发。

      这里我们编辑后的内容如下:

      image-20230823214451053

      1. 虚拟机向 NAT 网络中的默认网关发送 DNS 查询请求。

      2. 默认网关(通常是主机或路由器)接收到 DNS 查询请求后,会将其转发给配置的 DNS 服务器。

      3. DNS 服务器收到 DNS 查询请求后,开始解析域名并返回对应的 IP 地址。

      4. 默认网关接收到 DNS 服务器返回的 IP 地址后,将其发送回对应的虚拟机。

      5. 虚拟机通过获得的 IP 地址与目标主机建立连接,实现网络通信。

    • 保存文件并关闭编辑器。

    • 重启网络服务:执行以下命令让更改生效。

      systemctl restart NetworkManager

      CentOS 8 和之前的版本在重启网络服务的方式上有所不同。CentOS 8 引入了新的网络管理工具 NetworkManager,并逐渐替代了之前使用的网络服务管理工具(如 ifup 和 ifdown)。

      对于 CentOS 8,重启网络服务的方式如下:

      而对于之前的 CentOS 版本(如 CentOS 7 或更早版本),可以使用以下命令重启网络服务:

      需要注意的是,CentOS 8 推荐使用 NetworkManager 来管理网络服务,但仍然支持传统的网络服务管理方式。而对于之前的版本,传统的网络服务管理方式仍然是主要的网络配置方法。

      1. 使用以下命令重启 network 服务:

        sudo service network restart
      2. 或者使用以下命令重启特定的网络接口(如 eth0):

        sudo ifdown eth0sudo ifup eth0
      3. 使用以下命令重启 NetworkManager 服务:

        systemctl restart NetworkManager
      4. 如果需要重启网络接口(如 eth0),可以使用以下命令来禁用和启用该接口:

        nmcli device disconnect eth0
        nmcli device connect eth0
    • 验证网络连接:

      使用 ping 命令验证你的虚拟机是否可以访问互联网:

      ping www.jiumoz.com

      image-20230823215136392

      验证虚拟机访问宿主机:

      先cmd看下宿主机的IP

      image-20230823215418119

      虚拟机中ping一下宿主机的IP:

      ping 192.168.101.4

      image-20230823215507603

      验证宿主机访问虚拟机:

      直接宿主机的命令窗口ping一下虚拟机IP

      ping 192.168.120.100

      image-20230823215609164

    基本上到这里就完成了网络的配置了,可以很愉快的使用了;

    总结一下,操作起来是不麻烦的,但是其中涉及的知识点还是很多的!

    克隆虚拟机

    虚拟机克隆在许多情况下都具有重要的意义:

    1. 提高效率:通过克隆虚拟机,可以快速创建多个相似配置的虚拟机,而无需从头开始进行安装和配置。这样可以大大节省时间和工作量,提高工作效率。

    2. 快速部署:虚拟机克隆能够快速部署新的虚拟机实例,以满足各种需求,如测试、开发、应急准备等。可以根据需要创建多个克隆的虚拟机,并同时运行它们,而无需从头开始设置每个虚拟机。

    3. 灵活性和可移植性:克隆的虚拟机具有与原始虚拟机相同的配置和软件环境,可以轻松地在不同的物理服务器或虚拟化平台之间移动。这在数据中心迁移、负载均衡和灾难恢复等方面是非常有用的。

    4. 测试和开发:虚拟机克隆是进行软件测试和开发的常见方式之一。可以克隆一个已经配置好的虚拟机,并在其上进行实验、测试新的软件版本或进行应用程序开发,而无需影响原始虚拟机。

    5. 简化维护和管理:克隆虚拟机后,当需要对虚拟机进行更新、安装补丁或执行其他维护任务时,可以首先在克隆的虚拟机上进行测试和验证,以减少对生产环境的潜在影响。

    • 右击创建好的虚拟机,点击管理选项,点击克隆

      image-20230823222510814

    • 点击下一页

    image-20230823222604028

    • 点击下一页

    image-20230823222620364

    • 创建完整的克隆

    image-20230823222636704

    • 设置虚拟机名称和安装位置

    image-20230823222742195

    • 等待完成后关闭

    image-20230823222835200

    • VMware中已经出现了克隆的机器

    image-20230823222921186

    这里可以点击虚拟机的网络适配器查看一下mac地址是否也继承了,如果继承了需要生成一下,比较简单;

    • 同样的用户名和密码登录

    image-20230823223139761

    • 修改主机名

    vim /etc/hostname
    
    // 也可以用下面的命令
    
    hostnamectl 
    hostnamectl set-hostname <主机名>  //实际命令中没有< >hostnamectl

    修改之后得重启一下,修改结果:

    image-20230823223804526

    • 修改IP地址

      vim /etc/sysconfig/network-scripts/ifcfg-eth0

      这里修改一下ip就行:

      image-20230823225630308

    • 修改uuid

      一般克隆完成后,虚拟机的网卡MAC地址会自动改变,但是克隆完虚机之后UUID默认是继承原有虚机的UUID;

      UUID 在虚拟机的配置中扮演着重要的角色,它对于识别和管理虚拟机非常关键;

      UUID 是一个由系统生成的全局唯一标识符,用于确保在系统中没有重复的接口标识。它在网络配置文件中的作用如下:

      这里有两种解决办法,一种就是直接手动修改uuid,如下,直接将32改为21:

      image-20230824011122984

      或者使用uuidgen命令生成一个uuid,然后替换一下

      image-20230824011357989

      • 唯一性:每个网络接口都会分配一个不同的 UUID,以确保没有两个接口具有相同的标识符。

      • 持久性:通过使用 UUID,即使接口的名称或其他属性发生更改,系统仍然可以准确地识别和匹配正确的配置文件。

      • 稳定性:如果您将网络接口从一个系统复制到另一个系统或更改系统硬件,UUID 将帮助系统正确识别并应用适当的网络配置。

    • 修改完成之后重启网卡(网络接口)

      重启之前需要重新加载网络配置文件以确保最新的配置已生效。

      同时要注意nmcli 命令主要适用于使用 NetworkManager 管理网络连接的系统。

      nmcli con reload
      
      nmcli c reload

      nmcli con reload 和 nmcli c reload 两个命令的作用相同,都是重新加载

      关闭网络连接:

      nmcli connection down <connection-name>

      是你要关闭的连接名称,也就是这里的ens160

      启动网络连接:

      nmcli connection up <connection-name>同样,<connection-name> 是要启动的连接名称。

      验证连接是否已重新启动:

      nmcli connection show

      如下,就完成了网卡的配置

      image-20230824012436259

    • 验证网络环境

      宿主机ping克隆机

      image-20230824012700606

      克隆机ping互联网

      image-20230824013316594

      克隆机ping宿主机

      image-20230824013352672

      本体机ping克隆机

      image-20230824013002719

      克隆机ping本体机

      image-20230824013457221

    至此,就完成了克隆虚拟机并配置网络;

    中途遇到了克隆机无网络的问题,但是后来没有复现(就很奇怪),所以这里也就没有记录;

    如果你克隆的时候遇到了无网络的问题,欢迎留言,一起探讨~


    点评

    本文暂无评论 - 欢迎您

    请填写验证码