热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

VMware联网模式解析和配置方式说明

VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。Bridged模式:在桥接模式下,VMware虚拟机里的系统就像是局域网中的一台独立的主机,它可以访问同一个网段内任何一台机器,即可以相互ping通。在桥接模

VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。

Bridged 模式:

在桥接模式下,VMware虚拟机里的系统就像是 局域网 中的一台 独立 的主机,它可以访问同一个网段内任何一台机器,即可以相互ping通。

在桥接模式下,你需要手工为 虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,就可以手工配置它的IP,DNS服务器,网关等信息,以实现通过局域网的网关或通过交换机访问外网。

连接方式拓扑图(相同颜色的表示能互相通信):

图中的局域网,可能由路由器或者交换机建立。

本地物理网卡和虚拟网卡通过虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位。

Vmware默认给虚拟系统提供了一个虚拟网卡(linux下默认为eth0设备),虚拟系统通过该网卡与外部通信。图中虚拟交换机由vmware 提供,其默认设备名为 VMnet0。

NAT 模式:

NAT 即 Network Address Translation 缩写,即网络地址转换,由 NAT服务完成,在vmware里默认为VMnet8虚拟交换机,它将虚拟系统的IP地址转换成宿主机的IP地址,从而借用宿主机访问其他主机。使用NAT模式,也可以让虚拟系统通过宿主机器所在的网络来访问公网。

在这种模式下,虚拟系统是不能被LAN内其他PC访问的(宿主机可以,稍后讲),只能虚拟机以宿主机的名义访问LAN内的计算机。默认情况下NAT模式的虚拟系统的TCP/IP配置信息由VMnet8(NAT)虚拟网络的DHCP服务器提供,因此采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。使用NAT方式时,宿主机(Windows)网络管理里会多出一块虚拟网卡,

名为VMware Network Adepter VMnet8 如下图:

(VMware Networl Adapter VMnet1是host only模式通信用网卡)

这块网卡是VMware虚拟提供的仅用来与虚拟系统通信的网卡,在windows下被直接连接到VMnet8虚拟交换机上 与 虚拟系统的网卡 进行通信。也就是说虚拟系统与宿主机的通信用到这块网卡,而 虚拟系统的上网功能,直接由NAT服务器提供,不经过这块网卡。

连接方式拓扑图(相同颜色的表示能互相通信):

图中的局域网,可能由路由器或者交换机建立。

实际上,VMware Network Adepter VMnet8虚拟网卡的作用就是为主机和虚拟机的通信提供一个接口,即使主机关闭该网卡,虚拟机仍然可以连接到Internet,但是主机和虚拟机之间就不能互访了,还有访问局域网内的其他计算机,也是通过NAT服务实现。

host-only 模式:

在Host-Only模式下,虚拟系统所在的虚拟网络是一个全封闭的网络,它唯一能够访问的就是宿主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet,即虚拟系统无法上网。在host-only模式中,所有(Vmware创建的多个虚拟系统)的虚拟系统是可以相互通信的,当然在NAT模式下也可以,但虚拟系统和真实的网络是被隔离开的,主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。

连接的网络拓扑图(相同颜色的表示能互相通信):

图中的局域网,可能由路由器或者交换机建立。

小结:

在VMware的3种网络模式中,NAT模式是最简单的,基本不需要手动配置IP地址等相关参数。至于桥接模式则需要额外的公网IP地址,ISP一般是不会这么大方,所以在局域网内很适用。

如果虚拟机想成为LAN中的成员,访问其他内网设备,比如其他计算机,嵌入式开发板等,那么虚拟机的模式应该选择Bridged 模式。

如果虚拟机想成为公网中的成员,即访问Internet,那么虚拟机的模式应该选择Bridged模式,但是需要网络服务商提供一个额外的IP(服务商不是SB)或者用路由器给虚拟机分配IP,

或者 直接选用NAT模式,必要时配置虚拟系统的IP,网关和DNS信息(一般默认既可)。

如果虚拟机想与LAN隔离,那么虚拟机的模式应该选择Host-only模式。

(目标:将IP设置为静态和上网 )

    由于host-only 模式与NAT方式很相似,对一般用户来说也用不到,而且笔者也从未尝试使用host-only模式,就不在这里介绍了,虚拟系统以Ubuntu10.04-LTS 为例,Vmware以 workstation 7.1为例,宿主机以windows7为例,并且假设系统已经装好。其他系统可以参考

Bridge 模式:

    打开 VMware 软件,在 Ubuntu 标签栏里找到"Devices"标签,然后双击 

"Network Adapter" 如下图

在弹出的对话框里选择 " bridged :connected directory to the physical network "

点击 " OK " , 自动退回到 第一个界面。

点击 " edit " ---- " Virtual Network Editor "

点击 最上面窗口的 " VMnet0 " 条目,在下面VMnet Information 里选 Bridged(默认),

点击 " Bridged  to "下拉框,选择一个合适的网卡,这里我用 有线网卡 作为bridge 对象。

这里说明一下,如果刚才在 上一步 的设置选中了replicate phycial connection state,这里可以选择

默认的 Automatic , 至于效果怎么样,没试过,可以尝试一下。


点击 " OK " 保存设置。

启动 虚拟机,运行 Ubuntu 系统。

    为了虚拟系统 和 windows 通信 、访问其他LAN 设备乃至访问 Internet,需要配置windows 和Ubuntu的网络。

    在windows下,需要修改有线网卡的IP地址(如果您刚才选择的是无线网卡或者其他网卡,那请对应修改。

Windows网络设置:

    开始 -- 控制面板 --- 网络和Internet ---- 网络连接 (或者其他方式都可以),在本地连接图标上 点击 右键--属性,在 Internet 协议版本 4(TCP/IP)上双击,选择 使用下面的IP地址,填写合适的IP,具体值跟您的网络环境有关,比如我就设置跟我的路由器同一个网段,IP 地址为 192.168.1.95 ,网关为192.168.1.1。

    如果上不了网,就手动设置DNS服务器地址,配置如图

 点击 " 确定 " 保存设置。

Ubuntu 网络设置 :

    现在来配置Ubuntu的网络,默认情况下,Ubuntu的IP和DNS是自动获取的。

这里改为静态,因为VMnet0并不提供DHCP服务。

打开终端 

输入: sudo  gedit  /etc/network/interfaces  

在 文件里 找到

auto eth0

iface eth0 inet dhcp 

//这两句,用#注释掉,没有就掠过

在下面有空的位置加入这几句:

auto eth0              

iface eth0 inet static

address 192.168.1.96

netmask 255.255.255.0

gateway 192.168.1.1

意思就是使用静态IP地址,address为IP 地址,IP地址要与windows同一个网段,

这里假设为 192.168.1.96,windows的为192.168.1.95

gateway 是网关地址,根据具体网络设置,这里设置为路由器的IP地址  192.168.1.1

修改完成后点击保存,关闭gedit 。

在终端 

输入 :  sudo  /etc/init.d/networking  restart    

输入 :      ifconfig  eth0

命令含义:    

//重新启动网络,使配置生效  

//查看网卡信息,如果显示地址为刚才配置 的地址,则说明配置成功,否则重试。

如果主机能上网,虚拟系统不能,则需要修改DNS

终端输入:  

sudo  gedit  /etc/resolv.conf

添加一条 nameserver 并输入与windows下 的DNS地址, 该地址可以在路由器中查到

示例:

nameserver 60.191.134.36

nameserver 60.191.134.37

保存后 重启 网络既可。

/******************************************************************************************/

测试网络:

在 ubuntu 终端输入 ping  windows主机IP 

例如出现这样: ping 192.168.1.95 

64 bytes from 192.168.1.95: icmp_seq=1 ttl=64 time=4.75 ms

64 bytes from 192.168.1.95: icmp_seq=2 ttl=64 time=0.291 ms

64 bytes from 192.168.1.95: icmp_seq=3 ttl=64 time=0.251 ms

在windows下输入 ping UbuntuIP

例如出现这样 : ping 192.168.1.96

来自 192.168.1.96 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.1.96 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.1.96 的回复: 字节=32 时间<1ms TTL=64

既可表示 虚拟系统 与 宿主机 windows 通信正常。如果有路由,此时虚拟系统也应该能够ping通路由器上其他LAN设备,其他设备也能访问虚拟系统.

NAT 模式:( 默认就行,这里介绍如何在这种模式下使用静态IP )

打开 VMware 软件,在 Ubuntu 标签栏里找到"Devices"标签,然后

双击 "Network Adapter" 如下图:

选择 NAT : use to share host's IP 

点击  '" OK " 保存 退出。

以上是默认的设置,如果以前没有配置过的话理论上虚拟系统就可以直接上网了。

此时Ubuntu 的网卡应该是 自动获取 IP 和 DNS 模式。

在 终端里输入:  

ifconfig eth0 

    既可查看到当前 IP,给windows的有线物理网卡设置一个IP值,比如 192.168.1.95 ,假设查到的Ubuntu IP 是192.168.183.116(每次登陆都会变),则应该可以互相ping通,方法在bridge模式里介绍过了。

由于 虚拟系统 默认是自动获取IP地址的,这就给虚拟机与主机通信带来了不小的麻烦,每次重启,都需要先查询一下Ubuntu当前的IP值,这是一件非常糟糕的事情,下面的方法将IP设置为 静态 。

在Vmware 主界面上 菜单栏 点击 " edit " ---- " Virtual Network Editor "

在中间的框里 点击  " VMnet8 " 条目,在下面VMnet Information 里选 NAT 方式。

    把 " Use local DHCP service to distribute IP address to VMs " 前面的钩钩去掉,即不用DHCP服务器,手动配置IP。

然后 点击  " NAT Setings "  , 查看当前 gateway 信息,并记录一下,然后关闭窗口

其中 我的 Gateway IP 192.168.183.2 也就是 Ubuntu 虚拟系统上网的 网关地址。

启动Ubuntu,然后

打开终端

输入: sudo  gedit  /etc/network/interfaces  

在 文件里 找到

auto eth0

iface eth0 inet dhcp      

//这两句,用#注释掉,没有就掠过

在下面有空的位置加入这几句:

auto eth0              

iface eth0 inet static

address 192.168.183.91

netmask 255.255.255.0

gateway 192.168.183.2

address 的地址要与 虚拟交换机VMnet8的IP在一个网段,比如前面 已经得到 VMnet8的地址是192.168.183.0,所以设置Ubuntu 的IP地址 为 192.168.183.x,这里示例为91。

gateway 是网关地址,设置为 刚才查到并记录的网关地址,这里为192.168.183.2

修改完成后点击保存,关闭gedit 。

在终端

输入:  sudo  gedit  /etc/resolv.conf

添加一条 nameserver 并输入与windows下 的DNS相同的地址, 该地址可以用dos命令 

 ipconfig   /all 查到。

示例:

nameserver 60.134.192.36

nameserver 60.134.192.37

在终端 

输入 :  sudo  /etc/init.d/networking  restart   

输入 :     ifconfig  eth0              //查看网卡信息,如果显示地址为刚才配置 的地址,则说明配置成功。

/******************************************************************************************/

测试网络:

打开 ubuntu 下的浏览器,能上网即表示Internet正常,或者用ping 命令 ping公网 地址。

测试通信:

在 ubuntu 终端输入 ping  windows主机IP 

例如出现这样: ping 192.168.1.95 

64 bytes from 192.168.1.95: icmp_seq=1 ttl=64 time=4.75 ms

64 bytes from 192.168.1.95: icmp_seq=2 ttl=64 time=0.291 ms

64 bytes from 192.168.1.95: icmp_seq=3 ttl=64 time=0.251 ms

在windows下输入 ping UbuntuIP

例如出现这样 : ping 192.168.183.91

来自 192.168.183.91 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.183.91 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.183.91 的回复: 字节=32 时间<1ms TTL=64

既可认为通信成功。


推荐阅读
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • Ubuntu系统下的GIF动画录制解决方案
    在撰写文章或教程时,GIF动态图能够有效地传达信息。对于Windows用户而言,ScreenToGif是一款非常实用的工具。而在Ubuntu系统中,用户同样拥有多种选择来创建GIF动画,本文将重点介绍两款录屏工具——Byzanz和Peek。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
  • 本文介绍了如何在不同操作系统上安装Git,以及一些基本和高级的Git操作,包括项目初始化、文件状态检查、版本控制、分支管理、标签处理、版本回退等,并简要提及了开源许可协议的选择。 ... [详细]
  • 如何在Mozilla Firefox中调整GIF动画的循环次数
    本文介绍了如何通过调整Mozilla Firefox的高级设置来控制GIF动画的播放次数,帮助用户根据个人喜好自定义浏览体验。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 一文详解Linux
    Linuxnetfilter与VRF实验环境如下图所示:配置如下:#!binbashsudoipnetnsaddns1sudoiplinkaddns1veth1typevethpe ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 16.04 系统上配置 Qt 5.5 的交叉编译环境,特别针对 i.MX6 平台进行了优化设置。内容涵盖从基本的软件安装到高级配置的全过程。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
author-avatar
EMBRACE-老王
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有