精华内容
下载资源
问答
  • 计算机网络基础 — 虚拟网络

    千次阅读 2020-02-27 13:30:46
    文章目录目录Linux 网络接口设备虚拟网络设备网络命名空间(network namespace)虚拟“网卡”(tap)虚拟“网线”(veth pair)虚拟“隧道网卡”(tun)TAP/TUN 与 VETH 设备的工作原理Linux BridgeLinux Bridge 的...

    目录

    前文列表

    计算机网络基础 — 以太网
    计算机网络基础 — 物理网络
    计算机网络基础 — TCP/IP 网络模型
    计算机网络基础 — Linux 内核网络协议栈

    虚拟网卡与虚拟网线

    虚拟网线(Veth-pair)

    Veth-pair 不是一个设备,而是一对设备,作为虚拟网线用于连接两个虚拟网络设备。veth pair 是根据数据链路层的 MAC 地址对网络数据包进行转发的过程来实现的,本质是反转通讯数据的方向,需要发送的数据会被转换成需要收到的数据重新送入内核网络层进行处理,从而间接的完成数据的注入。

    veth pair 在虚拟网络设备中是作为 “网线” 的存在,将 tap 之间,tap 与 Bridge 之间连接起来。veth pair 通常还与 Network namespace 一起配合,实现不同 Network namespace 中的网络设备传输。

    在这里插入图片描述
    如上图:

    1. 首先 ping 程序构造 ICMP echo request,通过 Socket API 发给内核网络协议栈。
    2. 由于 ping 指定了走 veth0 口,如果是第一次,则需要发 ARP 请求,否则协议栈直接将数据包交给 veth0。
    3. 由于 veth0 连着 veth1,所以 ICMP request 直接发给 veth1。
    4. veth1 收到请求后,交给另一端的协议栈。
    5. 协议栈看本地有 10.1.1.3 这个 IP,于是构造 ICMP reply 包,查看路由表,发现回给 10.1.1.0 网段的数据包应该走 lo 口,于是将 reply 包交给 lo 口(会优先查看路由表的 0 号表,ip route show table 0 查看)。
    6. lo 收到协议栈的 reply 包后,啥都没干,转手又回给协议栈。
    7. 协议栈收到 reply 包之后,发现有 Socket 在等待包,于是将包给 socket。
    8. 等待在用户态的 ping 程序发现 Socket 返回,于是就收到 ICMP 的 reply 包。

    虚拟二层网卡(Tap)与虚拟三层隧道网卡(Tun)

    tap/tun 是 Linux 内核 2.4.x 版本之后加入的虚拟网络设备,不同于物理网卡靠硬件网路板卡的实现方式,tap/tun 虚拟网卡完全由内核软件来实现的,是一种让用户态程序向内核协议栈注入数据的设备。tap 工作在二层(数据链路层)而 tun 工作在三层(网络层)。功能和硬件实现完全没有差别,它们都属于网络设备,都可以配置 IP,都归 Linux 网络设备管理模块统一管理。

    • tap 工作在数据链路层:只能处理二层的以太网数据帧,与其中的以太网(Ethernet)协议对应,所以 tap 有时也称为 “虚拟以太网设备” 。
    • tun 工作在网络层:是一个点对点(Peer To Peer)的网络层设备,只能处理 IP 数据包,通常用于建立 IP 层隧道(Tunnel)。
      在这里插入图片描述

    作为网络设备,tap/tun 也需要配套相应的驱动程序才能工作。tap/tun 驱动程序包括两个部分:

    1. 字符设备驱动:负责数据包在内核空间和用户空间的传送。
    2. 网卡驱动:负责数据包在内核网络协议栈上的传输和处理。

    tap/tun 作为用户空间与内核空间的数据传输通道

    在 Linux 中,用户空间和内核空间的数据传输有多种方式,字符设备就是其中的一种。tap/tun 通过驱动程序和一个与之关联的字符设备文件,来实现用户空间和内核空间的通信接口。

    在 Linux 内核 2.6.x 之后的版本中,tap/tun 对应的字符设备文件分别为:

    • tap:/dev/tap0
    • tun:/dev/net/tun

    字符设备文件即充当了用户空间和内核空间通信的接口。当应用程序打开设备文件时,驱动程序就会创建并注册相应的虚拟设备接口,一般以 tunX 或 tapX 命名。当应用程序关闭文件时,驱动也会自动删除 tunX 和 tapX 设备,还会删除已经建立起来的路由等信息。

    tap/tun 设备文件就像一个管道,一端连接着用户空间,一端连接着内核空间。当用户程序向文件 /dev/net/tun 或 /dev/tap0 写数据时,内核就可以从对应的 tunX 或 tapX 接口读到数据,反之,内核可以通过相反的方式向用户程序发送数据。

    在这里插入图片描述

    tap/tun 与内核网络协议栈的数据传输

    tap/tun 通过实现相应的网卡驱动程序来和 TCP/IP 网络协议栈通信。一般的流程和物理网卡和协议栈的交互流程是一样的,不同的是物理网卡一端是连接物理网络,而 tap/tun 虚拟网卡一般连接到用户空间。

    首先看看物理网卡是如何工作的,物理网卡时收到数据包之后就会交给内核网络协议栈处理,然后通过 Socket API 通知给用户程序。
    在这里插入图片描述

    下面看看 tun 的工作方式,物理网卡通过网线收发数据包,但是 tun 设备通过一个字符设备文件收发数据包。
    在这里插入图片描述

    如果使用 tun 设备搭建一个基于 UDP VPN,那么整个处理过程就是这样:数据包会通过内核网络协议栈两次,在经过 VPN App 的处理后,数据包可能已经加密,并且原有的 IP Header 被封装在 UDP 内部,所以网络包在第二次通过内核网络栈时看到的是截然不同的网络包。

    在这里插入图片描述

    再举一个例子,我们有两个应用程序 A、B,物理网卡 eth0 和虚拟网卡 tun0 分别配置 IP:10.1.1.11 和 192.168.1.11,程序 A 希望构造数据包发往 192.168.1.0/24 网段的主机 192.168.1.1。

    +----------------------------------------------------------------+
    |                                                                |
    |  +--------------------+      +--------------------+            |
    |  | User Application A |      | User Application B |<-----+     |
    |  +--------------------+      +--------------------+      |     |
    |               | 1                    | 5                 |     |
    |...............|......................|...................|.....|
    |               ↓                      ↓                   |     |
    |         +----------+           +----------+              |     |
    |         | socket A |           | socket B |              |     |
    |         +----------+           +----------+              |     |
    |                 | 2               | 6                    |     |
    |.................|.................|......................|.....|
    |                 ↓                 ↓                      |     |
    |             +------------------------+                 4 |     |
    |             | Newwork Protocol Stack |                   |     |
    |             +------------------------+                   |     |
    |                | 7                 | 3                   |     |
    |................|...................|.....................|.....|
    |                ↓                   ↓                     |     |
    |        +----------------+    +----------------+          |     |
    |        |      eth0      |    |      tun0      |          |     |
    |        +----------------+    +----------------+          |     |
    |    10.32.0.11  |                   |   192.168.3.11      |     |
    |                | 8                 +---------------------+     |
    |                |                                               |
    +----------------|-----------------------------------------------+
                     ↓
             Physical Network
    
    1. 应用程序 A 构造数据包,目的 IP 是 192.168.1.1,通过 socket A 将这个数据包发给协议栈。
    2. 协议栈根据数据包的目的 IP 地址,匹配路由规则,发现要从 tun0 出去。
    3. tun0 发现自己的另一端已经被应用程序 B 打开,于是将数据发给程序 B。
    4. 程序 B 收到数据后,做一些跟业务相关的操作,然后构造一个新的数据包,源 IP 是 eth0 的 IP,目的 IP 是 10.1.1.0/24 的网关 10.1.1.1,封装原来的数据的数据包,重新发给协议栈。
    5. 协议栈再根据本地路由,将这个数据包从 eth0 发出。

    后续步骤,当 10.1.1.1 收到数据包后,会进行解封装,读取里面的原始数据包,继而转发给本地的主机 192.168.1.1。当接收回包时,也遵循同样的流程。在这个流程中,应用程序 B 的作用其实是利用 tun0 对数据包做了一层隧道封装。

    tap 设备与 tun 设备工作方式完全相同,区别在于:tun 设备的 /dev/tunX 文件收发的是 IP 层数据包,只能工作在 IP 层,无法与物理网卡做 bridge,但是可以通过三层交换(e.g. ip_forward)与物理网卡连通;而 tap 设备的 /dev/tapX 文件收发的是 MAC 层数据包,拥有 MAC 层功能,可以与物理网卡做 bridge,支持二层广播。

    物理网卡的虚拟化(MACVLAN 和 MACVTAP)

    MACVLAN

    有时候我们可能会需求一块物理网卡能够绑定多个 IP 以及多个 MAC 地址,绑定多个 IP 很容易,但是这些 IP 会共享物理网卡的 MAC 地址,可能无法满足我们的设计需求,所以就有了物理网卡虚拟化技术 —— macvlan 设备。

    macvlan 是 Linux kernel v3.9-3.19 和 4.0+ 版本的新特性,比较稳定的版本推荐 4.0+,它一般以内核模块的形式存在。

    # modprobe macvlan
    # lsmod | grep macvlan
    macvlan                24576  0
    

    macvlan 这种技术听起来有点像 VLAN,但它们的实现机制是完全不一样的。macvlan 子接口和原来的主接口是完全独立的,可以单独配置 MAC 地址和 IP 地址,而 VLAN 子接口和主接口共用相同的 MAC 地址。VLAN 用来划分广播域,而 macvlan 共享同一个广播域。

    其工作方式如下:

    在这里插入图片描述
    通过不同的子接口,macvlan 做到了流量的隔离。macvlan 会根据数据帧的目的 MAC 地址来判断这个帧需要交给哪张虚拟网卡,虚拟网卡再把包交给上层的内协议栈处理。

    根据 macvlan 子接口之间的通信模式,macvlan 有四种网络模式:

    1. private 模式
    2. vepa(virtual ethernet port aggregator,虚拟以太网端口聚合器)模式
    3. bridge 模式
    4. passthru 模式

    Private 模式

    这种模式下,同一主接口下的子接口之间彼此隔离,不能通信。即使从外部的物理交换机导流,也会被无情地丢掉。

    在这里插入图片描述

    VEPA 模式

    这种模式下,子接口之间的通信流量需要导到外部支持 802.1Qbg/VPEA 功能的交换机上(可以是物理的或者虚拟的),经由外部交换机转发,再绕回来。

    : 802.1Qbg/VPEA 功能简单说就是交换机要支持发夹(Hairpin) 功能,也就是数据包从一个接口上收上来之后还能再扔回去。

    在这里插入图片描述

    Bridge 模式

    这种模式下,模拟的是 Linux bridge 的功能,但比 bridge 要好的一点是每个接口的 MAC 地址是已知的,不用学习。所以,这种模式下,子接口之间就是直接可以通信的。

    在这里插入图片描述

    Passthru 模式

    这种模式,只允许单个子接口连接主接口,且必须设置成混杂模式,一般用于子接口桥接和创建 VLAN 子接口的场景。

    在这里插入图片描述

    MACVTAP

    macvtap 是对 macvlan 的改进,把 macvlan 与 tap 特点结合了,使用 macvlan 的方式收发数据包,但是收到的包不交给内核网络协议栈处理,而是直接交个 tap 的 /dev/tapX 字符设备文件,再进入特定的 APP 处理。由于 macvlan 是工作在 MAC 层的,所以 macvtap 也只能工作在 MAC 层,不会有 macvtun 这样的设备。

    macvtap 结合 Network namespace 使用可以构建这样的网络:

    在这里插入图片描述
    由于 macvlan 与 eth0 处于不同的 Network namespace,它们拥有不同的内核网络协议栈,这样就不需要 bridge 也能在 namespace 里面使用网络了。

    虚拟网桥(Linux Bridge)

    在 Linux 的语境中,Bridge(网桥)和 Switch(交换机)具有近似的定义。Linux Bridge 就是 Linux 操作系统中用来做二层数据帧交换的虚拟网桥设备。Bridge 可以与上述的 RAW Ethernet 设备(e.g. tap、veth pair)连接,类似于将一台主机通过网线接入到物理交换机。当接收到数据时,Bridge 就会根据数据帧中的 MAC 地址进行广播、转发或过滤处理。

    在这里插入图片描述

    Bridge 的功能主要在 Linux Kernet 里实现。当一个从设备被 attach 到 Bridge 上时,内核程序的 netdev_rx_handler_register() 被调用,一个用于接受数据的回调函数被注册。以后每当这个从设备收到数据时都会调用这个函数可以把数据转发到 Bridge 上。当 Bridge 接收到此数据时,br_handle_frame() 被调用,进行一个和物理交换机类似的处理过程:判断包的类别(广播 or 单播),查找内部 MAC-Port 映射表,定位 Bridge 目标端口,将数据转发到目标端口或者丢弃,同事自动更新内部 MAC-Port 映射表完成自适应或自学习。

    在这里插入图片描述

    Bridge 和物理交换机有一个区别,数据帧是被直接发送到 Bridge 上的,而不像物理交换机从某个端口接受到数据帧。这是因为 Bridge 具有缺省 MAC 的特性,可以主动发送报文,也就可以为 Bridge 设置 IP 地址。Linux 上的程序可以直接从这个端口向 Bridge 上的其他端口发数据。所以当 attach 一个从设备(e.g. eth0)到 Bridge 之后,Bridge 就拥有了两个有效 MAC 地址,一个是 Bridge 自身的,一个是 eth0 的,他们之间可以通讯。

    通常来说 IP 地址是三层协议的内容,不应该出现在二层 Bridge 上。但实际上,由于 Bridge 是一种 Linux Kernel 对通用网络设备的抽象,对于 Kernel 而言只要是网络设备就能够设定 IP 地址。Bridge 的 IP 地址就类似于物理交换机的管理 IP 地址,当 br0 拥有 IP 后,Linux 就可以通过路由表在网络层定位到 br0。就相当于 Linux 拥有了一张 “隐藏的网卡” 和 Bridge 的 “隐藏端口” 相连,两者组成了一张 “Linux 网卡” 可用于收发 IP 数据包。当 IP 数据包到达 Bridge 时,内核协议栈就认为收到了一个数据包,此时 Bridge 可以通过 Socket 接收到它。

    Bridge 的实现当前有一个限制:当一个从设备被 attach 到 Bridge 上后,这个从设备的 IP 地址就会失效,此时应该把 IP 地址赋予 Bridge。

    还要一点需要注意的,对于一个被 attach 到 Bridge 上的从设备来说,只有在收到数据报文时,此数据报文才会被转发到 Bridge 进而完成查 MAC-Port 地址表和进行广播等后续操作。但是当从设备的请求是发送类型时,数据报文是不会被经过 Bridge 上的,它会寻找下一个发送出口。用户在配置网络时经常会忽略这一点从而造成网络故障。

    虚拟局域网(Linux VLAN device for 802.1.q)

    VLAN 的种类很多,按照协议原理一般分为:MACVLAN、802.1.q VLAN、802.1.qbg VLAN、802.1.qbh VLAN。其中出现较早,应用广泛并且成熟的是 802.1.q VLAN。

    1999 年,IEEE(Institute of Electrical and Electronics Engineers,电气电子工程师学会)颁布了 VLAN 802.1Q 协议标准草案,VLAN 协议可将大型网络划分为多个小型局域网络,有效避免了广播风暴和提升了网络间的安全性。

    802.1.q VLAN 的基本原理是在二层协议里插入额外的 VLAN 协议数据(称为 802.1.q VLAN Tag),同时保持和传统二层设备的兼容性。Linux 里的 VLAN 设备是对 802.1.q 协议的一种内部软件实现,模拟现实世界中的 802.1.q 交换机。

    在这里插入图片描述

    如上图所示,Linux 的 802.1.q VLAN 设备是以 “母子关系” 成对出现的,母设备相当于现实世界中的交换机 Trunk 口,用于连接上级网络,子设备相当于普通 Access 口用于连接下级网络。当数据在母子设备间传递时,内核将会根据 802.1.q VLAN Tag 进行对应的操作。母子设备之间是一对多的关系。

    当一个子设备有数据包需要发送时,数据报文将被打上 VLAN Tag 然后从母设备发送出去。当母设备收到数据包时,它会分析其中的 VLAN Tag,如果有对应的子设备存在,则把数据报文转发到那个子设备上并根据设置移除 VLAN Tag,否则丢弃该数据。在某些设置下,VLAN Tag 可以不被移除以满足某些监听程序的需要,如 DHCP 服务程序。

    举例说明如下:eth0 作为母设备创建一个 ID 为 100 的子设备(子网卡) eth0.100。此时如果有程序要求从 eth0.100 发送数据包,数据报文将被打上 VLAN 100 的 Tag 从 eth0 发送出去。如果 eth0 收到一个数据包,VLAN Tag 是 100,数据将被转发到 eth0.100 上,并根据设置决定是否移除 VLAN Tag。如果 eth0 收到一个包含 VLAN Tag 101 的数据,则将其丢弃。

    上述过程隐含以下事实:对于宿主 Linux 操作系统来说,母设备只能用来收数据,子设备只能用来发送数据。和 Bridge 一样,母子设备的数据也是有方向的,子设备收到的数据不会进入母设备,同样母设备上请求发送的数据不会被转到子设备上。可以把 VLAN 母子设备作为一个整体想象为现实世界中的 802.1.q 交换机,下级接口通过子设备连接到宿主 Linux 系统网络里,上级接口同过主设备连接到上级网络,当母设备是物理网卡时上级网络是外界真实网络,当母设备是另外一个 Linux 虚拟网络设备时上级网络仍然是宿主 Linux 系统网络。

    需要注意的是母子 VLAN 设备拥有相同的 MAC 地址,可以把它当成现实世界中 802.1.q 交换机的 MAC,因此多个 VLAN 设备会共享一个 MAC。当一个母设备拥有多个 VLAN 子设备时,子设备之间是隔离的,不存在 Bridge 那样的交换转发关系,原因如下:802.1.q VLAN 协议的主要目的是从逻辑上隔离子网。现实世界中的 802.1.q 交换机存在多个 VLAN,每个 VLAN 拥有多个端口,同一 VLAN 端口之间可以交换转发,不同 VLAN 端口之间隔离。

    所以交换机包含了两层功能:交换与隔离。Linux VLAN device 实现的是隔离功能,没有交换功能。一个 VLAN 母设备不可能拥有两个相同 ID 的 VLAN 子设备,因此也就不可能出现数据交换情况。如果想让一个 VLAN 里接多个设备,就需要交换功能。在 Linux 里 Bridge 专门实现交换功能,因此将 VLAN 子设备 attach 到一个 Bridge 上就能完成后续的交换功能。总结起来,Bridge 加 VLAN device 能在功能层面完整模拟现实世界里的 802.1.q 交换机。

    Linux 虚拟交换机 = Linux Bridge + VLAN

    NOTE:Linux 支持 VLAN 硬件加速,在安装有特定硬件情况下,图中所述内核处理过程可以被放到物理设备上完成。

    展开全文
  • 关于vm虚拟机虚拟网络已禁用

    千次阅读 2019-01-16 09:59:40
    如果某次开启虚拟机的时候,右上角出现红叉,提示虚拟网络已禁用或者彻底没有网络图标。 只需下面四步: 1.关闭网络守护进程 service NetworkManager stop  此步如果执行也可直接进行下一步。 2 进行...

    如果某次开启虚拟机的时候,右上角出现红叉,提示虚拟网络已禁用或者彻底没有网络图标。

    只需下面四步:

    1.关闭网络守护进程

    service NetworkManager stop 

    此步如果执行也可直接进行下一步。

    2 进行NetworkManger服务目录

     cd  /var/lib/NetworkManager

    3删除 NetworkManager.state文件

    rm  NetworkManger.state

    4.重启NetworkManager服务

     service NetworkManager restart

    版权声明:本文为博主原创文章,转载请注明本页地址。https://blog.csdn.net/l1994m/article/details/86502643

    展开全文
  • 区域虚拟网络

    千次阅读 2014-07-04 17:23:07
    我们非常高兴地宣布,现在您可以创建跨越整个区域的虚拟网络(VNet) 了。创建新的虚拟网络时,可以将其关联到区域,而不是关联到关联组。部署到区域虚拟网络中的新服务可使用该区域提供的任何服务(例如A8/A9 大小...

    概述

    我们非常高兴地宣布,现在您可以创建跨越整个区域的虚拟网络(VNet) 了。创建新的虚拟网络时,可以将其关联到区域,而不是关联到关联组。部署到区域虚拟网络中的新服务可使用该区域提供的任何服务(例如A8/A9 大小、内部负载平衡、保留IP、实例级公共 IP)。

    这一功能发布之前,VNets 只能绑定到一个扩展单元,更准确地说是关联组。关联组是一个分组概念,指的是数据中心的一部分,或者换句话说是一定数量的服务器。VNet被绑定到某个关联组,也就间接绑定到了一组服务器,因此不能将程序部署到此扩展单元以外的服务器中。

    以前:


    但是通过区域虚拟网络消除了这些限制,因为虚拟网络的范围是整个区域而不仅是关联组。

    现在:


    关键场景

    以下是区域虚拟网络启用的关键场景:

    • A8 A9 这样尺寸的新 VM 可部署到虚拟网络,虚拟网络也可包含其他尺寸的 VM

    • 新功能,例如预留IP、内部负载平衡、实例级公共 IP

    • 虚拟网络可无缝扩展,以使用整个区域的容量,但我们仍然限制VNet 中最多包含 2048 个虚拟机。

    • 创建虚拟网络前不需要创建关联组。

    • 进入VNet 的部署不必在同一个关联组。

      使用说明

    创建区域虚拟网络的步骤与今天的步骤类似,但有一点不同,即在网络配置文件中定义VNet 时,使用位置属性而不使用关联组

    虚拟网络定义(旧式):

    <VirtualNetworkSitename=VNetDemoAffinityGroup=VNetDemoAG>

    虚拟网络定义(新式):

    <VirtualNetworkSitename=VNetUSWestLocation=West US>

    注意:您无法将现有虚拟网络从AffinityGroup转换为Location[DX1] 。要获得区域虚拟网络,必须使用Location属性创建新的虚拟网络。有关更多详细信息,请参阅下方的常见问题部分。

    门户体验:

    到现在为止,区域虚拟网络还无法通过门户工作流创建。不久的将来将添加对此功能的支持。但客户仍然可以使用导入/导出功能创建区域虚拟网络,如下所示:

    1.导出当前网络配置文件

    2.将该文件保存至本地磁盘

    3.编辑文件以添加新的虚拟网络,如下所示:

    <span style="font-size:14px;"><?xmlversion=“1.0“encoding=“utf-8“?>
    
    <NetworkConfigurationxmlns:xsd=“http://www.w3.org/2001/XMLSchema“xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance“xmlns=“http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration“>
    
      <VirtualNetworkConfiguration>
    
       <VirtualNetworkSites>
    
         <!– Regional Virtual Network Definition –>
    
        <VirtualNetworkSitename=“VNetUSWest“Location=“West US“>
    
          <AddressSpace>
    
            <AddressPrefix>192.168.50.0/24</AddressPrefix>
    
            <AddressPrefix>192.168.51.0/24</AddressPrefix>
    
          </AddressSpace>
    
          <Subnets>
    
            <Subnetname=“frontendsubnet“>
    
              <AddressPrefix>192.168.50.0/24</AddressPrefix>
    
            </Subnet>
    
            <Subnetname=“backendsubnet“>
    
              <AddressPrefix>192.168.51.0/28</AddressPrefix>
    
            </Subnet>
    
            <Subnetname=“gatewaysubnet“>
    
              <AddressPrefix>192.168.51.16/28</AddressPrefix>
    
            </Subnet>
    
          </Subnets>
    
        </VirtualNetworkSite>
    
       </VirtualNetworkSites>
    
      </VirtualNetworkConfiguration>
    
    </NetworkConfiguration>
    </span>

    4.完成新的虚拟网络创建流程,如下所示:


    5.从本地磁盘选择编辑后的网络配置文件

    6.单击“OK(确定)并完成导入过程。

    这将创建一个新的区域虚拟网络。

    Powershell体验:

    下载并安装最新的 AzurePowershell

    创建区域虚拟网络 (Powershell cmdlet) 的步骤:

    1. Azure 下载当前网络配置文件

                   Get-AzureVNetConfig -ExportToFile “C:\Users\narayan\Documents\TechEdDemo\Netcfg.xml”

    2.编辑导出/创建的文件,并填写虚拟网络详细信息,如上一节步骤3 所示

    3.通过运行以下命令,创建区域虚拟网络:

      Set-AzureVNetConfig -ConfigurationPath “C:\Users\narayan\Documents\TechEdDemo\Netcfg.xml”

    4.这将创建区域虚拟网络。

    常见问题

    有哪些区域支持区域虚拟网络?

    Azure支持此处列出的公共 Azure 所有区域*(目前尚处预览版的巴西南部除外)内的区域虚拟网络。

    *区域 VNet 在中国东部和北部区域也不受支持,在不久的将来即将提供支持。

    如何将我现有的虚拟网络转换成区域虚拟网络?

    Azure现在还不支持此功能。要获得区域虚拟网络,客户必须按照本文中的描述创建一个新的区域虚拟网络。但是不久之后,所有绑定到关联组的现有VNet 都将会迁移到区域范围内。敬请关注本博客的更多更新。

    我现有的 VNet 能否连接到新的区域 VNet

    可以,使用新的 VNet VNet 连接功能,可以将您现有的 VNet 连接到新建的区域 VNet。有关更多信息,请参阅此链接

    是否会导致在区域虚拟网络内运行的服务出现性能退化?

    虚拟网络只是一个逻辑边界,并不规定 VNet 中的部署实际去了哪里。如果出于某种原因需要将服务都放在同一个关联组,仍然可以在区域虚拟网络内执行该操作。部署时,必须指定托管服务应绑定到的关联组。唯一的限制是关联组与区域虚拟网络必须隶属于同一区域。

    如果未将托管的服务绑定到关联组并将服务直接部署到区域虚拟网络,部署将放在虚拟网络绑定到的区域内的扩展单元中。

    最新公布的功能(预留 IP、内部负载平衡和实例级公共 IP)与区域虚拟网络之间有什么关系?

    上述最新公布的功能均在区域级别进行管理,因此,这些功能仅适用于进入区域虚拟网络中的部署。

    区域虚拟网络是否会收费?

    不会,区域虚拟网络是平台的增强功能,不会收费。

    关键词:

    网络虚拟网络VNet

    本文翻译自:http://azure.microsoft.com/blog/2014/05/14/regional-virtual-networks/



    
    展开全文
  • virsh 创建一个虚拟交换机,虚拟网络

    千次阅读 2019-06-05 17:25:33
    vim /etc/libvirt/qemu/networks/vbr.xml #创建一个名为vbr的虚拟网络 <network> <name>vbr</name> #vbr为虚拟网络的名字 <bridge name="vbr"/> <forward mode="nat"/> <...

    vim /etc/libvirt/qemu/networks/vbr.xml #创建一个名为vbr的虚拟网络

    <network>
      <name>vbr</name>                #vbr为虚拟网络的名字
      <bridge name="vbr"/>
      <forward mode="nat"/>
      <ip address="192.168.1.254" netmask="255.255.255.0">        #ip为192.168.1.254,相当于虚拟机网关
        <dhcp>
          <range start="192.168.1.100" end="192.168.1.200"/>     #DHCP自动分配ip范围是100-200
        </dhcp>
      </ip>
    </network>
    

    启动vbr虚拟网络并用ifconfig验证
    [root@room9pc01 ~]# virsh net-define /etc/libvirt/qemu/networks/vbr.xml #定义vbr虚拟网络,用绝对路径定义
    [root@room9pc01 ~]# virsh net-start vbr #启动vbr虚拟网络
    [root@room9pc01 ~]# ifconfig #ifconfig验证
    vbr: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 192.168.1.254 netmask 255.255.255.0 broadcast 192.168.1.255
    ether 52:54:00:b7:1c:10 txqueuelen 1000 (Ethernet)
    RX packets 2460 bytes 176958 (172.8 KiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 1948 bytes 532542 (520.0 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    设置vbr虚拟网络开机自启动
    [root@room9pc01 ~]# virsh net-autostart vbr

    virsh 虚拟网络管理命令:
    virsh net-list [–all] 列出虚拟网络
    virsh net-start 启动虚拟交换机
    virsh net-destroy 强制停止虚拟交换机
    virsh net-define 根据xml文件创建虚拟网络,要用绝对路径定义
    virsh net-undefine 删除一个虚拟网络设备
    virsh net-edit 修改虚拟机交换机配置
    virsh net-autostart 设置虚拟交换机开机自启动
    修改虚拟机配置文件,让虚拟机连通外网

    vim /etc/libvirt/qemu/openstack.xml
    openstack #虚拟机域名
    7488282 #虚拟机最大使用内存,可以手动调整
    7488282 #创建虚拟机使用内存
    2 #cup核数
    #虚拟机硬盘文件
    #指定网络交换设备

    [root@GGD ~]# vim /etc/resolv.conf #修改DNS解析
    nameserver 8.8.8.8

    展开全文
  • VMware恢复虚拟网络默认设置

    千次阅读 2018-11-26 22:12:22
    恢复虚拟网络默认设置(必须断电状态–即虚拟机关机状态) 具体步骤: 编辑 – 虚拟网络编辑器 – 还原默认设置 – 确定
  • VM虚拟网络编辑器

    千次阅读 2018-04-10 20:31:25
    VM虚拟网络编辑器 1. 安装VMwareWorkstation虚拟机软件前物理主机网络接口和物理网络拓扑结构如图1 所示 2. 安装VMwareWorkstation虚拟机软件后物理主机网络接口物理网络拓扑结构如图2 所示 说明:安装完VMware 后,...
  • VMware虚拟网络与三种网络模式

    千次阅读 2018-06-28 11:47:25
    VMware虚拟网络 网卡是局域网中连接计算机和传输介质的接口,当安装完VMware时就会为所在主机安装上主机虚拟网卡,当使用VMware安装虚拟机时都会为虚拟机自动安装一块虚拟网卡,当然我们也可以手动添加虚拟机的...
  • 上面一篇文章介绍了虚拟网络的基本概念,下面就动手实验一下: 创建虚拟网络 首先,从门户的左侧选择网络,然后点击右侧的创建按钮 输入网络基本信息,包括名称、区域和地缘组。地缘组的用途,是限制资源的...
  • VMware-重要设置-虚拟网络编辑器

    千次阅读 2019-10-20 11:51:05
    您可以使用虚拟网络编辑器执行以下操作:查看和更改关键网络连接设置,添加和移除虚拟网络以及创建自定义虚拟网络连接配置。在虚拟网络编辑器中所做的更改影响在主机系统中运行的所有虚拟机。 二、打开虚拟网络...
  • 学习Linux Bridge与利用Bridge创建虚拟网络

    千次阅读 多人点赞 2021-03-22 23:43:25
    学习Linux Bridge并用Bridge创建虚拟网络** 一、Linux Bridge简介 Linux Bridge 模拟了物理网络中网桥的概念,既将若干个服务器的端口加入到网桥中,网桥端口对端相连的设备发送报文给Linux Bridge,并通过Linux ...
  • 他喜欢与大家分享一些相关知识,这里笔者整理了一篇有关如何解决使用Hyper-V外部虚拟网络交换机时产生的网络连接问题。 微软Hyper-V提供了三种类型的虚拟网络交换机:内部、私人和外部。这些虚拟网络交换机是使用...
  • 虚拟网络技术:ipvlan

    千次阅读 2019-09-07 13:28:52
    本文首发于我的公众号码农之屋(id:Spider1818),专注于干货分享,包含但不限于Java编程...=4.2,和macvlan类似,都是从一个主机接口虚拟出多个虚拟网络接口,ipvlan虚拟出的子接口共有物理接口的mac地址,但可配置...
  • Azure连接2个虚拟网络

    千次阅读 2016-12-21 09:45:47
    笔者就遇到在Azure需要连接2个虚拟网络的需求,因为建了2个虚拟网络,里面分别有虚拟机,本来在网络1的虚拟机下载好了几个G的文件,现在在网络2的虚拟机要用,不想重新下载一次,于是乎,就开始倒腾把2个虚拟网络...
  • 虚拟网络感知技术

    千次阅读 2014-01-27 14:27:39
     VN-Tag的核心思想就是在现有的以太网数据桢的VLAN标识前面(或者源/目的MAC后面)增加一个专用标记字段VN-Tag,这个VN-Tag主要是dvif_id和svif_id一对地址,分别对应于源和目的虚拟机的虚拟网络接口VIF,
  • Linux上虚拟网络与真实网络的映射

    千次阅读 2015-09-07 20:06:27
    随着云计算技术的发展,如何以类似物理网络的方式分割虚拟网络成为热点,物理网络也引入了更多支持虚拟化的网络技术,使得问题更加复杂。本文将阐述在 Linux 上如何模拟出传统网络及支持虚拟化技术的网络 ,并介绍其...
  • Linux虚拟网络基础—tap(虚拟以太设备) 前言 虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。本文将介绍tun/tap驱动的使用并分析虚拟网卡tun/tap驱动程序...
  • 物理网络与虚拟网络的集成

    千次阅读 2014-05-28 10:39:51
    物理网络与虚拟网络集成主要想谈两件事:物理交换机是Trunk还是Access,物理交换机是双上联还是单上联。 1) Trunk还是Access
  • 只需创建虚拟网络,从您的设备和系统加入虚拟网络,批准对您添加的内容的授权,就可以完成!诸如我们的网络规则引擎之类的高级功能可帮助您像专业人士一样管理网络,而自动的端到端加密可确保一切安全私密。 开源的...
  • 虚拟机我们每天都在用,只要虚拟机开的够多,寂寞就追不上我。... 这次,几台Linux主机是跑在远端的VMware上,网络模式我选的是NAT模式(强迫症的IP就要整整齐齐),既它们是在一个虚拟网络中,不和...
  • Linux 上虚拟网络与真实网络的映射

    千次阅读 2014-03-26 13:27:10
    随着云计算技术的发展,如何以类似物理网络的方式分割虚拟网络成为热点,物理网络也引入了更多支持虚拟化的网络技术,使得问题更加复杂。本文将阐述在 Linux 上如何模拟出传统网络及支持虚拟化技术的网络 ,并介绍其...
  • 1、打开VMware虚拟网络编辑器 编辑--&gt;虚拟网络编辑器--&gt;VMnet8--&gt;更改设置     2、配置主机网络地址   3、修改宿主机网络配置   4、所有配置完成就可以在宿主机中通过Xshell...
  • Red Hat OpenStack Platform 12 GA刚发布,有几个地方很有意思。 1.使用ansible+container 方式部署OpenStack , 2.使用OVN管理OpenStack虚拟网络
  • 如何将虚拟机添加到虚拟网络? 如何将虚拟机放入虚拟机网络与不建虚拟机网络的区别? 如何将已有虚拟机放入新建虚拟网络
  • 虚拟网络接口实现原理

    千次阅读 2017-01-07 17:42:47
    一、虚拟网络接口实现原理 在上图中c侧Virtual interface A 的IP地址为192.168.2.2/24,该侧另有一个以太口eth0 ip地址为192.168.1.2/24;s侧Virtual interface A的IP地址为192.168.2.6/24,同时该侧也有一个以...
  • 博主之前尝试过许多方法,包括输入各种命令行、重新安装新的驱动、因为是初学稀里糊涂。。。。。...重启电脑,然后再重新安装WMware之类的虚拟机之后就可以再网络连接里看到期待已久的虚拟网络了...
  • Linux虚拟网络基础——tap

    千次阅读 2018-04-24 21:34:36
    两者都是操作系统内核中的虚拟网络设备。tap位于二层,tun位于三层。需要说明的是,这里所说的设备是Linux的概念,并不是我们平时生活中所说的设备。比如,生活中,我们常常把一台物理路由器称为一台设备。而Linux所...
  • VMware Fusion pro 10 添加虚拟网络

    千次阅读 2018-09-11 10:57:33
    VMware Fusion pro 10 添加虚拟网络 听说mac系统与linux极其类似,所以申请了一台macbook air,但问题来了,不管在哪个系统里,用做测试的虚拟机是必不可少的。在windows上一般使用的是vmware workstation 14,在...
  • ESXi虚拟网络配置的几点认识

    千次阅读 2019-01-08 01:29:38
    玩了几天ESXi,虚拟网络配置方便绕了一些圈子特意总结一下,目前还不能说对此非常精通,但是一点一点积累吧。   网络部署图 以下是简单的服务器网络部署图,在拓扑图中规划了三个网络,一个是外网:WAN,一个是...
  • VMware虚拟网络相关知识

    千次阅读 2010-03-07 20:59:00
    VMware虚拟网络相关知识 虚拟网桥 通过虚拟网桥把虚拟机的虚拟网卡连接到宿主机的物理网卡上。通过它可以将虚拟机连接到宿主机所在的外部网络。如果宿主机上不止是一个物理网卡时,采用定制配置,创建另外的虚拟...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,066
精华内容 22,826
关键字:

虚拟网络