blog icon indicating copy to clipboard operation
blog copied to clipboard

VirtualBox 虚拟机的几种网络模式

Open waltcow opened this issue 7 years ago • 2 comments

VirtualBox网络连接方式概要

  1. NAT 网络地址转换模式(NAT,Network Address Translation)
  2. Bridged Adapter 桥接模式
  3. Internal 内部网络模式
  4. Host-only Adapter 主机模式

VirturalBox为每个虚拟机提供八种虚拟的PCI 网卡,对于每一种虚拟网卡,你可以从下列六种网络硬件中任选一种:

        AMD PCNet PCI II (Am79C970A)
        AMD PCNet FAST III (Am79C973, the default)
        Intel PRO/1000 MT Desktop (82540EM)(Windows Vista and later versions)
        Intel PRO/1000 T Server (82543GC)(Windows XP)
        Intel PRO/1000 MT Server (82545EM)(OVF imports from other platforms)
        Paravirtualized network adapter (virtio-net)

NAT模式

特点:

  • 虚拟机与主机关系: 只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。
  • 虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机)
  • 虚拟机与网络中其他主机的关系: 只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。
  • 虚拟机与虚拟机之间的关系: 相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。

应用场景:

  • 虚拟机只要求可以上网,无其它特殊要求,满足最一般需求

配置方法:

        连接方式 选择 网络地址转换(NAT)
        高级-控制芯片 选择 PCnet-FAST III
        高级-混杂模式 拒绝
        高级-接入网线 √   (虚拟机ip自动获取)

        ip样式:
        ip 10.0.2.15
        网关 10.0.2.2
        DNS    10.0.2.3
  • 注意此处的网关在不同虚拟机中可能是同一个值,但是这归属于不同的NAT Engine,因此实际上各个虚拟机用的不是同一个网关

原理:

  • 虚拟机的请求传递给NAT Engine,由它来利用主机进行对外的网络访问,返回的数据包再由NAT Engine给虚拟机。

Bridged Adapter模式(桥接模式)

特点:

  • 虚拟机与主机关系: 可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问。
  • 虚拟机于网络中其他主机关系:以相互访问,同样因为虚拟机在真实网络段中有独立IP, 虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问。
  • 虚拟机于虚拟机关系: 可以相互访问,原因同上。

应用场景:

  • 虚拟机要求可以上网,且虚拟机完全模拟一台实体机

配置方法:

        连接方式 选择 桥接网卡
        界面名称 选择 (如果你的笔记本有无线网卡和有线网卡,需要根据现在的上网方式对应选择)
        高级-控制芯片 选择 PCnet-FAST III
        高级-混杂模式 拒绝
        高级-接入网线 √(虚拟机ip自动获取)

原理:

  • 通过主机网卡,架设一条桥,直接连入到网络中。它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和
  • 在网络中的真实机器一样。 (虚拟机是通过主机所在网络中的DHCP服务得到ip地址的,所以按理来说,两者是完全独立的,但事实却是虚拟机是没有独立硬件的,它还是要依靠主机的网卡,因此,主机要断开网络,虚拟机也就没法拿到ip了

Host-only Adapter模式

特点:

  • 虚拟机与主机关系 :默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被分配到的也都是这个网段。通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问。
  • 虚拟机访问主机: 用的是主机的VirtualBox Host-Only Network网卡的IP:192.168.56.1 ,不管主机“本地连接”有无红叉,永远通。(注意虚拟机与主机通信是通过主机的名为VirtualBox Host-Only Network的网卡,因此ip是该网卡ip 192.168.56.1,而不是你现在正在上网所用的ip)
  • 主机访问虚拟机,用是的虚拟机的网卡的IP: 192.168.56.101 ,不管主机“本地连接”有无红叉,永远通。
  • 主机可以访问主机下的所有虚拟机,和192.168.56.1(是VirtualBox Host-Only Network网卡[在主机中模拟出的网卡,不是虚拟机中虚拟的网卡]的IP)
  • 虚拟机与网络主机关系 :默认不能相互访问,也不能上网,原因同上,通过设置,可以实现相互访问。
  • 虚拟机与虚拟机关系 :默认可以相互访问,都是同处于一个网段。

应用场景:

  • 在主机无法上网的情况下(主机可以上网的情况下可以用host-only,也可以用桥接),需要搭建一个模拟局域网,所有机器可以互访

配置方法:

 连接方式 选择 仅主机(Host-Only)适配器
        界面名称 选择 VirtualBox Host-Only Ethernet Adapter
            如果无法设置界面名称,可以:In VirtualBox > Preferences > Network, set up a host-only network
        高级-控制芯片 选择 PCnet-FAST III
        高级-混杂模式 拒绝
        高级-接入网线 √
        (虚拟机ip自动获取,也可以自己进行配置,网关配置为主机中虚拟网卡的地址【默认为192.168.56.1】,ip配置为与虚拟网卡地址同网段地址)

waltcow avatar Apr 21 '17 08:04 waltcow

NAT模式 特点: 虚拟机与主机关系: 只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。 虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机) 虚拟机与网络中其他主机的关系: 只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。 虚拟机与虚拟机之间的关系: 相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。

请教一下,NAT模式下,各虚拟机之间虽然不能通过网络访问彼此。但是他们都是接在同一个虚拟交换机上,应该是可以相互通信的。我这样理解对吗?

tingtingtinghuang avatar Sep 20 '18 09:09 tingtingtinghuang

NAT模式 特点: 虚拟机与主机关系: 只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。 虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机) 虚拟机与网络中其他主机的关系: 只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。 虚拟机与虚拟机之间的关系: 相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。

请教一下,NAT模式下,各虚拟机之间虽然不能通过网络访问彼此。但是他们都是接在同一个虚拟交换机上,应该是可以相互通信的。我这样理解对吗?

详细可以看这里,http://rongzijing.win/index.php/archives/108/

  • Network Address Translation (NAT,网络地址转换)
  • Network Address Translation Service(NAT网络)

NAT网络让NAT有了虚拟机之间可以通信的功能, 和NAT 是不一样的

waltcow avatar Sep 22 '18 09:09 waltcow