searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Linux虚拟机的创建与配网(一)

2022-11-17 05:40:29
224
0

0 引言

大家好,欢迎阅读我的linux专栏,在这里写作仅仅是为了将自己再工作与学习中的一些经验与教训分享出来,或许可以给后来人提供一些参考与帮助;所谓事无巨细,在开发过程中虽然我们只需要学会如何使用这些工具,但如果能理解更底层的原理无疑是对更深入的使用有帮助的。因此,我通常会将非常小的一个点写成比较长的文档分享出来,分享的不只是这一项技术或者方法,更多的是在使用过程中接触到的各种领域的刨根问底,大部分是结合了我自己的理解,不一定准确,还望各位读者不断指正。

1 相关软件的下载与安装

1.1 VituralBox

VirtualBox (也可以选择VMWare)是一款开源虚拟机软件,我们可以在这上面部署多台多种操作系统的虚拟机,包括Windows、linux等(是的在Windows上部署Windows虚拟机也完全没问题)。换句话说,VirtualBox就是帮助我们管理、配置、创建虚拟机的一个软件,他可以在我们的主机上划分出一定的内存、硬盘等来供给虚拟机使用;同时可以创建多台虚拟机,用以不同环境的开发

本文讲解的是linux虚拟机的安装与配置,由于我这里用的是Windows系统电脑,所以选择Windows hosts来下载适合windows系统的版本;

即:前往官网下载VituralBox安装包:https://www.virtualbox.org/wiki/Downloads,安装过程非常简单,执行默认安装(建议选择6.1版本),只要注意不要有中文路径即可

1.2 CentOS

没基础的可以从这开始看:

不知道本文的读者有没有跟我一样转码来的,对linux这个单词仅限于“操作系统”这四个字,也没有什么更深入的理解;在这里我还是简单的分享下我个人的经验,更详细的资料大家可以自行查阅:

狭义的linux实际上只是一个用C和汇编写的内核(kernel),换而言之它是与计算机硬件做交互的一个层级,是林纳斯大神编写出来的(这个大神后来几周时间写出了git);那么我们需要与计算机硬件进行通信,比如告诉系统我要打开一个文件、要计算一个数据等,都是通过这个linux内核来与底层硬件做交互的

内核的外部当然就是外壳,也就是shell(名字取得真好)。坦白的说我本人很长一段时间没有理解shell这个重要概念,直到我看到下图(借用下尚硅谷的图)。shell的本质就是套在系统内核之外用来解释并传递命令的“命令解释层”。

而操作系统在shell的外部还有一层,叫做应用层。应用层就包含了用户能接触到的大部分东西,比如图形化的桌面(没有图形化桌面你看的只是命令行)、文本编辑器、图片查看器等等应用都是在这一层,并且通过shell与底层的内核、硬件进行交互。

这一大坨(内核、shell、应用层)东西我们就称为广义的linux(GNU/Linux),这下你就可以理解为什么linux有各种各样的发行版了,本质上他们使用的可能是同一种内核,但是搭配不同的shell与应用就组成了不同的发行版。这些版本的侧重点各有千秋,比如有些主打的就是华丽的图形化操作桌面(Ubuntu、SUSE),有些主打的就是好用与稳定(Redhat)。今天我们要接触到的CentOS就是Redhat的社区版,去除了企业版的一些功能,开源给广大开发者免费使用,是世界上最主流的linux发行版之一。

那么我们要在虚拟机上安装CentOS,当然是需要去下载这样一个“安装包”,我们把这样的安装包就叫做镜像(image),通常是iso后缀(重装过系统的读者应该清楚,Windows的系统镜像就是iso后缀)。

 

有基础的可以跳到这里:
简单的说CentOS是linux操作系统的一个发行版,我们需要去下载对应的CentOS镜像(我们这里选择CentOS 7)用来在后面的虚拟机上安装对应的linux系统
 

1.3 Xshell

Xshell  是一个强大的安全终端模拟软件,可以看成是一个远程终端工具,将pc与远端Linux机器连接起来(通过向Xshell输入命令),然后远端的Linux机器将其运行结果通过网络传回个人电脑;使用Xshell可以更方便的进行虚拟机操作,比如实现在虚机上比较麻烦的复制粘贴功能、传递文件功能。

需要注意的是这里xshell的shell这个单词也非常契合我们刚刚说的命令解释层这样一个定义,他就好比是套在主机上的一个外壳,来帮助我们从本地通讯到各地的终端,只是我们这里xshell与虚拟机都在本地而已

首先先去官网下载安装包,执行默认安装,比较简单(下载免费版本即可,这里就不截图了)

注:这里也可以同步安装xftp,是xshell上的文件传输组件,在xshell官网下载的时候一并下载即可

https://www.xshell.com/zh/free-for-home-school/

2 虚拟机的安装

2.1 新建虚拟网卡

虚拟机通常需要配置来实现内/外网的通信,因此我们需要按需来设置不同的网卡模式,其中有一种叫做:仅主机(host-only)模式,用来实现虚拟机之间、虚拟机与主机之间的内网通信(后面会详细讲到);这种模式的建立就需要我们给虚拟机分配一个虚拟的网卡(Ethernet Adapter),从而来设置一个虚拟机独立的ip。

更详细的我们后面设置网卡的时候会讲到几种模式的区别,这里先执行操作即可。

 

具体操作如下:

打开VituralBox,选择工具-网络-创建,来新建一个Ethernet Adapter,此时会自动分配一个网段给该虚拟网卡,可以看到这里是私有地址C类地址中的206网段

注:私有地址范围如下,一般只有公司、学校、政企等才会使用B类地址,家用、自用、本地调试多使用C类地址,至于A类地址我们接触的比较少,后面讲到虚拟机配网的时候会有进一步的认知
A类 10.0.0.0/8, 即10.0.0.0--10.255.255.255
B类 172.16.0.0/12, 即172.16.0.0--172.31.255.255
C类 192.168.0.0/ 16, 即192.168.0.0--192.168.255.255

启用DHCP服务器,并使得该网卡的IPV4地址、DHCP服务器的服务器地址、掩码、最大最小地址都在一个网段(可手动设置自己方便的网段,本例为206),设置好后如下图

2.2 创建虚拟机

回到 工具-欢迎-新建,来新建虚拟机
名称可以自己设置,本例为linux0与linux两台(为了后面演示虚拟机之间的通信),类型选择Linux,版本选择Other Linux(64-bit),其他可以默认(也可以手动调节下内存和硬盘大小,一般选默认的即可)
创建好后先不要启动(非常重要),直接进入设置来配置虚拟机,

在储存界面,添加刚刚下载好的centos的iso镜像

在网络界面,选择网卡1-网络地址转换(NAT)+网卡2-仅主机(Host-only)网络(界面名称选择第一步创建好的Ethernet Adapter),NAT用来实现外网通信,Host-only用来实现内网通信;这里一般NAT会自动开启
 
讲到这里我详细说明一下主要的三种网络连接模式的区别,已经很熟悉的读者可以直接调到下一章:
1.桥接模式:虚拟机直接连接外部物理网络
顾名思义,这种模式下,主机充当了一个连接虚拟机与外部网络直接的网桥,从而实现了虚拟机的外网通信。但显著的缺点在于这种模式下外部网络是可以直接访问虚拟机的,并不是很安全。
2.NAT模式:即网络地址转换
具体来说,NAT模式下主机对虚拟机想要访问外网的请求做处理,再对接到外部网络,从而实现外网通信。可以简单粗暴地把这种模式下的主机当做虚拟机外网通信的“路由器”,主机虚拟出来的dhcp服务器会自动给虚拟机分配一个属于自己的局域网ip。因此NAT模式下外部网络是无法访问虚拟机的。
但虚拟机之间也不能互相访问,从本例出发,linux0是无法通过NAT这种模式访问到linux1的。
3.仅主机模式Host-only:虚拟机与主机共享一个网络
简单的说就是主机会虚拟出一张网卡,这张网卡与我们一开始在VirtualBox中创建的Ethernet Adapter是在同一个网段的(本例为192.168.206.1),从而实现主机以及多个虚拟机之间的相互通信,我们甚至可以进入Windows主机的网络连接查看这张虚拟网卡(如下图)
 
现在你就可以理解为什么我们需要使用NAT+Host-only这样的双网卡模式来实现内外网通信了
 

后续的CentOS安装、虚拟机配网下一篇文章续上

0条评论
0 / 1000
才开始学技术的小白
23文章数
2粉丝数
才开始学技术的小白
23 文章 | 2 粉丝
原创

Linux虚拟机的创建与配网(一)

2022-11-17 05:40:29
224
0

0 引言

大家好,欢迎阅读我的linux专栏,在这里写作仅仅是为了将自己再工作与学习中的一些经验与教训分享出来,或许可以给后来人提供一些参考与帮助;所谓事无巨细,在开发过程中虽然我们只需要学会如何使用这些工具,但如果能理解更底层的原理无疑是对更深入的使用有帮助的。因此,我通常会将非常小的一个点写成比较长的文档分享出来,分享的不只是这一项技术或者方法,更多的是在使用过程中接触到的各种领域的刨根问底,大部分是结合了我自己的理解,不一定准确,还望各位读者不断指正。

1 相关软件的下载与安装

1.1 VituralBox

VirtualBox (也可以选择VMWare)是一款开源虚拟机软件,我们可以在这上面部署多台多种操作系统的虚拟机,包括Windows、linux等(是的在Windows上部署Windows虚拟机也完全没问题)。换句话说,VirtualBox就是帮助我们管理、配置、创建虚拟机的一个软件,他可以在我们的主机上划分出一定的内存、硬盘等来供给虚拟机使用;同时可以创建多台虚拟机,用以不同环境的开发

本文讲解的是linux虚拟机的安装与配置,由于我这里用的是Windows系统电脑,所以选择Windows hosts来下载适合windows系统的版本;

即:前往官网下载VituralBox安装包:https://www.virtualbox.org/wiki/Downloads,安装过程非常简单,执行默认安装(建议选择6.1版本),只要注意不要有中文路径即可

1.2 CentOS

没基础的可以从这开始看:

不知道本文的读者有没有跟我一样转码来的,对linux这个单词仅限于“操作系统”这四个字,也没有什么更深入的理解;在这里我还是简单的分享下我个人的经验,更详细的资料大家可以自行查阅:

狭义的linux实际上只是一个用C和汇编写的内核(kernel),换而言之它是与计算机硬件做交互的一个层级,是林纳斯大神编写出来的(这个大神后来几周时间写出了git);那么我们需要与计算机硬件进行通信,比如告诉系统我要打开一个文件、要计算一个数据等,都是通过这个linux内核来与底层硬件做交互的

内核的外部当然就是外壳,也就是shell(名字取得真好)。坦白的说我本人很长一段时间没有理解shell这个重要概念,直到我看到下图(借用下尚硅谷的图)。shell的本质就是套在系统内核之外用来解释并传递命令的“命令解释层”。

而操作系统在shell的外部还有一层,叫做应用层。应用层就包含了用户能接触到的大部分东西,比如图形化的桌面(没有图形化桌面你看的只是命令行)、文本编辑器、图片查看器等等应用都是在这一层,并且通过shell与底层的内核、硬件进行交互。

这一大坨(内核、shell、应用层)东西我们就称为广义的linux(GNU/Linux),这下你就可以理解为什么linux有各种各样的发行版了,本质上他们使用的可能是同一种内核,但是搭配不同的shell与应用就组成了不同的发行版。这些版本的侧重点各有千秋,比如有些主打的就是华丽的图形化操作桌面(Ubuntu、SUSE),有些主打的就是好用与稳定(Redhat)。今天我们要接触到的CentOS就是Redhat的社区版,去除了企业版的一些功能,开源给广大开发者免费使用,是世界上最主流的linux发行版之一。

那么我们要在虚拟机上安装CentOS,当然是需要去下载这样一个“安装包”,我们把这样的安装包就叫做镜像(image),通常是iso后缀(重装过系统的读者应该清楚,Windows的系统镜像就是iso后缀)。

 

有基础的可以跳到这里:
简单的说CentOS是linux操作系统的一个发行版,我们需要去下载对应的CentOS镜像(我们这里选择CentOS 7)用来在后面的虚拟机上安装对应的linux系统
 

1.3 Xshell

Xshell  是一个强大的安全终端模拟软件,可以看成是一个远程终端工具,将pc与远端Linux机器连接起来(通过向Xshell输入命令),然后远端的Linux机器将其运行结果通过网络传回个人电脑;使用Xshell可以更方便的进行虚拟机操作,比如实现在虚机上比较麻烦的复制粘贴功能、传递文件功能。

需要注意的是这里xshell的shell这个单词也非常契合我们刚刚说的命令解释层这样一个定义,他就好比是套在主机上的一个外壳,来帮助我们从本地通讯到各地的终端,只是我们这里xshell与虚拟机都在本地而已

首先先去官网下载安装包,执行默认安装,比较简单(下载免费版本即可,这里就不截图了)

注:这里也可以同步安装xftp,是xshell上的文件传输组件,在xshell官网下载的时候一并下载即可

https://www.xshell.com/zh/free-for-home-school/

2 虚拟机的安装

2.1 新建虚拟网卡

虚拟机通常需要配置来实现内/外网的通信,因此我们需要按需来设置不同的网卡模式,其中有一种叫做:仅主机(host-only)模式,用来实现虚拟机之间、虚拟机与主机之间的内网通信(后面会详细讲到);这种模式的建立就需要我们给虚拟机分配一个虚拟的网卡(Ethernet Adapter),从而来设置一个虚拟机独立的ip。

更详细的我们后面设置网卡的时候会讲到几种模式的区别,这里先执行操作即可。

 

具体操作如下:

打开VituralBox,选择工具-网络-创建,来新建一个Ethernet Adapter,此时会自动分配一个网段给该虚拟网卡,可以看到这里是私有地址C类地址中的206网段

注:私有地址范围如下,一般只有公司、学校、政企等才会使用B类地址,家用、自用、本地调试多使用C类地址,至于A类地址我们接触的比较少,后面讲到虚拟机配网的时候会有进一步的认知
A类 10.0.0.0/8, 即10.0.0.0--10.255.255.255
B类 172.16.0.0/12, 即172.16.0.0--172.31.255.255
C类 192.168.0.0/ 16, 即192.168.0.0--192.168.255.255

启用DHCP服务器,并使得该网卡的IPV4地址、DHCP服务器的服务器地址、掩码、最大最小地址都在一个网段(可手动设置自己方便的网段,本例为206),设置好后如下图

2.2 创建虚拟机

回到 工具-欢迎-新建,来新建虚拟机
名称可以自己设置,本例为linux0与linux两台(为了后面演示虚拟机之间的通信),类型选择Linux,版本选择Other Linux(64-bit),其他可以默认(也可以手动调节下内存和硬盘大小,一般选默认的即可)
创建好后先不要启动(非常重要),直接进入设置来配置虚拟机,

在储存界面,添加刚刚下载好的centos的iso镜像

在网络界面,选择网卡1-网络地址转换(NAT)+网卡2-仅主机(Host-only)网络(界面名称选择第一步创建好的Ethernet Adapter),NAT用来实现外网通信,Host-only用来实现内网通信;这里一般NAT会自动开启
 
讲到这里我详细说明一下主要的三种网络连接模式的区别,已经很熟悉的读者可以直接调到下一章:
1.桥接模式:虚拟机直接连接外部物理网络
顾名思义,这种模式下,主机充当了一个连接虚拟机与外部网络直接的网桥,从而实现了虚拟机的外网通信。但显著的缺点在于这种模式下外部网络是可以直接访问虚拟机的,并不是很安全。
2.NAT模式:即网络地址转换
具体来说,NAT模式下主机对虚拟机想要访问外网的请求做处理,再对接到外部网络,从而实现外网通信。可以简单粗暴地把这种模式下的主机当做虚拟机外网通信的“路由器”,主机虚拟出来的dhcp服务器会自动给虚拟机分配一个属于自己的局域网ip。因此NAT模式下外部网络是无法访问虚拟机的。
但虚拟机之间也不能互相访问,从本例出发,linux0是无法通过NAT这种模式访问到linux1的。
3.仅主机模式Host-only:虚拟机与主机共享一个网络
简单的说就是主机会虚拟出一张网卡,这张网卡与我们一开始在VirtualBox中创建的Ethernet Adapter是在同一个网段的(本例为192.168.206.1),从而实现主机以及多个虚拟机之间的相互通信,我们甚至可以进入Windows主机的网络连接查看这张虚拟网卡(如下图)
 
现在你就可以理解为什么我们需要使用NAT+Host-only这样的双网卡模式来实现内外网通信了
 

后续的CentOS安装、虚拟机配网下一篇文章续上

文章来自个人专栏
适合初学者的linux入门
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
1
0