Windows系统VMware创建多个CentOS7虚拟机 NAT网络配置 ssh连接

主要目标:
1.创建3个虚拟机, centos7系统
2.虚拟机之间互相访问
3.物理机访问各虚拟机, 通过xshell建立ssh连接
4.物理机网络变化时,仍能访问

用途:
NoSQL课程使用, 课前环境搭建,个人备忘

基本信息:
物理机: windows 11 操作系统
虚拟机软件:VMware Workstation Pro 16.2.4 (之前安装,非最新版本)
虚拟机安装系统: Cent OS 7-2009

1.基础环境搭建

Windows 系统通过 VMware 搭建 CentOS 7 系统的首台虚拟机

该首台虚拟机可自定义命名, 以下用NoSQL_1 代指.

windows物理机当前环境

物理机: Windows 11 , 准备60G以上空余磁盘空间

网络: 连接Wifi, 家用无线路由器, 路由器设置IP与MAC绑定,用于环境搭建期间物理机的IP固定,方便测试; 全部搭建完成后物理机ip地址可变.

1.1 下载centos7安装文件

阿里云centos镜像站

https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.78c11b11B5M2K7

CentOS-7-x86_64-2009.iso下载地址

https://mirrors.aliyun.com/centos/7/isos/x86_64/?spm=a2c6h.25603864.0.0.5ad64511utjqH4

选择dvd或everything均可
在这里插入图片描述

1.2 Windows物理机准备

1.2.1 安装 VMware Workstation 16 Pro

下载地址:

https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0
在这里插入图片描述
下载后安装,使用超过一个月则需填写许可证秘钥

安装成功的标志有两项:

(1) win + r -> ncpa.cpl

打开控制面板网络适配器页面,出现两个虚拟接口: VMnet1VMnet8
在这里插入图片描述

(2) win + r -> services.msc

打开windows本地服务, 确认出现四个服务.

根据VMware版本不同,服务数量可能不同,本文使用vmware版本为16.2.4

将vmware的相关服务的启动类型均设置为自动
在这里插入图片描述

问题解决:

如果上述两项成功标志不满足, 可以在vmware的“编辑”下的“虚拟网络编辑器”中点击“更改设置“、”还原默认设置”,可重新将虚拟网卡还原,并需要重启物理机,然后查看是否恢复。

由于本物理机此前使用vmware安装过虚拟机,长期禁用适配器vmnet8后网络出现故障,因此进行了还原默认设置.

1.2.2 Windows防火墙设置

以下设置允许虚拟机ping物理机

Windows Defender 防火墙 -> 高级设置 -> 入站规则

找到

文件和打印机共享(回显请求-ICMPv4-In)

文件和打印机共享(回显请求-ICMPv6-In)

四项状态均调整为已启用,允许
在这里插入图片描述

windows设置中,防火墙和网络保护, 如果以后将防火墙还原为模式设置,或更改了域、专用、公用网络的防火墙状态,入站规则也会发生变化,出现问题时可检查此处。

1.3 VMware配置NAT模式

  • 配置过程可参考:

    https://blog.csdn.net/YeMaZhi/article/details/105043073

  • NAT模式原理:

    NAT(地址转换模式)

    NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。

    在NAT模式中,主机网卡与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟网关VMnet8上,主机的虚拟网卡与虚拟网关VMnet8相连,
    实现虚拟机的联网、主机与虚拟机的连接。

    物理机上的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。

  • 配置思路:

    adpter vmnet8、各centos7虚拟机、vmnet8交换机,三方保持在同一个网段,且ip不重复

例如:

VMware Network Adapter VMnet8:

IPADDR: 192.168.108.201

NETMASK:255.255.255.0

GATEWAY:192.168.108.1

DNS1: 8.8.8.8

虚拟机1: nosql01

IPADDR:192.168.108.11

NETMASK:255.255.255.0

GATEWAY:192.168.108.1

DNS1: 8.8.8.8

DNS2: 114.114.114.114

虚拟机2: nosql02

IPADDR:192.168.108.x


此处的x不能与网关、其他虚拟机、Adapter VMnet8的ip地址冲突,且不能为0或255
NETMASK,GATEWAY,DNS1,DNS2 设置相同

注意:

(1)虚拟机的网络设置可采用三种网络模式Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。三种模式的区别可参考: https://blog.csdn.net/zhang33565417/article/details/97779579

(2)vmware中的虚拟网络编辑器,可针对三种网络模式分别配置各自对应的虚拟交换机VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式)

(3)本次搭建采用NAT网络模式,VMware Network Adapter VMnet8的作用是主机与虚拟机之间的通信,用于远程连接虚拟机.

(4)虚拟机的子网段不应和物理机网段相同.

本次搭建的网络结构:
在这里插入图片描述
如已经成功安装了1个虚拟机, 并熟悉vmware的设置、linux常用命令,可按照上图配置, 然后克隆虚拟机完成网络配置.
下文为详细步骤.

1.3.1 设置vmnet8虚拟交换机

vmware 编辑->虚拟网络编辑器->选中 vmnet8 ->更改设置
在这里插入图片描述

修改:

子网IP: 192.168.108.0, 该网段与物理机不在同一网段

子网掩码:255.255.255.0

继续点击->NAT设置

在这里插入图片描述

修改

网关IP: 192.168.108.1 此处与刚才设置的vmnet8的子网段处于同一网段(108),末尾设置为1

记住这个网关IP: 192.168.108.1,作为vmnet8虚拟网关的IP,用于虚拟机与外部通信

修改完成后->确定->返回虚拟网络编辑器窗口->应用->确定

1.3.2 固定adpter vmnet8虚拟网卡的IP

win + r -> ncpa.cpl

选择 VMware Virtual Ethernet Adapter for VMnet8 -> 右键->属性->选中 Internet协议版本4(TCP/IPv4)

在这里插入图片描述

填写固定ip地址

IPADDR: 192.168.108.201

ip地址不能冲突,与vmnet8虚拟网关在一个网段

NETMASK:255.255.255.0

GATEWAY:192.168.108.1

网关为vmnet8虚拟网关的ip地址

DNS1: 8.8.8.8

至此VMware端的网络配置完成, 完成后再安装CentOS7

1.4 VMwareWorkstation安装CentOS7

1.4.1 新建空的虚拟机

VMware新建虚拟机
在这里插入图片描述

自定义(高级)
在这里插入图片描述
在这里插入图片描述

选择稍后安装操作系统
在这里插入图片描述
在这里插入图片描述

虚拟机名称
可自定义虚拟机名称, 此处命名为 NoSQL_1
选择虚拟机保存的位置
在这里插入图片描述

1核
在这里插入图片描述
1024MB内存
在这里插入图片描述

使用NAT
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建新磁盘
最大磁盘大小:建议20G, 但本机的剩余空间不多,此处选择10G
虚拟磁盘拆分成多个文件
在这里插入图片描述
在这里插入图片描述

创建空的虚拟机完成
下一步安装CentOS7

1.4.2 安装CentOS7

虚拟机NoSQL_1 -> 编辑虚拟机设置
在这里插入图片描述

cd/dvd -> 使用ISO映像文件 -> 浏览 -> 选择已下载好的centos7 iso安装文件
在这里插入图片描述

确定 -> 开启此虚拟机
在这里插入图片描述

开始安装centos7
语言: english 或 chinese
在这里插入图片描述

时区:Asia/Shanghai
在这里插入图片描述
在这里插入图片描述

安装位置: 默认自动分区
在这里插入图片描述
在这里插入图片描述

网络和主机名:
在这里插入图片描述

打开网络连接, 设置主机名为 nosql01,应用, 作为首台虚拟机的主机名, Done(完成)
在这里插入图片描述

开始安装
在这里插入图片描述

安装期间, 可设置root密码
在这里插入图片描述

设置用户名密码, 并熟记密码

按两次 Done
在这里插入图片描述

等待安装完成, 重启
在这里插入图片描述

重启后默认进入第一个系统

输入登录的用户名:root

输入密码: 输入的密码屏幕不显示,请确保输入正确

在这里插入图片描述

备注:

软件选择的是最小安装 minimal install, 包含的软件包少

用户:root

密码:刚才输入的密码

1.5 CentOS7虚拟机设置固定IP

进入到网卡编辑目录 可通过tab键补全

cd /etc/sysconfig/network-scripts/

查看文件列表

ls
在这里插入图片描述

不同的centos,网卡文件名会有不同,但开头都是ifcfg- ,此处显示ifcfg-ens33.

ifcfg-lo是本地回环接口,不是实际的网卡

编辑网卡

vi ifcfg-ens33

输入 i 进入编辑模式

编辑完成后

按ESC键 进入命令模式

输入 :wq 保存并退出

在这里插入图片描述

注意以上红框部分

ipaddr需在vmnet8虚拟网关的同一网段108

gateway设置成vmnet8虚拟网关的IP

dns设置两个

此时网卡配置完成, 但未生效

重启网卡使其生效

systemctl restart network.service

查看各网卡的ip地址

ip addr

在这里插入图片描述

ip已固定,ping测试外网和物理机

测试ping外网

ping www.baidu.com

看到有正常的输出则ctrl + c 终止

测试ping物理机

ping 192.168.0.102

这个192.168.0.102是物理机的ip地址

看到有正常的输出则ctrl + c 中断

在这里插入图片描述

[!note]

注意:windows物理机的ip地址查看方式

win + r -> cmd

如果物理机连接的是有线网,则看以太网适配器

如果物理机连接的是无线网,则看无线局域网适配器WLAN

在这里插入图片描述

1.6 关闭虚拟机防火墙

查看防火墙状态:

systemctl status firewalld

关闭正在运行的防火墙:

systemctl stop firewalld

禁止防火墙服务, 重启后不再自动开启:

systemctl disable firewalld

如果成功禁止则显示removed ....等信息

关闭selinux安全子系统

vi /etc/selinux/config

修改SELINUX=disabled

重启使修改生效

reboot
在这里插入图片描述

1.7 修改虚拟机主机名

在安装centos时已经修改了hostname

若想再次修改, 可使用如下命令

查看当前主机名:

hostname

设置即使重启后也生效的主机名:

格式为hostnamectl set-hostname 主机名

此处设置为:

hostnamectl set-hostname nosql01

该虚拟机作为nosql集群的第一台机器

1.8 保存快照

虚拟机 右键->快照->拍摄快照
在这里插入图片描述
在这里插入图片描述

[!warning]

网络配置完成,测试ping命令成功后,一定要保存快照,用于保存虚拟机状态, 出现问题时快速恢复

1.9 SSH远程连接虚拟机

安装XShell7

安装完成后, 解决数字小键盘不能输入数字的问题

文件->默认会话属性

初始数字键盘模式->设置为普通

在这里插入图片描述

连接虚拟机

文件->新建
在这里插入图片描述

用户名和密码填写虚拟机root用户的信息

在这里插入图片描述

成功连接后,可执行命令,效果:

在这里插入图片描述

当虚拟机开启后, 就可通过远程连接工具连接使用

测试成功后, vmware的客户机(虚拟机)以后可挂起,保持当前状态, 不要轻易关闭
如果虚拟机挂起后还要关机, 则开启虚拟机后,在centos系统内部进行关机, 不要在vmware中进行外部关机

2.虚拟机克隆生成NoSQL_2

2.1 克隆虚拟机NoSQL_1

关闭首台虚拟机NoSQL_1

NoSQL_1 右键->管理->克隆

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过克隆NoSQL_1,生成NoSQL_2, 开启NoSQL_2,进行其他配置

2.2 配置NoSQL_2

更改主机名

hostnamectl set-hostname nosql02

重启生效

reboot

分别查看NoSQL_1和NoSQL_2网卡的uuid

nmcli con show

在这里插入图片描述

发现两台虚拟机的uuid相同

接下来使用uuidgen命令,为NoSQL_2生成uuid并写入网卡文件

先查看网卡名称

cd /etc/sysconfig/network-scripts/

ls

在这里插入图片描述

确认网卡名称是ifcfg-ens33

使用uuidgen命令生成uuid并写入网卡文件ifcfg-ens33

sed -i '/UUID=/c\UUID='`uuidgen`'' /etc/sysconfig/network-scripts/ifcfg-ens33重启生效
reboot

重启后查看ifcfg-ens33网卡文件中uuid是否已被修改

先查看网卡名称

cd /etc/sysconfig/network-scripts/

ls

修改该网卡文件

vi ifcfg-ens33

在这里插入图片描述

uuid已发生变化,但ip地址仍是nosql01主机的ip,接下来继续修改IP地址IPADDR

按 i 进入编辑模式

修改IPADDR字段, 与NoSQL_1的ip地址不能重复

完成修改后, 按 ESC 进入命令模式

输入 :wq 保存并退出

在这里插入图片描述

重启网卡使其生效

systemctl restart network

查看各网卡的ip地址

ip addr

在这里插入图片描述

测试连接公网

ping baidu.com

测试连接物理机

ping 192.168.0.102
在这里插入图片描述

此时xshell已经可以远程连接
在这里插入图片描述

其他命令

ctrl + l 清屏

rpm -qa | grep ssh 查看是否已安装ssh服务

ps -e | grep sshd 查看是否已开启sshd服务

windows远程连接工具:

SecureCRT

XShell

2.3 配置hosts

配置IP映射

vi /etc/hosts

按 i 进入编辑模式

添加两行:

192.168.108.11 nosql01
192.168.108.12 nosql02

按 ESC 进入命令模式, 输入 :wq 保存并退出

重启网络使修改生效

systemctl restart network
在这里插入图片描述

[!note]

添加其他虚拟机节点后,可修改每一台虚拟机的host文件,添加各个节点的ip地址

虚拟机保存快照

克隆其他虚拟机过程与上述步骤同理

3.创建系统目录结构

以NoSQL_2为例, 创建系统目录结构

在/opt目录下创建software目录存放软件,servers目录存放数据库

cd /opt

mkdir /software

mkdir /servers

列出当前文件或目录的详细信息, 查看是否创建成功

ll

继续创建存放不同数据库的目录

mkdir /opt/servers/mongodb_demo
mkdir /opt/servers/hbase_demo
mkdir /opt/servers/redis_demo
mkdir /opt/servers/neo4j_demo

列出当前文件或目录的详细信息, 查看是否创建成功

ll

虚拟机保存快照

4.虚拟机克隆生成NoSQL_3

NoSQL_2 -> 管理 -> 克隆-> 完整克隆 -> 命名: NoSQL_3

更改主机名

hostnamectl set-hostname nosql03

reboot

生成并更新uuid

查看当前uuid, 记忆尾号, 网卡名称
nmcli con show核实网卡名称
cd /etc/sysconfig/network-scripts/
ls生成uuid并更新到网卡配置文件中
sed -i '/UUID=/c\UUID='`uuidgen`'' /etc/sysconfig/network-scripts/ifcfg-ens33
reboot

修改网卡配置:

cd /etc/sysconfig/network-scripts/
ls

vi ifcfg-ens33

核实uuid已经更新

修改IPADDR192.168.108.13, 保持唯一性

在这里插入图片描述

systemctl restart network

ip addr

核实网卡地址已经更新

测试网络:

分别连接外网, 连接物理机, 物理机ip使用宿主机的实际ip

ping baidu.com

ping 192.168.0.102

xshell连接NoSQL_3的ip:192.168.108.13

配置hosts文件的IP映射:

添加现有的3个虚拟机节点, 更新hosts

vi /etc/hosts

末尾添加为:

192.168.108.11 nosql01

192.168.108.12 nosql02

192.168.108.13 nosql03

systemctl restart network

5.其他虚拟机更新hosts

修改hosts文件

vi /etc/hosts

末尾更新为:

192.168.108.11 nosql01

192.168.108.12 nosql02

192.168.108.13 nosql03

systemctl restart network

至此虚拟机之间可实现便捷的互相访问

ping nosql01

ping nosql02

ping nosql03

各虚拟机保存快照

6.其他问题

物理机重启后,xshell无法远程登录

确认以下项目:

(1)services.msc中vmware相关服务已启动

(2)ncpa.cpl中vmnet8的ip使用的是配置的固定ip\子网掩码\网关\dns

(3)防火墙高级设置的入栈规则 ICMP允许\已启用

(4)物理机能正常访问网络

以上均无问题,可依次采取下列不同方案:

(1)虚拟机已经启动后,再等1-2分钟,xshell能正常连接,问题解决

(2)仍未解决,则将虚拟机恢复到上一个快照(该快照需确保当时远程连接成功),问题解决

注意事项:

(1)虚拟机关机采用centos系统内部关闭, 例如init 0,减少问题发生概率

(2)虚拟机挂起后,不要通过vmware再去关闭, 需要虚拟机开机后, 在其centos系统内部进行关机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/470467.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Linux的nfs、samba网络服务搭建

我学的Ubuntu&#xff0c;以它为例子 一、nfs(linux <---> linux) 1.1.nfs首先搭建服务端&#xff08;对外共享&#xff09; //安装nfs核心服务 sudo apt update sudo apt install nfs-kernel-server //配置nfs文件(指定共享文件) sudo vim /etc/exports //重启nf…

Rust 数据结构与算法:5栈:用栈实现前缀、中缀、后缀表达式

3、前缀、中缀和后缀表达式 计算机是从左到右处理数据的&#xff0c;类似(A (B * C))这样的完全括号表达式&#xff0c;计算机如何跳到内部括号计算乘法&#xff0c;然后跳到外部括号计算加法呢&#xff1f; 一种直观的方法是将运算符移到操作数外&#xff0c;分离运算符和操…

steam搬砖项目赚钱吗?3年亲身经历告诉你真相

csgo饰品交易市场由来已久&#xff0c;且玩家众多&#xff0c;绝对蓝海。而steam搬砖项目就是基于csgo游戏的交易。在steam用美金买入道具、装备和饰品&#xff0c;然后搬砖到国内的网易buff售卖&#xff0c;从中赚取一定的差价和汇率差额。 steam搬砖怎么赚钱&#xff1f;在s…

2019年通信工程师初级 实务 真题

文章目录 一、第9章 通信动力与环境通信电源系统的主要功能&#xff1a;“供”、“配”、“储”、“发”、“变” 二、第2章 传输网三、第3章 接入网四、第4章 互联网 一、第9章 通信动力与环境 【问题一】 网络通信设备对动力与环境的质量要求可以归纳为 &#xff08;1&#…

模拟电子技术——基本放大电路

文章目录 前言一、三极管输入输出特性三极管放大作用三极管电流放大关系三极管的特性曲线 二、基本放大电路-电路结构与工作原理基本放大电路的构成基本放大电路放大原理三种基本放大电路比较 三、基本放大电路静态工作点什么是静态工作点&#xff1f;静态工作点的作用估算法分…

多模态学习综述(MultiModal Learning)

最早开始关注到多模态机器学习是看到Jeff Dean在2019年年底NeurIPS大会上的一个采访报道&#xff0c;讲到了2020年机器学习趋势&#xff1a;多任务和多模态学习将成为突破口。 Jeff Dean 谈2020年机器学习趋势&#xff1a;多任务和多模式学习将成为突破口 站在2022年&#xff…

【Java】零基础蓝桥杯算法学习——二分查找

算法模板一: // 数组arr的区间[0,left-1]满足arr[i]<k,[left,n-1]满足arr[i]>k;Scanner scan new Scanner(System.in);int[] arr {1,2,3,4,5};int left 0,right arr.length-1;int k scan.nextInt();while(left<right) {//leftright时退出循环int mid (leftrigh…

揭秘Angular世界的奥秘:全面提升你的前端开发技能!

介绍&#xff1a;Angular是一个由Google维护的开源JavaScript框架&#xff0c;专为构建Web应用程序而设计&#xff0c;特别适合开发大型单页应用&#xff08;SPA&#xff09;。以下是对Angular的详细介绍&#xff1a; 技术栈&#xff1a;Angular使用HTML作为模板语言&#xff0…

【Java多线程案例】定时器

1. 定时器简介 定时器&#xff1a;想必大家一定对定时器这个概念不陌生&#xff01;因为它经常出现在我们的日常生活和编程学习中&#xff0c;定时器就好比是一个"闹钟"&#xff0c;会在指定时间处理某件事&#xff08;例如响铃&#xff09;&#xff0c;而在编程世界…

单html页面使用Vue3和Element-Plus

一、快速入门 使用CDN方式引入Vue3使用CDN方式引入Element-Plus的样式文件和组件库 案例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, ini…

随机过程及应用学习笔记(四) 马尔可夫过程

马尔可夫过程是理论上和实际应用中都十分重要的一类随机过程。 目录 前言 一、马尔可夫过程的概念 二、离散参数马氏链 1 定义 2 齐次马尔可夫链 3 齐次马尔可夫链的性质 三、齐次马尔可夫链状态的分类 四、有限马尔可夫链 五、状态的周期性 六、极限定理 七、生灭过…

如何将字体添加到 ONLYOFFICE 文档服务器 8.0

作者&#xff1a;VincentYoung 阅读本文&#xff0c;了解如何为自己的在线办公软件 ONLYOFFICE 文档服务器的字体库添加字体 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一个功能强大的文档编辑器&#xff0c;支持处理文本文档、电子表格、演示文稿、可填写表单、PDF 和电子书…