探秘虚拟机Linux系统与主机之间的通讯方式 (虚拟机linux系统与主机沟通)

虚拟化技术的发展使得虚拟机成为越来越多企业和个人使用的资源共享和管理工具。在虚拟机技术中,虚拟机Linux系统是应用广泛的一种操作系统,在实际使用中,虚拟机Linux系统和主机之间的通讯方式成为了使用者普遍关注的问题。本文将从虚拟机Linux系统和主机的关系入手,介绍虚拟机Linux系统与主机之间通讯的方式及其原理。

一、虚拟机Linux系统和主机的关系

虚拟机Linux系统是基于虚拟化技术实现运行的操作系统,它能够在物理机上创建多个虚拟机,每个虚拟机相互独立,拥有自己的系统配置和运行环境。而主机是指物理机,是一立的计算机系统,拥有自己的操作系统和硬件资源。虚拟机Linux系统和主机的关系如下图所示:

虚拟机和主机的关系

二、虚拟机Linux系统和主机之间的通讯方式

虚拟机Linux系统和主机之间的通讯方式主要有以下几种:

1.虚拟网络

虚拟网络是虚拟机Linux系统和主机之间常用的通讯方式。虚拟网络是对物理网络进行的一种仿真,它在物理网络上创建一个虚拟的网络环境,虚拟机Linux系统连接到虚拟网络后,就能够通过虚拟网络进行与主机通信。虚拟网络通信的原理是通过虚拟交换机将虚拟机Linux系统和主机连接起来,实现虚拟机Linux系统和主机之间的相互通信。

2.端口映射

端口映射是一种将虚拟机Linux系统和主机之间的通讯流量映射到具体的端口上的方法。在虚拟机Linux系统中,可以开启服务或者应用程序,占用一定的端口号,此时只要在主机中指定一个端口号,就能够将流量映射到指定的端口上,实现虚拟机Linux系统和主机之间的通讯。

3.网络共享

网络共享是一种将虚拟机Linux系统的文件、目录或者存储设备共享给主机的通讯方式。在虚拟机Linux系统内设置共享文件夹,主机可以通过虚拟机Linux系统设定的共享文件夹路径访问共享数据。

以上几种方式都是虚拟机Linux系统和主机之间通讯的基本方式,接下来分别介绍各种方式的详细实现。

1.虚拟网络的实现

虚拟网络是虚拟机Linux系统和主机之间通讯的一种基础方式,它通过虚拟交换机建立虚拟网络,实现物理机和虚拟机Linux系统之间的互通。

虚拟交换机是一种虚拟网络设备,它通过创建虚拟网卡,将虚拟机Linux系统连接到交换机上。虚拟交换机可以设置多个网卡,以满足多个虚拟机Linux系统的互通。虚拟交换机的工作流程如下图所示:

虚拟交换机的工作流程

上图中,A、B、C、D表示四台虚拟机Linux系统,它们通过虚拟交换机建立了一个虚拟网络,其中交换机包括两个网卡,分别连接虚拟机A、B和虚拟机C、D。虚拟机A和虚拟机B之间的通讯流量通过交换机进行转发,虚拟机C和虚拟机D之间的通讯流量同样也是通过交换机进行转发。

虚拟网络是虚拟机Linux系统和主机之间通讯的基础方式,它能够提供稳定的通讯环境,并具有较高的传输速率。

2.端口映射的实现

端口映射是将虚拟机Linux系统和主机之间的通讯流量映射到具体端口上的一种方式,它可以满足大部分的通讯需求。

在虚拟机Linux系统中,可以开启服务或者应用程序,占用一定的端口号。例如,开启了HTTP服务的端口号是80,我们可以通过在主机中设置端口映射将HTTP服务器在虚拟机上的流量映射到主机的端口号80上,实现访问虚拟机Linux系统中的HTTP服务器。

端口映射的原理是在主机中指定一个端口号,将流量映射到这个端口上。在虚拟机Linux系统中设置应用程序对应的端口号,将通讯流量映射到主机指定的端口上。

具体实现端口映射的步骤如下:

1) 在主机上安装虚拟机软件,创建虚拟机Linux系统。

2) 在虚拟机Linux系统中开启一个应用或者服务,并占用一个端口号,例如HTTP服务的端口号为80。

3) 在主机中指定一个端口号,并将流量映射到虚拟机Linux系统的端口号80上。

4) 通过主机的浏览器访问指定的端口号,即可访问虚拟机Linux系统中的HTTP服务器。

3.网络共享的实现

网络共享是将虚拟机Linux系统的文件、目录或者存储设备共享给主机的通讯方式,通过网络共享,主机可以访问虚拟机Linux系统内的共享文件、目录或者存储设备。

网络共享的原理是在虚拟机Linux系统中设置共享文件夹,主机通过虚拟机Linux系统设定的共享文件夹路径访问共享数据。网络共享方式具有以下优点:

1) 数据共享方便,可以实现虚拟机Linux系统和主机之间快速的共享数据。

2) 数据复制方便,共享数据可以在虚拟机Linux系统和主机之间自由复制。

3) 数据保护安全,可以限制访问共享数据的用户或者用户组。

具体实现网络共享的步骤如下:

1) 在虚拟机Linux系统中设置共享文件夹,将需要共享的文件、目录或者存储设备设置为共享模式。

2) 在主机中访问虚拟机Linux系统设定的共享文件夹路径,进行数据的访问和复制。

三、结论

在虚拟化技术中,虚拟机Linux系统是一种应用广泛的操作系统,虚拟机Linux系统和主机之间的通讯是使用者常见的问题。本文从虚拟机Linux系统和主机的关系出发,介绍了虚拟机Linux系统和主机之间的通讯方式,包括虚拟网络、端口映射和网络共享三种方式的详细实现,旨在帮助读者更加深入的了解虚拟机Linux系统和主机之间的通讯原理,实现在虚拟机Linux系统和主机之间的快速、稳定的数据共享和管理。

相关问题拓展阅读:

虚拟机linux系统怎么访问宿主机,共享要怎么设置?

只要在宿主机里正常共享就行,虚拟机里的Linux可以通过b/cifs协议来访问宿主机,不过需要你安装一烂扰并个小工具bclient,通常这条命令在samba的软件包里,也可以通过桌面的文件管理器来访饥迹问,比如你的宿主机ip192.168.0.1共享了一个共享名为123的文件夹,那么就可以在文件管理器的地址栏里输入\\192.168.0.1\李桥123来访问了,前提是你的虚拟机里的Linux系统获得了ip地址

设置成同网段,宿主机共享,Linux里用mount命令挂载共享的文件夹就OK啦

ip设置掘改成同一网段,win共森散棚享,linux直接\\win ip 如果是传文件 推荐此则使用VMware tools

虚拟机LINUX与主机WINDOWS文件共享如何实现

Windows10中如何用自带虚拟机共享文件

装个samba

一般来说,安装samba后,有一个b.conf(配置文件)的例子,修改一下就好了。

WINDOWS下的网上邻居使用是NetBIOS协议,LINUX下使用功能强大的SAMBA可以实现与WINDOWS机子共享。下面具体就我的理解具体说一下。

首先当然是你必须安装了SAMBA

#apt-get install samba samba-common bclient bfs

其实使用SAMBA分成两个方面,一个是linux机子上的资源给WINDOWS机子浏览,再一个是使用LINUX 机子浏览WINDOWS 的网上邻居。现在假设使用WINDOWS的机子的IP是10.0.0.10,共享目录是music,用户名是:share,密码是:yeah;使用 LINUX机子的IP是:10.0.0.20

一 . 从LINUX上获取WINDOWS文件的基本方法(有3种方法)

1. bmount—普通用户就可以使用的命令

挂载文件

#bmount //10.0.0.10/music /home/user/music -o “username=share,password=yeah”

主意与下面的mount不一样的是-o后面一定要引号

卸载已经挂载的文件

#bumount /home/user/music

2. mount—超级用户才有的权限,但效果与上面一样

挂载文件

#mount -t bfs -o username=share,password=yeah //10.0.0.10/music /home/user/music

卸载文件

#umount /home/user/music

注:以上两个命令挂载要想显示中文,必须添加如下参数

codepage=cp936,iocharset=utf8(与linux机的本地环境一致,如是gb2312,这儿也要写成:iocharset=gb2312 ;codepage要与远程一致,是指定源代码文件的代码页—一个内>部表,操作系统用它将符号(字母、数字和标点)映射为字符编号。如932 代表日本汉字,950代表繁体中文字符集,说明一下就是codepage是cp936,而不是936,否则在有时显示汉字还是乱码。

3. 使用bclient访问Windows资源

它是一个类似于ftp操作方式,通过远程操作的方式进行文件传递的软件。为了获得网络上可以访问的计算机列表,首先需要使用 bclient来获得一个Windows计算机共享出来的资源,这需要使用-L参数访问IPC

#bclient -L 192.168.1.150 -N

或者机器名

#bclient -L hit -N

如果不清楚一个Windows计算机的NetBIOS名字,可以使用nmblookup先来解析NetBIOS名字

#nmblookup hit (若浏览网上邻居用:#nmblookup -T “*”)

当上面查到资源后,就可以用bclient登陆了

#bclient \\hit\music yeah -U share (其中yeah是密码,share是用户名)

执行bclient命令成功后,进入bclient环境,出现提示符:b: >,然后就可以执行和ftp命令中相似的命令:cd, lcd, get ,mget ,put ,mput等,用法就跟FTP一样了。

注:要想使用bclient来访问windows时,也需要使用UNC来标识Windows资源的位置。此时就需要了解 WindowsUNC在Unix>下进行表示的不同之处。不同之处在于Unix的shell下反斜线为特殊字符,它被定义为转义恢复字符,表示将一些转义字符恢复为其本身字符的意义。因此必须使用两个反斜线才能等同于一个反斜线。因此一个UNC实际使用时应使用双倍的反斜线。

若想使用基于图形的客户端:感觉比较好用的是tkb和b4k(KDE)

若只是以上使用不用配置/etc/samba/b.conf,也不用启动 samba 服务,甚至可以不装samba程序

二. WINDOWS机子访问在LINUX上的资源

需要使用两个进程:nmbd bd, 前者nmbd是提供WINDOWS浏览,后者bd是针对WINDOWS浏览后的登陆等服务。

首先需要说明的是,当samba 还没有添加用户时,WINDOWS机子是登陆不上来的,所以之一步就是添加用户:

# bpasswd -a myfirst

需要说明的是这个用户必须是系统用户,否则回提示

Failed to initialise SAM_ACCOUNT for user myfirst. Does this user exist in the UNIX password database ?

Failed to modify password entry for user myfirst

当然可以对用户进行映射,见后面说明。

接着就简单了,就是配置/etc/samba/b.conf,见下面一个配置以及相应说明,拷贝后您只需要稍稍修改一些你自己的信息就可以使用了(参考了前人的说明)

/etc/samba/b.conf文件

## /etc/samba/b.conf配置文件有三个重要的节:,,

#Global (全局)参数,该部分设置整个系统的规则,定义了一些公共变量。

netbios >#定义Windows系统“网上邻居”中所见的机器名。

workgroup = workgroup

#定义主机所在网络上所属的NT域名或者工作组名称

server string = FunField

#对主机的说明信息,缺省是:Samba Server

hosts allow = 192.168.1. 192.168.3.

#它允许设置哪些机器可以访问samba服务器

guest account = nobody

invalid users = root

#定义b用户名称。

security = user

#定义访问权限。访问权限由低到高有三种:share、user和server。其中share安全级别更低,user模式要求连接时输入用户名和口令

encrypt passwords = true

#设置是否需要加密口令。因为Windows系列默认采用加密口令传输,而Linux默认采用非加密口令传输,为保证b网络用户的正常登录,在user安全级下设置为加密,在share 安全级下可不设。

b passwd file = /etc/samba/bpasswd

#由命令cat /etc/passwd | mkbpasswd.sh > /etc/samba/bpasswd产生。

interfaces = 192.168.1.50/24

#配置b服务所使用的网卡IP以及子网掩码,如果有两个以上网卡,要全部列出。

name resolve order = host dns bcast

#设定b服务时,从机器netbios名称到IP地址的解析方式,默认顺序为host lmhosts wins bcast。如果局域网内有DNS,可设置为host dns bcast。

wins support = no

#设置是否有wins支持。

public = yes

#为yes时,“网上邻居”中可见该资源,否则不可见。

browseable = yes

#为yes时,“网上邻居”中可见该资源,否则不可见。

#printing = bsd

# 指定Linux使用哪个打印机守护进程(bsd、sysv、hpux、aix、qnx、plp),同时向samba说明命令lpr和lpq的缺省值。

#printcap ># 定义了打印配置文件所处的位置。

load printers = no

# 表明是否加载printcap 定义的所有打印机以供浏览。

log file = /var/log/samba/log.%m

# 定义日志文件

max log ‘size’ = 1000

#日志文件更大1000k (单位是KB)

username map = /etc/samba/buser

#允许管理员指定一个映射文件,该文件包含了在客户机和服务器之间进行用户映射的信息。 用户映射经常在windows 和linux 主机间进行。 两个系统拥有不同的用户账号,用户映射的目的是将不同的用户映射成为一个用户,便于共享文件。

#*********************************************************************#

#该部分通常定义了Linux机器上共享的目录资源,其名字可以由用户确定。段中的设置控制了每一个用户目录的共享权限。

comment = Home Directories

#设定在浏览本机资源时,出现在指定资源旁边的字符串。

browseable = yes

#控制一项服务是否能够出现在网上邻居中,no意味着这个目录将在浏览时显示为要验证的用户名称,yes则显示 homes 和要验证的用户名称的共享目录。

writable = yes

#控制是否允许通过验证的用户对主目录有写入的权限,但最终取决于该目录的 Unix 权限。无论 Unix 的权限怎样, 设置 writable = no 后, 主目录只能是只读的。

create mask = 0700

directory mask = 0700

#若上面是可写的,则设置写文件和目录时的属性

#******************************************************************#

#用来指定某一特定用户组或者用户拥有访问权限的目录配置分,配置共享目录部分

comment = Public Stuff

# 说明部分

path = /home/samba

#共享的Linux目录

writable = no

#写权限

printable = no

#打印权限

用于用户映射的文件/etc/samba/buser

# b.conf中全局参数 “username map” 指定的映射文件

root = admin administrator

#Map Windows admin to root

hawk = girl

#Map the member of girl to hawk

snake = boy

# 等号左边是单独的Linux账号,等号右边是要映射的账号列表。服务器逐行分析映射文件,如果提供的账号和某行有右侧列表中的账号匹配,就把它替换为等号左边的账号。

简单!!!

首先你的确定VMTools安装好没有。如果没有安装,在VMWare工具栏下:

setting->vmware tools install

然后切换到linux里面。在终端里:mount /dev/cdrom /mnt/cdrom

解压vmware tools的tar包,解开执行vmware-tools-install.pl脚本(命令:.\vmware-tools-install.pl)。

再者,要安装samba哦。一般如果你选择的全部安装都自动安装上了。

在windows下边共享要共享的文件夹。例如文件夹叫:sharefiles

然后在linux终端:

bmount //172.18.79.222/shareFiles /mnt -o username=user%password(用这个命令要安samba哦) 172.18.79.222和是我的主机IP。换成你的就OK。 user和password都是windows的啊。

如果安装好了,其实不需要共享可以直接从windows下面复制文件或文件夹到VM的linux里面。

win装linux虚拟机如何与主机共享文件夹

这个要分两大步来做:

以VMware

Workstation为例

(其他虚拟软件类似):

1.

在虚拟机设置里面蚂岩设置主机文件夹共享。

首先悄槐确认你的虚拟机安装了Vmware

Tools,并且已经在Linux里面设置了相应的用户访问权限,然后在关闭虚拟机,编辑虚机的属性:

选择

VM

>

Settings.

Options下面选择Shared

Folders.

各种设置默认即可,直接点击Add添加一个Shared

Folder

,启物友然后跟随wizard指定要共享给虚机的文件夹,比如

D:\share。

然后给这个文件夹设置一个在虚拟机里面的显示名称,如D-Share。

勾上“启用共享”,“只读”那里根据需要选择。

点击OK,确认。

2.

在Linux虚拟机里面装在共享文件夹。

现在开启Linux虚机。

在Linux下面,这种共享文件夹被识别为hgfs格式。因此开机后,可以使用下面的命令加载主机上的共享文件夹:

mount

-t

vmhgfs

.host:/D-Share

/home/userxx/d-share

这样在Linux的/home/userxx/d-share路径下,就可以看到Win7主机上面D:\share下面的文件了。

关于虚拟机linux系统与主机沟通的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 探秘虚拟机Linux系统与主机之间的通讯方式 (虚拟机linux系统与主机沟通)