也说virtualbox下安装centos7
以前一直在VMware Workstation下安装虚拟机系统,这几天由于电脑被别人使用误升级为win10,而导致原来的LNMP不能使用,查找原因在于即使是最新的VM12.1.1也只是支持win8而已(如图1所示),没有能够支持win10版本的VM出现,不得已只能换用virtualbox。
图1
由于原来实验室的台式机和公司的机器在性能上相去甚远,因此在实验室搭建客户机-服务器(c-s)模型时,想让台式机模拟服务器,而笔记本模拟客户端。因此如果还想让笔记本和台式机彼此之间自由通信,原来的只是用一台台式机模拟c-s模型的联网方式可能不再能使用。因此,为了为了以后能够自由的配置网络的属性,现在对虚拟网络的连接方式以及内部工作原理做一个简单的分析。自己用到的联网的方式有两种:桥接方式(bridged network)、网络地址转换(Network Address Translation)下面分别对这两种常见联网模式在不同的主机上的工作方式或者说是彼此之间的联通性做一些做明,host-only一般只能用于主机和虚拟机之间或者VMnet1下的虚拟机之间的通信,因此此处不做详细介绍。在作说明之前,首先说明一下自己的客户端机器(笔记本)和台式机,如图2,3,而网络的拓扑图如图4(借用别人)。

图2 笔记本网络状态

图3 宿主主机状态

图4 网络拓扑图
在主机上安装虚拟机的时候默认情况下,我们一般会比较关注的是VMnet0,VMnet1和VMnet8三块网卡,其中VMnet0是真实的物理网卡,而VMnet1和VMnet8是所谓的“虚拟网卡”。在默认情况下,VMnet1虚拟网卡的定义是“仅主机虚拟网络”,VMnet8虚拟网卡的定义是“NAT网络”,同时,主机物理网卡被定义为“桥接网络”,主机物理网卡也可以称为VMnet0。
1. 桥接方式(Bridged netowrk)
桥接方式下使用的网卡是VMnet0,也就是说是真实的物理网卡。因此在桥接的方式下,虚拟机有自己的IP地址,相当于虚拟机是网络中的一台真实存在的主机一样,这时候虚拟机与安装这台虚拟机的宿主主机之间没有必然的联系,即使宿主主机没有设置合理的IP地址,虚拟机依然可以上网,所以在使用两台各自独立的主机模拟C-S的情况时,如果要使二者彼此之间可以通信,则需要将网络的连接方式配置为桥接的方式,使二者称为真实的网络中的两台主机。
如果配置为桥接方式的方式进行联网,按照图4中的拓扑,不管宿主主机是否正确配置了IP地址等,所有连接到VMnet0网卡的虚拟机(A01,A02,A03)与网络上其他的主机或者相当于主机的机器之间都可以彼此进行访问(当然得在同一网段且关闭了彼此的防火墙).下面以客户端和服务器之间ping的结果说明,其中图5位客户机(笔记本)ping服务器(台式机),图6位服务器(台式机)ping客户机.

图5 客户机ping服务器

图6 服务器ping客户机
从中可以看出二者之间彼此都是可以访问的。这是我在应用中首选的联网方式。
2. NAT方式连接网络
虚拟机的NAT联网方式默认情况下是使用VMnet8虚拟网卡。这种这种方式下的访问其实是单向访问种访问方式,也就是说此时的虚拟机只能访问A能够访问的外网,非A的其他真实存在的物理主机不能访问虚拟机,展现在拓扑图中也就意味着A81,A82可以访问计算机A、计算机B和计算机Z,但是默认情况下只有A能够访问A81和A82,B和Z 却无法访问A81和A82.A81和A82之间彼此可以访问。使用VMnet8的另一种缺点就是安装在其下的虚拟机只有在物理主机A能够访问外网的情况下,虚拟机才能够通过通过物理主机的物理网卡访问外网,一旦物理主机的配置不正确或者说挂掉,所有的虚拟机都不在能够访问外网。
3. hos-onlyt方式连接网络
当虚拟机选择使用VMnet1虚拟网卡时,表示这台虚拟机连接到VMnet1虚拟交换机。VMnet1,官方定义“仅主机网络”,其默认的网络行为,只与主机或其他使用VMnet1虚拟网卡的虚拟机有网络连接。使用VMnet1虚拟网卡的虚拟机,不能访问与物理主机之外的其他计算机.
总结:
在安装虚拟机的时候既可以在安装的过程中配置网络为桥接方式或者是NAT,也可以在安装好了之后再设置选项的网络中配置连接的方式。但是注意的是配置之后需要使用service network restart命令重新启动网络,以使得配置生效。
也说virtualbox下安装centos7的更多相关文章
- VirtualBox下安装CentOS7系统
本文假定你已经知道如何安装VirtualBox虚拟机软件,并且已经安装好了. 首先我们需要准备好centos的iso镜像文件,可以从centos的官网下载. 以下操作使用的VirtualBox版本号是 ...
- (转)VirtualBox下安装CentOS7系统
转:https://www.cnblogs.com/hihtml5/p/8217062.html 本文假定你已经知道如何安装VirtualBox虚拟机软件,并且已经安装好了. 首先我们需要准备好cen ...
- virtualbox下安装的纯净版centOS7,无法访问外网
virtualbox下安装的纯净版centOS7,网络设置如下: 需要在/etc/sysconfig/network-scripts/下编辑ifcfg-enp0s3,其中,NOBOOT设置成也是,就可 ...
- 解决VirtualBox下安装虚拟机(Ubuntu)出错(不能为虚拟电脑Ubuntu打开一个新的任务)的有关问题
[转]http://www.myexception.cn/program/1964906.html 解决VirtualBox下安装虚拟机(Ubuntu)出错(不能为虚拟电脑Ubuntu打开一个新的任务 ...
- Linux_总结_01_VMware14虚拟机下安装CentOS7.x
一.前言 本文是采用最小安装方式 二.下载 1.官网 https://www.centos.org/download/ 在此页面下,选择 Minimal ISO 进行下载. 三.VMWare中新建虚拟 ...
- Linux_服务器_06_VMware虚拟机下安装CentOS7.0图文教程
二.参考资料 1.VMware虚拟机下安装CentOS7.0图文教程
- VirtualBox下安装Linux系统
Linux 开源的类Unix操作系统,拥有图形界面文字界面,旗下发行版不胜其数(Ubuntu.Deepin.CentOS...)在互联网公司中Linux服务器大多是用的CentOS系统,其他Linux ...
- 环境篇:Virtualbox+Vagrant安装Centos7
环境篇:Virtualbox+Vagrant安装Centos7 1 安装Vagrant Vagrant下载地址:https://www.vagrantup.com/ Vagrant百度网盘:https ...
- Mac下安装VirtualBox并在VirtualBox中安装CentOS7
VirtualBox (百科)VirtualBox 是一款开源虚拟机软件.VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司Sun Microsystem ...
随机推荐
- NAT模式下用secureCRT连接虚拟机
VMWare制作学习系统,或布置模拟网络群组环境,已经比较流行. 注意主机端口要设置成为不同2122,虚拟机端口设置成22 笔者为了给项目组同事,提供一个练习ssh远程连接操作,及方便抓图交流的环境, ...
- fancybox 最基本的使用步骤
初步使用第一步 :引用js和样式 第二步 :设定要触发显示的元素(a标签,链接href指向div的id) <div><a href="#adddivtest" ...
- Git 一次性 pull push 所有的分支
/********************************************************************************* * Git 一次性 pull pu ...
- ;function($,undefined) 前面的分号是什么用处
;function($,undefined) 前面的分号是什么用处 ;(function($){$.extend($.fn...现般在一些 JQuery 函数前面有分号,在前面加分号可以有多种用途:1 ...
- Java笔记2-数据类型,变量,Java运算符
我们编写软件,目的是为了高效的操作(增,删,改,查)数据. 数据类型 1.基本类型(8种)byte 字节型 -128~127short 短整型 -32768~32767int 整型 -21474836 ...
- iOS常用设计模式和机制之Block简单使用
Block :block 实际上就是 Objective-C语言对闭包的实现 闭包(Closure):闭包就是一个函数,或者一个指向函数的指针,加上这个函数执行的非局部变量.闭包允许一个函数访问声明该 ...
- 分支语句 if的嵌套 循环语句
0930 今天学习内容做以下总结: 语句的分类:顺序语句,分支语句(选择,条件),循环语句 分支语句 格式1:if(表达式(要么是true 要么是false)){} 格式2:if(){}slse{} ...
- 认识CPU Cache
http://geek.csdn.net/news/detail/114619 7个示例科普CPU Cache:http://coolshell.cn/articles/10249.html Linu ...
- Python学习笔记——Day3
Python字典(Dictionary) 字典是一种可变容器模型,可存储任意类型对象. 字典的每个键值(key => value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花 ...
- STM32F4 SPI2初始化及收发数据【使用库函数】
我的STM32F4 Discovery上边有一个加速度传感器LIS302DL.在演示工程中,ST的工程师使用这个传感器做了个很令人羡慕的东西:解算开发板的姿态.当开发板倾斜时候,处于最上边的LED点亮 ...