zoukankan      html  css  js  c++  java
  • VBox 对网络模式 增强

    在之前的Blog里提到了VBox 的4中网络类型:

    NAT

    Bridged Adapter

    Internal

    Host-onlyAdapter

    具体参考:

    Oracle Virtual Box 安装使用 说明

    http://blog.csdn.net/tianlesoftware/article/details/6826389

    今天升级了一个VBox 到4.1.8,在这个版本中对网络这块有加强,增加了UDP的支持,升级之后看了下Vbox,多了一种Generic Driver,因为之前没有留意是否有这种模式,所以这里也不能确定GenericDriver 是新版本里才有的。 不过查看了参考文档,确实有了增加的内容,这里对这部分内容做一个记录。

     

    Virtual Box 的在线参考手册对网络模式有说明:

    http://www.virtualbox.org/manual/ch06.html

    在安装目录下面也有参考文档,有chm 和pdf 两种。

    1.   VirtualBox 网络类型

    Each of theeight networking adapters can be separately configured to operate in one of thefollowing modes:

    1.1 Not attached

    In this mode,VirtualBox reports to the guest that a network card is present, but that thereis no connection -- as if no Ethernet cable was plugged into the card. This wayit is possible to "pull" the virtual Ethernet cable and disrupt theconnection, which can be useful to inform a guest operating system that nonetwork connection is available and enforce a reconfiguration.

    1.2 Network AddressTranslation (NAT)

    If all you wantis to browse the Web, download files and view e-mail inside the guest, thenthis default mode should be sufficient for you, and you can safely skip therest of this section. Please note that there are certain limitations when usingWindows file sharing (see the section called “NAT limitations” fordetails).

    1.3 Bridged networking

    This is for moreadvanced networking needs such as network simulations and running servers in aguest. When enabled, VirtualBox connects to one of your installed network cardsand exchanges network packets directly, circumventing your host operatingsystem's network stack.

    1.4 Internal networking

    This can be usedto create a different kind of software-based network which is visible toselected virtual machines, but not to applications running on the host or tothe outside world.

    1.5 Host-only networking

    This can be used to create a networkcontaining the host and a set of virtual machines, without the need for thehost's physical network interface. Instead, a virtual network interface(similar to a loopback interface) is created on the host, providingconnectivity among virtual machines and the host.

    1.6 Generic networking

    Rarely usedmodes share the same generic network interface, by allowing the user to selecta driver which can be included with VirtualBox or be distributed in anextension pack.


    At the moment there are potentially twoavailable sub-modes:

    1.6.1 UDP Tunnel

    This can be usedto interconnect virtual machines running on different hosts directly, easilyand transparently, over existing network infrastructure.

    1.6.2 VDE (VirtualDistributed Ethernet) networking

    This option canbe used to connect to a Virtual Distributed Ethernet switch on a Linux or aFreeBSD host. At the moment this needs compiling VirtualBox from sources, asthe Oracle packages do not include it.

    2.     UDP 和 VDEnetworking

    2.1 UDP Tunnel networking

    This networkingmode allows to interconnect virtual machines running on different hosts.

    Technically thisis done by encapsulating Ethernet frames sent or received by the guest networkcard into UDP/IP datagrams, and sending them over any network available to thehost.

    UDP Tunnel mode has three parameters:

    --udp tunnel mode 有三个参数:

    (1)Source UDP port

    The port onwhich the host listens. Datagrams arriving on this port from any source addresswill be forwarded to the receiving part of the guest network card.

    (2)Destination address

    IP address ofthe target host of the transmitted data.

    (3)Destination UDP port

    Port number towhich the transmitted data is sent.

    Wheninterconnecting two virtual machines on two different hosts, their IP addressesmust be swapped. On single host, source and destination UDP ports must beswapped.

    In the followingexample host 1 uses the IP address 10.0.0.1 and host 2 uses IP address10.0.0.2. Configuration via command-line:

            VBoxManage modifyvm "VM 01 on host1" --nic<x> generic

           VBoxManage modifyvm "VM 01 on host 1" --nicgenericdrv<x>UDPTunnel

           VBoxManage modifyvm "VM 01 on host 1" --nicproperty<x>dest=10.0.0.2

           VBoxManage modifyvm "VM 01 on host 1" --nicproperty<x>sport=10001

           VBoxManage modifyvm "VM 01 on host 1" --nicproperty<x>dport=10002

    and

           VBoxManage modifyvm "VM 02 on host 2" --nic<y> generic

           VBoxManage modifyvm "VM 02 on host 2" --nicgenericdrv<y>UDPTunnel

           VBoxManage modifyvm "VM 02 on host 2" --nicproperty<y>dest=10.0.0.1

           VBoxManage modifyvm "VM 02 on host 2" --nicproperty<y>sport=10002

           VBoxManage modifyvm "VM 02 on host 2" --nicproperty<y>dport=10001

    Of course, youcan always interconnect two virtual machines on the same host, by setting thedestination address parameter to 127.0.0.1 on both. It will act similarly to"Internal network" in this case, however the host can see the networktraffic which it could not in the normal Internal network case.

    Note

    On Unix-basedhosts (e.g. Linux, Solaris, Mac OS X) it is not possible to bind to ports below1024 from applications that are not run by root. As a result, if you tryto configure such a source UDP port, the VM will refuse to start.

     

    2.2 VDE networking

    VirtualDistributed Ethernet (VDE[30]) is a flexible, virtual networkinfrastructure system, spanning across multiple hosts in a secure way. Itallows for L2/L3 switching, including spanning-tree protocol, VLANs, and WANemulation. It is an optional part of VirtualBox which is only included in thesource code.

    The basicbuilding blocks of the infrastructure are VDE switches, VDE plugs and VDE wireswhich inter-connect the switches.

    The VirtualBox VDE driver has oneparameter:

    --VDE driver 只有一个参数:

    VDE network

    The name of theVDE network switch socket to which the VM will be connected.

    The following basic example shows how to connect a virtual machine to a VDE switch:

    1.Create a VDE switch:

    vde_switch -s/tmp/switch1

    2.Configuration via command-line:

    VBoxManage modifyvm "VM name"--nic<x> generic

    VBoxManage modifyvm "VM name"--nicgenericdrv<x> VDE

    To connect to automatically allocatedswitch port, use:

    VBoxManagemodifyvm "VM name" --nicproperty<x> network=/tmp/switch1

    To connect to specific switch port<n>, use:

    VBoxManagemodifyvm "VM name" --nicproperty<x>network=/tmp/switch1[<n>]

    The latter option can be useful for VLANs.

    Optionally map between VDE switch port andVLAN: (from switch CLI)

    vde$ vlan/create <VLAN>

    vde$ port/setvlan <port> <VLAN>

    VDE is availableon Linux and FreeBSD hosts only. It is only available if the VDE software andthe VDE plugin library from the Virtual Square project are installed on thehost system. For more information on setting up VDE networks, please see thedocumentation accompanying the software.

    -------------------------------------------------------------------------------------------------------

    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

    Email:   tianlesoftware@gmail.com

    Skype: tianlesoftware

    Blog:     http://www.tianlesoftware.com

    Weibo: http://weibo.com/tianlesoftware

    Twitter: http://twitter.com/tianlesoftware

    Facebook:http://www.facebook.com/tianlesoftware

    -------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

    DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)  

    DBA 超级群:63306533(满);  DBA4 群:83829929   DBA5群: 142216823

    DBA6 群:158654907    DBA7 群:172855474  

  • 相关阅读:
    ab 性能测试工具的使用(Web并发测试)
    java 读取文件——按照行取出(使用BufferedReader和一次将数据保存到内存两种实现方式)
    java 判断两个时间相差的天数
    java 正则表达式的应用:读取文件,获取其中的电话号码
    mybatis 插入数据时返回主键
    CodeForces 493B Vasya and Wrestling 【模拟】
    图像边缘检測小结
    【JS设计模式】温习简单工厂模式、工厂方法模式、抽象工厂模式概念
    60.自己定义View练习(五)高仿小米时钟
    bzoj4361 isn
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609410.html
Copyright © 2011-2022 走看看