热门标签 | 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

既可认为通信成功。


推荐阅读
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • PHP 时间与日期工具类:星座、干支、生肖的实现
    本文介绍了一个PHP时间与日期工具类,涵盖了时区设置、有效日期和时间检查、星座、干支、生肖计算等功能。该工具类特别适用于需要处理中国农历及西方星座的应用场景。 ... [详细]
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社区 版权所有