在Oracle VM virtual box 中复制 CentOS 7虚拟机更改IP地址的操作

2024-06-05 16:52

本文主要是介绍在Oracle VM virtual box 中复制 CentOS 7虚拟机更改IP地址的操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近玩Redis主从复制的时候,我装了一个虚拟机,但主从复制需要准备3个虚拟机,这个时候,我又不想一个一个去装,我看到Oracle VM virtual box提供了一个虚拟机复制操作,于是就用了一下这个功能,发现确实可以复制虚拟机。

CentOS 7 虚拟机复制步骤。

前提条件,你要先安装一个虚拟机。

我选的系统是centos 7。

强调:不同的虚拟机系统,他的配置文件或有差异,我这边仅围绕centOS 7进行
在这里插入图片描述

具体步骤如下

在这里插入图片描述
选择复制则会弹出一个下面窗口,名称自己定义。
在这里插入图片描述注意,这边MAC地址设定,你可以自行选择。

接下来点击下一步弹窗
在这里插入图片描述
我们选择完成复制,链接复制其实就是将启动的虚拟机链接指向我们作为复制的虚拟机对象,个人觉得还是完全复制的好。

之后就是等待复制好然后启动虚拟机了。

问题来了

我们通过复制的方式会将我们第一个虚拟机的所有东西都复制过来,包括登录系统的账号密码,还有IP地址,烦人的是,3个虚拟机的ip地址都一样了,并且可以同时启动,这个时候就有点折磨我心态了,通过复制的方式导致三个虚拟机ip地址一样,我怎么知道我连接的是那个虚拟机呢?

查看虚拟机的ip配置文件和ipv4地址

这个时候我通过ip addr 去查看相关指令,结果因为我在虚拟机中装了docker和一些其他的玩意,导致我ip地址查看定位不到具体的ip。

Oracle VM virtual box的进入虚拟机之后,我们一旦鼠标移动点击到虚拟机内部,发现鼠标就局限在虚拟机窗口内部了,这个时候,我们想要移除鼠标到我们的Windows桌面的时候,是需要按一下键盘右边的ctrl键位。然后你就可以退出了。

# 查看虚拟机ip
ip addr 

在这里插入图片描述

这个时候吧,我们发现我无法精准地位我们的ip是哪个的时候,我们可以通过如下指令

# 进入我们centos虚拟机的网络管理文件夹
cd /etc/sysconfig/network-scripts/# 查看我们这个文件夹下的存在的文件
ls

在这里插入图片描述
强调一点 : 在centOS我们关于IP地址的配置基本上都是ifcfg开头。我们查到ifcfg的文件有两个,.bak的是Linux系统给的自动的备份文件,咱们不管他,然后我们通过相关指令查看一下我们的ip地址。

上面我们查询到许多的ip地址,我们无法定位到具体的ip地址不是嘛。现在我们在玩一下,不过我们的指令有相关变化。

ip addr show eth0 

注意: 这里我们在看ip配置文件的时候,只需要填写ifcfg-的后缀名字就可。

在这里插入图片描述
我们看到了一个10.0.2.15的ip地址,那么我们来拿到这个ip地址试试,看我们的Windows的cmd窗口ping不ping的通他?
在这里插入图片描述
看结果:
在这里插入图片描述
你会发现ping不通,这是为什么呢?

答:这个ip地址是虚拟机内网的ip地址,我们Windows一般ping的是虚拟机的外网地址,这个内网地址是ping不通的。

接下来看,我们还有一个eth1文件,那我们试试这个eth1吧!

ip addr show eth1

在这里插入图片描述
我们看一下,这里有个192.168.56.11,那这个地址是不是我们可以ping得通的外网地址呢?
让我们试一下:
在这里插入图片描述
我们发现,可以ping通,那么这个ifcfg就是我们的Linux虚拟机配置外网ip地址的文件了,接下来我们查看一下这个配置文件里边到底有什么东西。让我们具体分析一下:

# 查看配置文件的内容
cat /etc/sysconfig/network-scripts/ifcfg-eth1

我们重点关注这四个参数:

  • BOOTPROTO:设置为static,表示使用静态IP地址。
  • IPADDR:设置为新的IP地址。
  • NETMASK:设置为子网掩码。
  • GATEWAY:设置为网关地址。
    在这里插入图片描述
    这里边,我们一般更改IPADDR,由他绑的ip地址,我这边设置为192.168.56.12。

设置虚拟机IP地址

我通过cat 文件路基查看到文件内部的相关属性了,现在我们通过Linux自带的编辑指令进行操作。

首先我们先进入到我们的目标路径,当然你也可以直接进行编辑,就是需要把文件路径写全就可:

cat /etc/sysconfig/network-scripts/ls或者
vi /etc/sysconfig/network-scripts/ifcfg-eth1

如图:

在这里插入图片描述
要进行编辑操作了

在编辑操作之前,请先将自己用户切换为root用户或者其他管理员用户,不然你会面临没有编辑保存权限的操作!!!

vi ifcfg-eth1

在这里插入图片描述
当你看到这个页面的时候代表你已经成功了一半了,但是请注意,加下来我讲的才是正式编辑,你不用心看,如果是初学者的话,你发现你到这个页面之后你没法退出,也没法编辑。

完整页面
在这里插入图片描述
到底这个页面之后,我们进行编辑功能,这个时候我们需要按键盘的i键位。

在这里插入图片描述
对吧上述图片,我们发现这里边变成了insert,这是Linux告诉我们,你可以进行编辑了。

在这里插入图片描述
然后移动你的键盘上的方向键,键盘的方向键懂吧,向左,向右(→),向上,向下的箭头,我们移动到有图中有下标的位置,将11改成12。

接下来我们该怎么退出呢?
退出vi编辑操作的步骤:

  1. 按压键盘上的ESC键。
    在这里插入图片描述
    光标位置不管他,我们发现insert不见了,这个时候,我们继续执行退出操作。

  2. 直接按压键盘上的:键,然后输入wq
    在这里插入图片描述

  3. 最后一步按下回车键Enter
    在这里插入图片描述
    我们发现就退出成功了。

这个时候,我们可以重启一下网络,或者重启虚拟机。

systemctl restart network

验证一下我们新的ip地址是否生效,可以使用如下指令:

ip addr show eth1

不知道你们如何,反正我是没生效。不过没事,我们还有另外一种方式,那就是重启。

reboot

一般我们都需要配置3个虚拟机,这里我们复制了一个虚拟机,另一个虚拟机也按照上述步骤进行,然后我们利用虚拟机与虚拟机直接ping对应的ip看看,然后利用Windows来ping一下对应的虚拟机ip地址看通不通。

在这里插入图片描述
上图,两个虚拟机之间ping得通。说明我们的ip配置生效了。
我们再来看Windows来ping我们的虚拟机ip,如下图所示,也没问题。
在这里插入图片描述
至此,我们在Oracle VM virtual box中配置虚拟机的ip地址就实现了。无论你想复制多少个虚拟机,你都可以按照上述步骤进行,唯一的区别就是不同的系统,他的配置文件不同,你要根据对应的配置文件进行尝试。

总结

这个难度并不大,但是关键是现在网络上知识太零散了,需要自己一步一步的去尝试,去踩坑,踩了坑解决不了就重装,能解决就尽量去解决,解决不了就自己重装。博文写作不易,如果对你有帮助麻烦点个关注和小心心,非常感谢。

这篇关于在Oracle VM virtual box 中复制 CentOS 7虚拟机更改IP地址的操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件