Win8.1系统下VirtualBox的各种网络配置方法——Network Address Translation (NAT)(网络地址转换)

来源:互联网 发布:淘宝运费模板怎么设置 编辑:程序博客网 时间:2024/04/30 17:44

      • NAT模式概述
      • NAT模式下网络数据传输过程
      • NAT模式的缺点
      • NAT模式下的端口转发
        • 在图形界面下端口转发的配置流程

NAT模式概述

NAT是虚拟机可访问外部网络的最简单的设置方式,通常只需要在VirtualBox中选择此模式而勿需再在主机或虚拟机中进行其它配置。由此,此模式也被作为是VirtualBox的默认网络模式

NAT模式下的虚拟机的行为类似于通过路由器连接互联网的真实主机,而VirtualBox网络引擎(VirtualBox networking engine)来充当这里的“路由器”,并由此透明地完成虚拟机数据流入/流出映射。由于默认情况下各虚拟机之间不能互相互联(也即相互通信),这种将”路由器“置于每一个虚拟机与主机之间的分隔可以最大限度地保证安全性。

NAT模式下虚拟机通过VirtualBox中集成的DHCP服务器来获取虚拟机的IP地址并配置其私有网络。分配给虚拟机的IP地址通常与主机上的网段完全不同,在NAT模式下虚拟机可以启用多个网卡,默认情况下第一个网卡连接10.0.2.0的私有网段、第二个网卡连接10.0.3.0的私有网段、以此类推(所有虚拟机在创建时会使用相同的IP配置,这个可以进行修改)。当然,VirtualBox也支持用户对这些连接网段的重新设置。


NAT模式下网络数据传输过程:

  1. VirtualBoxr的NAT引擎接收到虚拟机发送的网络帧;
  2. 提取出TCP/IP数据,并使用主机操作系统将之重发(对外表现为使用主机IP,由VirtualBox应用程序发送的数据);
  3. VirtualBox监听发送包的应答信息,并将之重新打包,然后作为应答在私有网络(私有网段)上将之重新发送到虚拟机。

NAT模式的缺点:

  1. 更像是一个处于路由器后面的私有网络,虚拟机相对于外部网络不可见、不可访问;
  2. 只有设置了端口转发(Port Forwarding)功能,否则此虚拟机无法对外提供服务(也即将此虚拟机看作是一个服务器)。
  3. 一些依赖于ICMP协议来收/发消息的网络调试工具(如ping, tracerouting等),随着VirtualBox 2.1对ICMP协议支持的升级可能导致工具不可用(ping依然可用)
  4. 为了节约资源,虚拟机只会在其从指定端口发送UDP数据后的监听一段时间,所以并不能可靠地接收UDP广播消息。因此,基于广播的NetBios名称解析可能不能正常工作(但在WINS平台依然有效),可以通过在\\server\share中使用数字的IP地址代替server来对此问题进行规避。
  5. 部分协议(如GRE协议Generic Routing Encapsulation)不被支持,因此基于GRE协议的VPN产品(如微软的PPTP)不能正常工作,但其它一些基于简单TCP和UDP协议的VPN产品仍可被正常使用。
  6. 类Unix主机(如Linux, Solaris, Mac OS X)上非root用户运行的应用不能绑定小于1024的端口号。如果配置的端口转发中主机端口号小于1024则可能导致虚拟机无法启动。

上述缺点一般并不会影响标准的网络应用,但由上述缺点可能对一些标准网络应用产生微妙的效果。如对于NFS来说,NFS服务器通常配置为拒绝非私有端口访问(也即大于1024的端口号),如果端口转发中主机端口号大于1024则会造成无法正常进行NFS服务器的访问。


NAT模式下的端口转发

VirtualBox可以通过端口转发将虚拟机中运行的指定网络服务对外可见(类似于完成物理路由器的功能),此时VirtualBox监听主机上的指定端口,并将此端口上接收到的所有数据重发到虚拟机上指定的端口(可以与主机上的端口相同,也可以不同)。

如果VirtualBox中存在多个虚拟机,由于创建虚拟机时由VirtualBox内建DHCP服务器分配的IP地址完全相同(如默认情况下eth0 = 10.0.2.15),此时为了区分不同的虚拟机我们需要更改相应虚拟机的网络配置(Linux系统修改/etc/network/interfaces文件),而后即可通过图形界面或命令行来进行端口转发的相关配置。


在图形界面下端口转发的配置流程:

在VirtualBox中选定要配置的虚拟机,而后点击”设置(S)” –> “网络” –> 选择一个以NAT方式开启的网卡 –> “高级” –> “端口转发(P)”

端口转发配置1

在弹出的菜单中点击右上角的“添加”按钮,并在新增的条目中进行相关的填写。其中,名称可以自定义;协议有TCP和UDP两种选择;主机IP若不填写则绑定到主机的所有IP,也可以指定一个主机上的IP地址;主机端口则需要选择一个没有使用的端口号;子系统IP一栏,如果此虚拟机使用的是一个静态IP而非VirtualBox内建DHCP服务器分配的IP地址则需要指定此静态IP,否则则可不填写;最后,子系统端口则需要选择一个虚拟机中对外提供网络服务的端口。

端口转发配置2

目前NAT模式下已经支持PXE启动。

原文链接

0 0
原创粉丝点击