VMware虚拟机三种连网原理简介

一、前言

        虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作系统软件。虚拟机根据它们运用和与直接机器的相关性分为两大类。系统虚拟机和程序虚拟机,系统虚拟机提供一个可以运行完整操作系统的完整系统平台,系统虚拟机如:VirtualBox ,VMware,等。程序虚拟机为运行单个计算机程序设计,程序虚拟机如:Java虚拟机(JVM)等。在windows平台,对于大多数个人用户而言,基本上是使用VMware,VirtualBox来搭建虚拟机,无论选用那种软件安装虚拟机,基本上都是三种连网方式,桥接(bridge),仅主机(host-only),NAT。桥接模式直接连接到物理网络,NAT模式用于共享主机ip地址,仅主机模式是宿主机和虚拟机专用网络。无论仅主机和NAT连网方式中,VMware都提供了DHCP服务。

 

二、虚拟机连网方式

2.1:桥接连网方式    

        VMware中提供的第一个连网方式。虚拟机通过其网卡桥接到宿主机活动网卡中,可给虚拟机手动分配一个和网络主机同一网络的ip地址。宿主机和其它设备通信时需要通过宿主机的活动网卡把数据转发出去,大体原理如下图所示:
1438236716280493.jpg

        虚拟机(guestA,guestB)通过各自的活动的虚拟网卡和宿主机hostA的活动网卡eth0相连,此时guestA,guestB与hostA同处于相同的网络,guestA,guestB对外通信时经过宿主机的eth0出去,但对于hostA之外的其它设备来讲,guestA和guestB如同接在同一个交换机下,并不知道其是否为虚拟机。当guestA访问guestB时,数据包从宿主机的eth0网卡出去,经过物理交换机Switch又返回到宿主机hostA的eth0网卡,hostA的eth0网卡再把数据包发往guestB。

2.2:仅主机连网方式

        VMware提供的第二种连网方式。虚拟机(guestA,guestB)通过各自的活动的虚拟网卡和VMware虚拟出的虚拟交换机连接,且虚拟交换机和虚拟网卡Vritual net1连接,Vritual net1是VMware专门虚拟出来用于仅主机连网方式的虚拟网卡。大体原理如下图:

1438237372966536.jpg

        虚拟机(guestA ,guestB)通过各自活动的虚拟网卡(eth0)连接到VMware虚拟出来的虚拟交换机端口上,其中某个虚拟交换机的端口和Virtual net1相连,虚拟机和宿主机可以双向通信,但虚拟机(guestA,guestB)不能和宿主机以为的其它主机通信。

2.3:NAT连网方式

        VMware提供的第三种连网方式,在仅主机的基础上(此时虚拟交换机连接的虚拟网卡不是Virual net1,而是Virtual net8),Virtual net8通过NAT地址转换方式把数据报发往宿主机(hostA)的eth0网卡,经由宿主机(hostA)的eth0网卡转发虚拟机(guestA,guestB)的报文出去。此时虚拟机可以和网络内的任一台主机通信。大体原理如下图:

1438237842550576.jpg

        在仅虚拟机连网的基础上,Virtual net8通过NAT方式把报文发给物理机的eth0网卡,借它通往外界,虚拟机此时和外网是相同的。

 

三、小结

        在windows平台下使用VMware连网时,三种连网方式各有其特点,对外虚拟机对外通信必过宿主机的活动的网卡。

原创文章,作者:成吉思汗,如若转载,请注明出处:http://www.178linux.com/6701

(1)
成吉思汗成吉思汗
上一篇 2015-08-03 00:04
下一篇 2015-08-04 12:45

相关推荐

  • N26-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -rfp /etc/skel/ /home/tuser1[root@localhost ~]# chmod 700 /home/tuser1 2、编辑/etc/group文件,添…

    Linux干货 2017-02-25
  • Vsftpd+MySQL实现虚拟用户验证登录

    一、安装所需要包和包组: 在数据库服务器上安装包: yum –y install mariadb-server mariadb-devel systemctl start mariadb.service systemctl enable mariadb 在FTP服务器上安装包pam_mysql centos7:无对应rpm包,需…

    Linux干货 2017-08-14
  • linux学习第二天知识点-linux入门及使用帮助

    一 基础命令 1. #ifconfig     显示或配置网卡的命令,英文全称是network interfaces configuring。     配置网卡的IP地址语法例:ifconfig eth0 192.168.0.1 netmask 255.255.255.0 2.&…

    Linux干货 2016-07-26
  • ansible

    ansible 安装ansible 查看当前的系统版本 yum install redhat-lsb-core -y [root@localhost httpd]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: C…

    Linux干货 2017-07-09
  • IO,用户与组管理,文件,目录权限管理

           文件统配匹配模式:元字符文件名通配符*匹配任意长度的任意字符[root@localhost ~]# ls /root/D*/root/Desktop  /root/Documents  /root/Downloads ?匹配单个任意字符[root@localhost ~]# …

    Linux干货 2016-08-05
  • 配置epl时,出现“time out”错误,解决办法

    一:配置环境、网络环境及出现的故障 1:配置环境 本机在配置epel仓库时,配置文件所在路径为/etc/yum/repos.d/centos7.repo.以下为配置文件的的详细内容 [base]name=centos 7.3baseurl=file:///misc/cdgpgkey=file:///misc/cd/RPM-GPG-KEY-Centos-7 […

    2017-06-10