有关虚拟机的三种网络模式

这其实是一个比较重要的话题,毕竟学这些东西什么的,都会用到虚拟机,但是很多人都对这个一知半解。甚至是许多学习有一些时间的人,也只是不出问题的情况下,能用,一知半解,出了问题直接歇菜(我)。我的话,经常是,东西没学几分钟,先要当上半个小时网工(笑),所以决定稍微的来总结一下,当然,毕竟是我嘛对吧,所以总结的也有很多不足~不过在开始稍微认真的深究里面一些奇怪的现象之后,也发现了好多自己忽视的问题,所以,let's go~

主要以使用最多的VMware Workstation来进行说明(VMware Workstation兼容Vmware Fusion),当然Virtual Box有一个模式是VMware Workstation没有的,也会讲到。
这里的版本是VMware Workstation Pro15,其兼容Windows与Linux平台
对网络模式这种东西的了解,你可以:
1.练死劲,自己慢慢摸索~当然传统功夫是讲究化劲的,四两拨千金
2.在线查看VMware的官方文档:https://docs.vmware.com/cn/VMware-Workstation-Pro/index.html(所有产品文档:https://docs.vmware.com/cn/)
3.下载VMware Workstation Pro15的文档本地观看~:https://docs.vmware.com/cn/VMware-Workstation-Pro/15.0/workstation-pro-15-user-guide.pdf
这个文档对网络配置的主要描述都在第九章

本篇的绝大部分,都将参考Vmware Workstation Pro15用户使用手册,所以自己去看可能比看我的收获更大
好的,现在开始~

VMware Workstation Pro 会提供的网络组件及其解释
Vmware Workstation Pro 会提供以下组件用于虚拟网络构建:虚拟交换机,虚拟网络适配器,虚拟DHCP服务器,NAT设备

虚拟交换机又称为“虚拟网络”,VMware Workstation会给其命名:VMnet0,VMnet1,VMnet2……
其中有几个交换机会被默认映射到特定的网络

VMware Workstation最多能在 Windows 主机系统上创建 20 个虚拟交换机,在 Linux 主机系统上创建 255 个虚拟交换机。可以将任意数量的虚拟网络设备连接到 Windows 主机系统的 虚拟交换机,最多将 32 个虚拟网络设备连接到 Linux 主机系统的虚拟交换机。

创建新的虚拟机时,VMware Workstation会为虚拟机创建一个虚拟网络适配器。在 Windows Vista、Windows 7 和 Windows 8 客户机操作系统中,该适配器为 Intel Pro/ 1000 MT 服务器适配器。在 Windows 8.1 和 Windows10 客户机操作系统中,该适配器为 Intel 82574L 千 兆位网络连接。 (未知情况下也会是:AMD PCNET PCI 适配器)
Workstation 6.0 及更高版本的虚拟机最多可以有 10 个虚拟网络适配器。Workstation 5.x 虚拟机仅支持三 种虚拟网络适配器。

DHCP 服务器可在未桥接到外部网络的配置中向虚拟机提供 IP 地址。
NAT 设备可在一个或多个虚拟机以及外部网络之间传送网络数据,识别用于每个虚拟机的传 入数据包,并将它们发送到正确的目的地。

NAT模式
这是最常用的模式,也是VMware Workstation创建虚拟机时默认的网络模式
先不废话,上图

官方手册的这张图非常完整的阐释了nat模式的网络拓扑
使用 NAT 模式网络时,虚拟机在外部网络中不必具有自己的 IP 地址。主机系统上会建立单独的专用网络。虚拟机会在此专用网络中通过 DHCP 服务器获取地址。虚拟机和主机系统共享一个网络标识。NAT 工作时会将虚拟机在专用网络中的 IP 地址转换为主机系统的 IP 地址。当虚拟机发送对网络资源的访问请求时,它会充当网络资源,就像请求来自主机系统一样。
关于nat的具体协议功能描述就不在这里讨论。但重要的是,nat网络模式下,虚拟机和宿主机可以互相通信,互相访问,但是对于和宿主机一样处在同一局域网中的真实主机只能由虚拟机访问其他真实主机,而局域网中的真实主机无法访问nat网络模式下的虚拟机
这一点也很好理解,nat的网络转发就好像一道只允许外开的门,内部的访问会被放行转发,也因为转发时会记录端口,也可以收回来。但是外部的访问无法寻找在nat网络模式下的任何设备。nat网络模式下,其中的网络结构完全是对外部隐形的,只允许出,不允许进(笼统概括)。其实这也是有好处的,nat这个样子就相当于提供了一层防火墙,不允许外部访问
但是为什么宿主机就可以访问虚拟机了呢~其实这个仅限VMware Workstation………………Virtual Box就无法默认情况下宿主机访问虚拟机。这是因为,还是上面的拓扑图,完整的应该这个样子(吧)

宿主机可以直接连通VMnet8的交换机,这一点在宿主机上查看路由也能看到

可以直接路由到192.168.80.0/24网段
但是Virrtual Box就不行,看上面,VMware Workstation中,宿主机和nat模式下的虚拟机通信依靠VMnet8虚拟交换机直接进行通信。但是Virtual Box的nat会正常走nat设备转发流量(不存在“VMwareの专线”),所有的流量都由nat设备直接往物理网卡上转发,当然,这样直接访问宿主机的流量是可以直接被送到的,但是宿主机对虚拟机的直接访问无法送达,因为直连路由是不存在的,也不能通过nat设备这个“单向往外开的门”发数据进去。
同样的,局域网中其他的真实主机也一样,他们要去访问nat网络下的虚拟机,惟一的入口只能是:局域网路由器->宿主机网卡->nat设备->虚拟机。但是,宿主机网卡表示自己也进不去nat里面,所以他们无法直接访问虚拟机
这个时候,“Virtual Box,局域网真实主机访问nat网络下的虚拟机,宿主机访问nat网络下的虚拟机”,“VMware Workstation,局域网真实主机访问nat网络下的虚拟机”问题相同,所以解决办法也相同:端口映射
端口映射具体也不在这里赘述,简单说,比如Virtua Box的宿主机要ssh到nat网络下的虚拟机,ssh进不去,原因很简单,就是宿主机物理网卡没有路由到虚拟机中,而nat又把你给挡住了。那么,在Virtual Box中提供的虚拟机端口映射选项中指定宿主机的一个端口,比如说12345端口,监听这个端口,将发送到这个端口的流量尝试转发给虚拟机的22端口,这就是端口映射。虽然并没有制造出一条很好用的路由通路,但是可以让特定流量越过nat,直接由物理机网卡转发给虚拟机。再比如,nat网络模式下的虚拟机配置了web服务,要让局域网中的真实主机访问这个web页面怎么办,就可以端口映射,比如将宿主机的8080端口映射给虚拟机的80端口~

这里演示一下使用VMware Workstation端口映射使同一局域网下的主机可以访问nat模式下虚拟机的web服务
先找到VMware Workstation的虚拟网络编辑器

要对虚拟网络编辑器进行高级修改需要拥有管理员权限,推荐win10普通用户在VMware Workstation的快捷方式里面添加以管理员权限运行,就不用每次多点一下了

好的,我多点了一下(安全安全~),选中VMnet8,然后选择“nat设置”

在这里,就可以添加端口转发规则了

设置好了~

然后试一下

本机可以直接访问,意料之内,试一试局域网的(可以互相访问的大网络中的)其他的机器
可以ping通宿主机(校园网,校友不要霍霍我)

看看可以不可以访问

ok,成功~没问题~不过,访问的一定是宿主机的8080端口,端口映射~
完美解决~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

对了,还有一件事,NAT模式的虚拟网络,一台宿主机上只能有一个,这个原因应该是VMware Workstation没法生成第二个虚拟NAT设备了吧

NAT模式的网络连通性讲完了,下来还有一个及其重要的事情

NAT与仅主机模式(host-only)下的DHCP分配约定
说他极其重要,是因为………………
之前那个非常让我恼火,整了不知道多久的奇怪事情……xhsell连上虚拟机之后虚拟机断网……这个奇怪的东西,终于找到原因所在了
先看一下文档中对这个是怎么描述的

默认情况下,NAT虚拟网络中有三个重要的虚拟设备,他们分别会有一个地址。VMnet交换机:192.168.*.1。NAT设备:192.168.*.2。DHCP服务器:192.168.*.254 。其中,网络正常的情况下,可以ping通VMnet交换机和NAT设备。
这里有一个令人很迷惑的事情,VMware Workstation网络的默认情况下,NAT模式,被DHCP分配地址的虚拟机会发现自己的网关地址是192.168.*.2??????????????而不是192.168.*.1VMnet交换机的地址?????????????????????
这为啥?????????????????????????????????????????
后来,查阅官方手册,有以下的描述(也就是上面说的)

发出这个疑问的我当时并不很了解整个NAT模式的网络拓朴,在我的印象里,不存在“NAT设备”这么一说,VMnet8一个设备肯定就直接转发数据出去了…………所以当时设置虚拟机网络的时候,我手动将NAT设置里面的网关改为了192.168.*.1,我看见里面的192.168.*.2还以为是写错的呢~~~~~~~然后,就因为我这样子改了,出现了xshell连上虚拟机就断网这种情况…………
其实192.168.*.2作为网关也很好想,就看上面的NAT拓扑。数据转发出去,肯定是NAT设备转发的对吧,所以网关肯定就是NAT设备,所有流量就找他呗

这里还有一个需要知道的,在手册里是这样子描述的(就在上个图的下面位置)

DNS服务器除了会给虚拟机分配ip之外,也会分配网关和DNS服务器地址,而这个DNS地址会是NAT设备的地址,也就是网关地址。这就让所有的数据发送给DNS服务器,再由DNS服务器转发出去,如果是DNS请求,也会发给NAT设备,再由nat设备重新转发给已知的DNS服务器(DNS代理)
这个是想在这里说什么呢,就是,如果更改了DHCP的配置的话,导致他下放给虚拟机的信息就会有变化,以及DHCP服务器本身的IP也会变化
这个配置的更改在虚拟网络编辑器中,DHCP设置,可以更改分配的网络号和租约

以及,在nat设置中,可以更改网关和DNS服务器的设置

至于为什么xshell会让虚拟机断网……
真相只有一个!让我来分析吧!(注:这里的一些东西对我来说依然是有争议的,所以可能有错,正在探讨中)
首先,来抓个包。wireshark抓包Vmnet8,现在的状态是没有开启任何一个虚拟机,所以VMnet8中静悄悄的,什么都没有……
现在,打开我的Initialization 虚拟机!!!!
首先肯定是有虚拟机对DHCP服务器的地址请求………………诶诶诶,出现有意思的了


有趣的来了,虚拟机请求到DHCP服务器给他的信息后,将网关地址写进ARP表,然后对网关的MAC地址进行更新和绑定,这时候,ARP发出,“谁是192.168.80.1这个网关啊~”,有两个人回复了!!!!
稍微一想,谁回复的呢,只有可能是VMnet8和NAT设备他们两个了
再往下看……

查一下宿主机的MAC地址,这个C0-00-08就是VMnet8的MAC地址。很显然,VMnet8作为交换机(三层),发现了有两个设备使用192.168.80.1这个IP地址在网络里通信了。
这个时候在虚拟机上面查看arp表

嘿嘿,这个时候虚拟机记录的192.168.80.1的MAC地址是NAT设备的地址。所以这个时候是可以访问外网的

连通的,但是,只要宿主机ping一下虚拟机,或者!!!xhell连接一下虚拟机,这个arp表瞬间就会有变化

直接变成了VMnet8的MAC,这个时候再去访问外网,已经不行了。而且就算再把虚拟机上面的ARP表清空,重启网卡,也访问不了外网了,这个极有可能是VMnet8控制了接口,发现还有一个192.168.80.1之后,直接拒绝转发数据给另一个192.168.80.1了(不靠谱的猜测,但是明显VMnet8可以发现另一个192.168.80.1,所以它能发出ARP查询),所以会发现NAT设备好像是不会回ARP请求的,VMnet8中能够抓到虚拟机发出询问谁是192.168.80.1的ARP请求,但是一直只有VMnet8回复,网关的MAC就被VMnet8锁死了
这个时候使用DHCP重新获取信息的话,是可以得到正确的网关MAC的(),有那么一瞬间可以正常访问外网的,但是,!!!这个对网关ARP的间隔相当小(大概十秒!为什么啊!!!),只要发出ARP,MAC立刻就被换过来了
综上,很让人气愤的问题,大概知道全部的原因了……啊啊啊啊啊啊啊啊啊啊啊啊啊啊

其实为什么我非要把他设成192.168.80.1(除了当时我不知道NAT设备的原因),……那还用说!网关不都是.1看着比较舒服吗!
是有办法把网关设成.1的地址的,其实也很好理解过程,既然DHCP可以下放正确的信息,而且可以改自己和下放的地址,那么只要VMnet8的地址和DHCP给的NAT设备(网关)地址不冲突就可以了,相亲相爱,谁也不乱动谁,说白了VMnet8就可以是个透明设备
那么,在Win10的网络设置里面把VMnet8地址改为192.168.80.2

NAT设置里面的东西不动,也就是网关还是192.168.80.1。现在直接虚拟机发送DHCP请求,然后检查网络
nmcli,网关,ok

arp,ok,现在是两个设备和平共处~

访问外网,DNS解析,ok

完美解决~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

点赞
  1. makeup app说道:

    I loved as much as you'll receive carried out
    right here. The sketch is tasteful, your authored subject matter stylish.

    nonetheless, you command get bought an edginess over that you wish be delivering the following.
    unwell unquestionably come further formerly again since exactly the same nearly very often inside case
    you shield this hike. https://forum.findukhosting.com/index.php?action=profile;area=summary;u=16710

  2. Как войти на гидру? Данным моментом озадачены все участники гидры, каждый день необходимо искать работающее зеркало гидры т.к. изо дня в день зеркала банятся правительством и входа к online-ресурсу не существует, использовать VPN непросто и недешево, тор на британском языке, что тоже не всем подходит. Преднамеренно для максимального упрощения этой задачи мы спроектировали наш сайт. Для открытия hydra официальный сайт Вам надо зайти по действующему рабочему зеркалу показанному перед этим либо скопировать ссылку для тор браузера которая также показана на нашем сайте и раскрыть ее в тор браузере, после чего пройти регистрацию, дополнить счет и радоваться приобретениям. Не забывайте содействовать совершенствованию ресурса обмениваетесь представленным интернет-ресурсом с товарищами и родственниками.

  3. homepage说道:

    I don't know whether it's just me or if perhaps everybody
    else experiencing issues with your website. It seems like some of the text in your content are running off tthe screen.
    Can someone else please comment and llet me knnow if this is
    happening to them as well? Thhis may be a issue wwith
    my infernet briwser because I've had thiis happen previously.
    Thanks
    homepage

  4. What's up, after reading this amazing article i am too
    happy to share my familiarity here with friends. http://web11.ch/index.php/blog-k2/blog-single

  5. speedo flipturns说道:

    Hello mates, its fantastic article regarding cultureand entirely defined,
    keep it up all the time. http://halegoo.s20.xrea.com/x/bbs/apeboard_plus.cgi

  6. visit website说道:

    I was wondering if you ever thought of changing the page layout of your website?
    Its very well written; I love what youve got to say. But maybe you could a
    little more in the way of content so people could connect with it better.
    Youve got an awful lot of text for only having one or two images.

    Maybe you could space it out better?

  7. Hi all, here every person is sharing such knowledge, so it's nice to read this web site, and I used to go to see this blog daily.

  8. I am really thankful to the owner of this web page who has shared this fantastic post at at this place. https://www.eternityhomesllc.com/

  9. weight loss说道:

    Schoene Webseite, ich komme mal wieder vorbei.

  10. Abraham说道:

    Asking questions are really pleasant thing if you are
    not understanding something fully, but this paragraph
    gives pleasant understanding yet.

  11. กติกาการเล่น สล้อตนั้น สามารถทำความเข้าใจได้อย่างง่ายๆเพียงแค่จ่ายเงินเดิมพันตามงบ ที่พวกเรามี รวมทั้งการสปิน 1
    ครั้ง เท่ากับ 1 การเดิมพัน เมื่อใดที่ถูกรางวัล ระบบก็จะกระทำคำนวณรางวัล และแสดงผลลัพธ์ ให้มองเห็นได้อย่างแจ่มแจ้ง กับเพิ่มเงินในช่องเดิมพันให้ทันที ด้วยเหตุนั้นผู้เล่นไม่ต้องทำอะไรมาก เพียงแค่ ลงเงินพนัน กดสปิน หลังจากนั้นก็คอยให้ระบบจัดการเอง

  12. Aracelis说道:

    No matter if some one searches for his necessary thing, so he/she wants
    to be available that in detail, therefore that thing is maintained over here.

  13. 마루마루说道:

    Excellent beat ! I wish to apprentice even as you amend your site, how could i subscribe for a blog website?
    The account aided me a applicable deal. I have been a little bit familiar of this your
    broadcast offered bright transparent idea

  14. qqdewa online说道:

    Quality articles is the key to invite the people to visit the website,
    that's what this site is providing.

  15. SEO Sorcerer说道:

    Great goods from you, man. I've take into account your stuff prior to and you're just extremely great.
    I really like what you have obtained here, certainly like what you're saying
    and the way wherein you assert it. You make it entertaining and you still
    care for to keep it wise. I cant wait to read much
    more from you. That is really a tremendous site.

  16. bandarq说道:

    Valuable information. Fortunate me I found your site accidentally, and I am stunned why this accident did not happened in advance!
    I bookmarked it.
    bandarq

  17. Getting ths new quest to the game has actually
    managed to create some hype across the recreation.

  18. samsung vr说道:

    If some one wants expert view concerning blogging and site-building after
    that i recommend him/her to go to see this webpage, Keep up the good job. https://www.weddingbee.com/members/thomas2541/

  19. gratis masker说道:

    I don't even know how I ended up here, however I believed this publish used to be good.
    I do not realize who you're but certainly you're going to a well-known blogger
    for those who are not already. Cheers!

  20. developer说道:

    It's hard to come by well-informed people in this particular topic, but you sound like you know what you're talking about!
    Thanks

  21. Youtubers and Discord servers desktops and objects by the
    end of one Bitcoin. If one community goes down the cash
    nonetheless is in the interest of buyers. Traders the drop happened fast and
    we should not fall into a simple concept. The nice performance numbers some buyers to concern they've missed out on the growth.
    The member who initially solves the puzzle gets the opportunity to try it
    out. Traders who suppose this is the primary-ever decentralized global digital monetary buying and selling can be.

    The Securities and what they declare traders should know what role do charts play
    in trading. Traders might feel for Bitcoin's ups and downs in Bitcoin trading like studying monetary
    magazines commerce. Traders won't use URL shortening companies all
    the time submit the actual life problems. You might use these transactions for malicious functions to purchase illicit items and services on-line as effectively.
    After all there's no single central point of authority or banks managing
    transactions. That's produced by a central repository or single administrator
    the U.S stock market. Decentralizing away from the gold market investments are highly versatile in Bitcoin transactions.

    Hotspot listed here are some key innovations from blockchain and intelligent AI and blockchain.

  22. If you want to take a great deal from this article then you have to apply such techniques to your won website.

  23. For hottest information you have to go to see world-wide-web and
    on world-wide-web I found this site as a most excellent site for most recent updates.

  24. Unblocked说道:

    It's remarkable to pay a visit this site and reading the
    views of all mates regarding this piece of writing, while I am also zealous of getting know-how.

  25. SA Gaming หรือ เอสเอเกมมิ่ง
    คาสิโนออนไลน์แบรนด์ดังยอดนิยมที่ไม่ว่าคุณจะเข้าไปในเว็บไซต์คาสิโนออนไลน์ใดก็ต้องเจอชื่อของ SA Gaming อยู่ในนั้นแน่ๆ SA คือค่ายเกมที่ได้รับรางวัลคาสิโนเยี่ยมยอดด้วยต้นแบบการให้บริการถ่ายทอดสดคาสิโนออนไลน์ที่มีภาพและก็เสียงคมชัด และก็หน้าจอการพนันที่ใช้งานง่ายมีตัวอักษรรวมทั้งเสียงเล่าภาษาไทยชี้แนะขั้นตอนการพนัน และก็โต๊ะบาคาร่าอีกกว่า
    50 โต๊ะให้คุณเลือกเข้าวางเดิมพัน

    ไม่เพียงเท่านั้นรางวัลคาสิโนออนไลน์ของ SA มิได้มาด้วยเหตุว่าโชคช่วย คาสิโนออนไลนืที่นี้มีความพิเศษตรงที่ว่า คุณสามารถเลือกมุมมองโต๊ะพนันได้ด้วยตัวเองทั้งยังระยะใกล้ ระยะไกล เพิ่มโต๊ะพิเศษให้คุณเปิดไพ่ลุ้นได้ด้วยตัวเอง และที่ล้ำยุคสุดๆก็คือฟังก์ชั่นวางเดิมพันพร้อมกันหลายโต๊ะ ที่ให้โอกาสให้ท่านสามารถเข้าวางเดิมพันบาคาร่าออนไลน์ถึง 4 โต๊ะได้พร้อมเพียงกันใน
    1 จอ พูดได้ว่าทำกำไรคูณสี่เลยทีเดียว

  26. 魚樂齋说道:

    这留言....

bandarq进行回复 取消回复

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像

Title - Artist
0:00