详解虚拟机中的NAT网络连接方式

   我就个人对虚拟机的理解,把虚拟机上网最方便的也是最难理解的NAT方式和大家一起聊聊,因为是大话NAT,所以说的会罗嗦点,不过主要是照顾新人。:)

  老鸟就赶快飞吧 呵呵

  先说一点别的,做为引子

  假设现在R老师带3个班的学生,分别为a班、 b班、 c班 。现在就出现了两个交流方式:

  第1种交流方式:

  本班内交流,比如说a班的一个同学想和另一个同学交流,就可以直接在班里喊那个同学的名字。这个就向计算机内的同一个网段的计算机的交流方式-广播。

  第2种交流方式:

  班与班之间的学生交流,这个时候在a班里面直接喊b班同学名字就没作用了,因为隔着墙,根本就听不见。这个类似不同网段的计算机没办法通信。这个时候两个班的学生要是想交流必须要通过R老师来做传话人。这个类似于网络里的网关。a班的同学把要说的话告诉R老师,R老师把话转告给b班的同学。

  我们把这个例子对接到网络学习里,方便大家理解

  学校=互联网

  班=网段

  学生=计算机

  老师(传话人)=虚拟的NAT服务器

  不好意思 女朋友叫我上街 ,先写到这,下次接着写

  还有什么虚拟机的知识, 要我大话的,请在下面跟贴说明

  对不起大家了,我回来晚了 接着上次的写

  虚拟机用NAT上网的方式和我举例子中的第2种交流方式很相似。

  桥接则和第1种交流方式非常吻合。

  比如说你安装了虚拟系统并且选择是Nat模式,虚拟的NAT服务器就象R老师的作用一样。负责虚拟机(a班的同学)和因特网上的计算机(c班的同学)通信。

  画个小图1给大家说明


  有了图就说的方便多了

  nat的上网方式的特点

  1.主机的虚拟网卡不用设置(默认为自动获得)

  2.虚拟系统中的网卡不用设置(默认为自动获得)

  这条两个实现的前提是虚拟的dhcp服务器正常工作 给大家图2


  在看一个关于nat的图3


  看了这个3个图后,大家基本上也就明白了。但是这样没有说服力,下面我再来做个解释

  其中192.168.2.2相当与R老师的地位,在图1就标有虚拟NAT服务器

  图3规定了NAT的ip地址。

  主机的ipconfig 图4


  虚拟机的ipconfig图5


  现在用一个命令trcert 说明虚拟机上网是通过NAT服务器 192.168.2.2

  Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。

  我们现在在虚拟机上trcert 百度 看看虚拟机的数据包书如何到达baidu.com

  看看里面有没有192.168.2.2(虚拟的nat服务器)

  VMware虚拟网络相关知识

  1.虚拟网桥

  通过虚拟网桥把虚拟机的虚拟网卡连接到宿主机的物理网卡上。通过它可以将虚拟机连接到宿主机所在的外部网络。如果宿主机上不止是一个物理网卡时,采用定制配置,创建另外的虚拟网桥用来连接宿主机上的其它物理上网卡。

  2.宿主机虚拟网卡

  安装完虚拟机后,我们右键“网上邻居” /属性 /在打开的“网络连接”窗口里看到两块网卡,默认情况下“VMware Network Adapter VMnet1”供仅宿主机网络使用;“VMware Network Adapter VMnet8”供NAT网络使用。右键这两个网卡的属性,我们可以在常标签下看到虚拟网卡的全称。当然我们也可以在宿主机的“命令提示符”中输入ipconfig获知宿主机虚拟网卡的详细信息

  3.NAT设备

  NAT是网络地址翻译的简写。当宿主机在外部只拥有一个IP时,利用NAT设备,虚拟机可以连接到该外部网络,我们打开宿主机上的“管理工具”里的“服务”,可以发现多出了一个“VMware NAT Service”服务,说明系统已经将它安装为系统服务。

  4.VMware DHCP服务

  DHCP是动态主机配置协议简写。DHCP服务为没有桥接到外部网络的虚拟机提供IP地址。采用桥接网络模式的虚拟机IP地址就是直接由宿主机所在外部网络的DHCP服务器提供的。

  [原创]VMware提供的虚拟网卡图示一些初学者对VMware虚拟机中的桥接、VMnet1(仅host方式)、VMnet8(NAT方式),我把VMware各网卡的意义做了三张图,希望对大家有所帮助。

  显示不全,请大家另存观看。

  图6

时间: 2024-10-17 20:17:41

详解虚拟机中的NAT网络连接方式的相关文章

详解ListView中多种item的实现方式

大家都知道在实际开发时,对ListView的使用比较频繁,其表现也非常复杂.本文将通过实例介绍ListView中多种item的实现方式,下面来一起看看吧. 使用ListView一般步骤: 设置显示的ListView,设置显示的每一项item的view布局文件 设置每个item显示的数据 将数据显示的View中,继承BaseAdapter,重写getCount() , getItemId() , getItem() , getView()这个四个方法: 如果实现ListView的多种类型item的

详解Android中的Service

Service简介: Service是被设计用来在后台执行一些需要长时间运行的操作. Android由于允许Service在后台运行,甚至在结束Activity后,因此相对来说,Service相比Activity拥有更高的优先级. 创建Service: 要创建一个最基本的Service,需要完成以下工作:1)创建一个Java类,并让其继承Service 2)重写onCreate()和onBind()方法 其中,onCreate()方法是当该Service被创建时执行的方法,onBind()是该S

详解Android中图片的三级缓存及实例

详解Android中图片的三级缓存及实例 为什么要使用三级缓存 如今的 Android App 经常会需要网络交互,通过网络获取图片是再正常不过的事了 假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量.在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响 特别是,当我们想要重复浏览一些图片时,如果每一次浏览都需要通过网络获取,流量的浪费可想而知 所以提出三级缓存策略,通过网络.本地.内存三级缓存图片,来减少不必要的网络交互,避免浪费流量

举例详解Python中smtplib模块处理电子邮件的使用

  这篇文章主要介绍了举例详解Python中smtplib模块处理电子邮件的使用,是Python入门学习中的基础知识,需要的朋友可以参考下 在基于互联网的应用中,程序经常需要自动地发送电子邮件.如:一个网站的注册系统会在用户注册时发送一封邮件来确认注册;当用户忘记登陆密码的时候,通过邮件来取回密码.smtplib模块是python中smtp(简单邮件传输协议)的客户端实现.我们可以使用smtplib模块,轻松的发送电子邮件.下面的例子用了不到十行代码来发送电子邮件: ? 1 2 3 4 5 6

详解Lua中的元表概念

  这篇文章主要介绍了详解Lua中的元表,是Lua入门学习中的基础知识,需要的朋友可以参考下 元表是一个表,有助于改变它连接到一个密钥集和相关的元方法的帮助下表的行为.这些元方法是强大的lua功能,如: 更改/添加功能,以运算符表 查看metatables当钥匙不在使用__index元表中的表可用. 有迹象表明,在处理metatables其中包括使用了两种重要的方法, setmetatable(table,metatable): 这个方法是用来设置元表的一个表. getmetatable(tab

详解js中构造流程图的核心技术JsPlumb(2)_javascript技巧

前言:上篇详解js中构造流程图的核心技术JsPlumb介绍了下JsPlumb在浏览器里面画流程图的效果展示,以及简单的JsPlumb代码示例.这篇还是接着来看看各个效果的代码说明. 一.设置连线的样式和颜色效果代码示例 大概的效果如图: 这些效果看着很简单,那么,我们如何用代码去实现它呢.上章我们说过,JsPlumb的连线样式是由点的某些属性决定的,既然如此,我们就通过设置点的样式来动态改变连线的样式即可.来看代码: 首先来看看连线类型的那个select <div id="btn_line

Linux NAT网络连接权威指南及基本流程与实现技巧

Linux NAT网络连接权威指南 [1]准备工作,写在前面 1.1)检查服务(cmd>>services.msc,我用的是VM) 附:Netfilter与ip_conntrack Netfilter Linux的协议栈仅仅实现了基本的协议操作,对应TCP/IP标准,Linux的协议栈仅仅实现了一个最小集.其余的所有扩展几乎(并非所有!还有一部分由net schedule实现)均由Netfilter来实现,包括:IP Firewall,IP NAT,IPSec,IPVS等. ip_conntr

详解Python中的type()方法的使用

  这篇文章主要介绍了详解Python中的type()方法的使用,是Python入门中的基础知识,需要的朋友可以参考下 type()方法返回传递变量的类型.如果传递变量是字典那么它将返回一个字典类型. 语法 以下是type()方法的语法: ? 1 type(dict) 参数 dict -- 这是字典 返回值 此方法返回传递变量的类型. 例子 下面的例子显示type()方法的使用 ? 1 2 3 4 #!/usr/bin/python   dict = {'Name': 'Zara', 'Age'

详解Python中的序列化与反序列化的使用

  这篇文章主要介绍了详解Python中的序列化与反序列化的使用,针对pickle和cPickle对象进行了探究,需要的朋友可以参考下 学习过marshal模块用于序列化和反序列化,但marshal的功能比较薄弱,只支持部分内置数据类型的序列化/反序列化,对于用户自定义的类型就无能为力,同时marshal不支持自引用(递归引用)的对象的序列化.所以直接使用marshal来序列化/反序列化可能不是很方便.还好,python标准库提供了功能更加强大且更加安全的pickle和cPickle模块. cP