virtualbox7安装centos7.9配置静态ip避坑方案

news2024/12/29 10:32:27

1.背景

  我大概在一年之前安装virtualbox7+centos7.9的环境,但看视频说用vagrant启动的窗口可以不用第三方工具(比如xshell、secure等)连接centos7.9,于是尝鲜试了下还可以,导致系统文件格式是vmdk了(网上有vmdk转vdi的方法,我试了不行)。可用了差不多1年,创建这个系统的磁盘满了,三天两头的清理文件,头大。网上一顿搜试了,操作风险太大,怕把之前搭建的环境弄坏了,忍了几天实在忍不住动手弄了,再加上这个系统盘F盘马上要爆满了,某天下午一顿猛清理F盘文件时,骚操作把之前备份的镜像文件给删除了,傻眼了。没办法,重新安装centos系统。

   建议大家用第三工具(比如xshell、secure等)去连接安装好的centos,这样系统文件格式是vdi,很容易的扩容(我已测试)。

2.需求

现在面临的需求场景是这样:

  • 要求centos虚拟机可以yum install、wget、docker拉互联网镜像,因此需要访问互联网。
  • centos需要访问本地宿主机的ip。
  • 本地xshell可以ssh访问cenots虚拟机。

因此为了实现我的目标需求,采用了 nat+host-only方式对虚拟机进行设置。在设置的过程中花了一些时间,遇到一些坑,为了总结经验就写了该文章。

3.核对环境

  查看centos7.9版本号:

[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

下载地址:centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云,选择标红版本并下载到本地。

viturbox版本: Downloads – Oracle VM VirtualBox,下载标红版本并安装。

我安装的是7.0

4.virtualbox创建虚拟机

新建虚拟机

配置内存大小

注意选择vdi,标红选项。后续磁盘满了就很容易的扩容。

虚拟机创建完后信息如下:

5.安装centos7.9和配置

1)安装系统

基本很简单,大家一步一步操作即:

注意两步:

设置root的密码:

2)配置网络

a、虚拟机网卡有哪些连接方式?

VirtualBox中有4中网络连接方式:

  • NAT
  • Bridged Adapter
  • Internal
  • Host-only Adapter

先来一张图,通过这张图就很容易看出这4种方式的区别:

b、NAT

NAT:Network Address Translation,网络地址转换

NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:

Guest访问网络的所有数据都是由主机提供的,Guest并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Guest的存在。

Guest可以访问主机能访问到的所有网络,但是对于主机以及主机网络上的其他机器,Guest又是不可见的,甚至主机也访问不到Guest。

**虚拟机与主机的关系:**只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。

**虚拟机与网络中其他主机的关系:**只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。

**虚拟机与虚拟机的关系:**相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。

c、Bridged Adapter(网桥模式)

网桥模式,你可以这样理解:

它是通过主机网卡,架设了一条桥,直接连入到网络中了。因此,它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。

网桥模式下的虚拟机,你把它认为是真实计算机就行了。

**虚拟机与主机的关系:**可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问。

**虚拟机于网络中其他主机的关系:**可以相互访问,同样因为虚拟机在真实网络段中有独立IP,虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问。

**虚拟机与虚拟机的关系:**可以相互访问,原因同上。

d、Internal(内网模式)

内网模式,顾名思义就是内部网络模式:

虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。

**虚拟机与主机的关系:**不能相互访问,彼此不属于同一个网络,无法相互访问。

**虚拟机与网络中其他主机的关系:**不能相互访问,理由同上。

**虚拟机与虚拟机的关系:**可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。如上配置图中,名称为intnet。

e、Host-only Adapter(主机模式)

主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。

我们可以理解为Guest在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡桥接等)。

**虚拟机与主机的关系:**默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被分配到的也都是这个网段。通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问。

**虚拟机与网络主机的关系:**默认不能相互访问,原因同上,通过设置,可以实现相互访问。

**虚拟机与虚拟机的关系:**默认可以相互访问,都是同处于一个网段。

f、 设置Nat网络

设置nat网络是为了让虚拟机可以访问互联网。

设置前先把虚拟机关机,笔者在这里踩坑了很久。

  1. 在 VirtualBox 主控制界面点击 【管理】–【工具】–【Network Manager】–【添加新NAT网络】
  2. 在弹出的对话框中,设置为【192.168.100.0/24】,【确定】

入下图所示:

在管理界面点击你安装的centos7.9 鼠标右键【设置】–【网络】–【网卡1】,【连接方式】选择【NAT网络】,【界面名称】选【NATNetwork】,【确定】,截图如下:

【启动】

登陆进系统之后,运行:

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

将【ONBOOT】改为【yes】 具体配置如下:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="59565fb4-e227-409b-b9a0-f9d2a8ee3f02"
DEVICE="enp0s3"
ONBOOT="yes"

重启网络服务:

systemctl restart network

此时可以正常联网了,ping www.baidu.com如图所示:

但是此时还不能通过 SSH 登陆服务器。

g、设置Host-only网络

设置前先把虚拟机关机,笔者在这里踩坑了很久。

1.在【管理】–【全局设定】–【网络】中,应该能看到【仅主机(Host-Only)网络】的选项卡。在安装完 VirtualBox后,在计算机的【网络和共享中心】–【更改适配器设置】中可以看到【VirtualBox Host-Only Network】:

2.右键【属性】–【Internet协议版本4(TCP/IPv4)】中可以看到 IP 地址是【192.168.56.1】:

回到 VirtualBox,选择【编辑仅主机(Host-Only)网络】。可以看到:

【设置】–【网络】–【网卡2】–【启用网络连接】,【连接方式】选【仅主机(Host-Only)网络】:

开机。

执行下列命令:

cd /etc/sysconfig/network-scripts/

复制一份网卡配置

cp ifcfg-enp0s3  ifcfg-enp0s8 #复制仅主机的网卡配置文件

vi ifcfg-enp0s8  # 配置

添加【IPADDR】和【NETMASK】,修改【DEVICE】为【enp0s8】,【BOOTPROTO】为【static】:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s8"
UUID="59565fb4-e227-409b-b9a0-f9d2a8ee3f02"
DEVICE="enp0s8"
ONBOOT="yes"
IPADDR="192.168.56.10"
NETMASK="255.255.255.0"

重启网络服务。

systemctl restart network

使用xshell连接:

到此centos7.9算安装好了,但你别高兴得太早,后面你有一堆的“惊喜”。我已遇到并解决,在此给大家说下,免得浪费大家的宝贵时间。

安装centos7.9是没带wget和yum,要自己手动安装,大家可以参考这个链接搞定:

https://www.cnblogs.com/dennisdong/p/17037248.html

【linux】linux (CentOS 7)报错:yum 命令报错 “ Cannot find a valid baseurl for repo: base/7/x86_6 ”-CSDN博客

配置镜像: error pulling image configuration: download failed after attempts=6: dial tcp 47.88.58.234:443: conn-CSDN博客

若你不安装yum和wget,你后面是不能安装jdk、tomcat、docker等,因为需要安装一堆的依赖rpm文件,我开始被这个坑惨了。搞了很久。大家放心参考这个链接去轻松搭建环境,放飞自我吧!

参考:

virtualbox centos7 nat+host-only方式联网踩坑总结-阿里云开发者社区

https://www.cnblogs.com/dennisdong/p/17037248.html

Technology技术分享

https://www.cnblogs.com/dennisdong/p/17037248.html
https://www.cnblogs.com/Hongxuanred/p/18314277

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LLaVAR: Enhanced Visual Instruction Tuning for Text-Rich Image Understanding

发表时间:2 Feb 2024 论文链接:https://arxiv.org/pdf/2306.17107 作者单位:Georgia Tech Motivation:指令调整增强了大型语言模型 (LLM) 与人类交互的能力。此外,最近的指令跟踪数据集包括图像作为视觉输入&#xf…

从古代驿站体系看软件安全管控@安全历史04

在古代,车、马都很慢,信息传递很不顺畅,中央的政令又是如何传达至地方的呢?实际上,很多朝代都有专门的驿站制度,可以保障全国各地的信息传递,对于维护统治和稳定有着关键作用。 若将国家比作一个…

jvm方法返回相关指令ireturn,areturn,return等分析

正文 看图: 做的事情如下: 1:弹出当前的方法栈帧 2:获取上一个方法 3:从当前方法的操作数栈中获取执行结果,并推送到上一个方法的操作数栈中对应的伪代码: Override public void execute(Frame frame) {Thread thread frame.thread();Frame curren…

使用Go语言实现基于泛型的Jaccard相似度算法

基本原理 跳表: jaccard相似度: jaccard相似度的代码实现: 时间复杂度分析: 快速jaccard算法: 代码实现,这个要求两个集合都是有序的: Jaccard相似度算法的基本实现 算法&#xf…

【Rabbitmq的消息模型】

消息队列的特性 durable:队列持久化。如果设置持久化,那么无论RabbitMQ在关闭时,就会将队列存储到本地磁盘,无论宕机还是重启,队列也不会删除;如果设置不持久化,那么在RabbitMQ关闭时&#xff…

发送邮箱API的性能指标有哪些,如何评估?

发送邮箱API的安全性措施?使用邮箱API的注意事项? 无论是用于事务性邮件、营销邮件还是通知邮件,发送邮箱API的性能直接影响用户体验和业务效果。AokSend将详细探讨这些问题,帮助您更好地理解和优化发送邮箱API。 发送邮箱API&a…

Shodan:互联网连接设备与漏洞分析的搜索引擎

前言 在当今数字化时代,互联网连接设备的数量急剧增长,从个人设备到企业服务器再到物联网(IoT)设备,这些设备构成了我们日常生活和工作的基础。然而,这些设备的连接也带来了潜在的安全风险,因为…

【算法 02】一题学习BFS和DFS算法

一题学习BFS和DFS算法 洛谷题目解析:【深基18.例3】查找文献 题目背景 小K热衷于在洛谷博客上阅读文章并探索其中的知识。每篇文章都可能包含指向其他博客文章的参考文献链接。小K的求知欲非常强,如果他阅读了某篇文章,他一定会去查看这篇文…

分享一个基于微信小程序的智慧校园服务平台(源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…

LLM可解释性的未来希望?稀疏自编码器是如何工作的,这里有一份直观说明

点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com 简而言之:矩阵 → ReLU 激活 → 矩阵 在解释机器学习模型方面,稀疏自编码器(SAE)是一种越来越常用的工具(虽然 SAE 在 1997 年左右就已经问世了&am…

keil工程一下子跳出来非常多错误的原因可能

1.没有选择c99编译模式 2.没有选择优化模式为编码时合适的模式 3.start文件有问题 4.路径没有引用

用模方软件做单体化建模,修图时需要用哪种软件?可以用Photoshop吗

联动单体可以用草图大师、3Dmax;修纹理可以联动使用Photoshop。 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.1新增自动单体化建模功能,支持一键自动提取房屋结…

一芯解锁「看家」新体验,航芯高性价比猫眼智能锁方案,让安全看得见!

随着智能门锁市场规模逐年递增,行业“内卷”也持续激烈。伴随着一路加码的功能卖点,智能门锁制造商正面临着产品功能芯片增多和成本优化的双重挑战。消费者不仅追求易用性、智能化和美观性,更期待产品具有良好的性价比。 而在智能门锁的众多…

ICML 2024 论文解析:解读量化感知的 Transformer 模型密态推理

导语:ICML 国际机器学习大会(International Conference on Machine Learning,简称 ICML)是机器学习领域最重要和最有影响力的学术会议之一。《Ditto: Quantization-aware Secure Inference of Transformers upon MPC(量…

【中项】系统集成项目管理工程师-第10章 项目整合管理-10.2制订项目管理计划

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

【YashanDB数据库】大事务回滚导致其他操作无法执行,报错YAS-02016 no free undo blocks

问题现象 客户将一个100G的表的数据插入到另一个表中,使用insert into select插入数据。从第一天下午2点开始执行,到第二天上午10点,一直未执行完毕。 由于需要实施下一步操作,客户kill重启了数据库,之后数据库一直回…

《清远折叠》,数智广东第一个SPN政务专网故事

今天,越来越多物理世界中的产业,正在与数字世界完成交汇,改变着我们习以为常的生活方式。 比如政务专网,就通过一张专用网络,将物理世界的政府部门与城市居民,在数字世界中“折叠”到一起,让人们…

Weblogic 漏洞

1.弱口令 访问默认用户名:weblogic 密码: Oracle123 点击安装 点击上载文件 将jsp木马打包,改为war,上传,一直下一步,最后点完成,访问99/99.jsp 使用工具连接 2.CVE-2017-3506 使用工具检测&#xff0c…

static的注意事项

总结 /*** ClassName Student* author gyf* Date 2024/8/5 23:48* Version V1.0* Description : */ public class Student {String name;int age;static String tecname;// 这个this 是虚拟机默认的public void show(Student this){System.out.println(this);System.out.prin…

ASP.NET Core 基础 - Razor Pages Web 应用

目录 一. 创建项目 二. 检查项目文件 三. 添加模型 四. 添加数据 五. 基架 六. 使用数据库 七. 总结 一. 创建项目 新建项目 点击运行 二. 检查项目文件 Pages 文件夹 包含 Razor 页面和支持文件。 每个 Razor 页面都是一对文件: 一个 .cshtml 文件&#xf…