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
在这里插入图片描述之后可通过ping nosql01的形式ping其他节点

[!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.其他问题

6.1 物理机重启后,xshell无法远程连接

确认以下项目:

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

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

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

(4)物理机能正常访问网络(如果物理机和虚拟机都在一台机器上, 即使断网, Xshell也能连接, 时间稍长20s左右)

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

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

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

6.2 虚拟机的关机注意事项

(1)虚拟机关机采用centos系统内部关闭, 例如init 0, 尽量不要使用vmware从外部关闭虚拟机, 减少问题发生概率.

特别是每次执行一些命令开启服务后, 需确认开启的服务正常关闭后, 再切换到root用户,进行关机

su root

init 0

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

6.3 解决vi编辑文件不支持鼠标滚轮翻页等问题

查看是否安装完整的vim

rpm -qa|grep vim

安装完整的vim

yum -y install vim*

编辑配置文件:

vim /etc/vimrc

常用配置

set number

syntax on

set ruler

set showmatch

set hlsearch

set incsearch

6.4 安装netstat工具

用于查看端口占用情况

# 切换root用户
su root
cd
# 安装netstat工具
yum install net-tools -y
# 查看端口号占用情况
netstat -ant

为适应教学场景, 教师使用以下软件版本:

1.虚拟机

windows: VMware Workstation Pro 16.2.4

2.linux系统光盘映像

CentOS-7-x86_64-Everything-2009.iso

3.ssh工具

Xshell 7

4.数据库前端工具

navicat premium 15
robo 3t 1.3.1 (非最新版本, 软件也已更名为Studio 3T)
5.其他

Xftp 7(用于远程文件管理, 可结合Xshell使用)

IDEA Ultimate (Java程序设计,数据源连接)

PyCharm Professional (Python程序设计,数据源连接)

  • 19
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值