libvert 虚拟化网络配置详解

libvert 虚拟化网络配置详解

基本虚拟libvert虚拟化网络

                                                                libvert network 网络架构图
bridge 和 tap/tun

桥是一个接口,桥由多个接口共同构成,在以太层把每一个接口收到的数据复制到其他接口。向桥写入数据时,桥内所有的接口都会收到

tap/tun简单的说时一块虚拟网卡。tap是以太层设备,tun是IP层设备。用户空间的程序向tap/tun写入数据,这些数据会传送到内核的网络模块;内核的网络模块写入数据,这些数据又可以被用户空间的程序读到。实现了宿主和Guest之间的共享接口。当guest机器的IP和宿主IP在同一个子网中时,连上这块虚拟网卡的虚拟机就可以和宿主通信。

bridge模式

Linux每启动一个VM,就会为这个VM创建一个tap设备,名字叫vnetx,然后将这块虚拟网卡加入桥设备brx,桥设备具体和那一块网卡绑定由用户自己决定。

...
  <devices>
    <interface type='bridge'>
      <source bridge='br0'/>
      <mac address='00:14:41:12:ac'/>
    </interface>
...

其中整个操作如下:

 1. 安装uml-utilities和bridge-utils这两个工具分别含有tunctl和brctl命令。

2. 生成一个新的TAP接口 tunctl -t tap1 -u

3. 生成一个叫做br0的bridge brctl addbr br0 4

. 把真实网卡加到bridge br0的一端 brctl addif br0 eth0

5. 把上面生成的TAP接口加到bridge br0的另一端 brctl addif br0 tap1

6. 激活TAP fconfig tap1 up

7. 设置/dev/net/tun的读写权限 chmod 0666 /dev/net/tun

quantum 四种虚拟网络设备

 

在配置openstack时,quantum选择使用openvswitch,当创建完VM后,ifconfig显示的各种虚拟接口未免让人凌乱,但主要包含以下四类网络接口: TAP devices、veth pairs、 Linux bridges、和 Open vSwitch bridges。

连接情况参照下图:


TAP devices:如图中的vnet0,是hypervisor实现的一块虚拟接口卡,发送到TAP接口上的数据都会被VM接收,hypervisor则把VM的数据通过TAP接口向外发送。

veth pairs:如图中的qvbXXX和qvoXXX,一对虚拟接口卡,连接openvswitch br-int和linux 桥接网卡。

Linux bridges:如图中qbrXXX,linux的网桥,用来了解openvswitch和hypervisor的TAP接口。

Opn vSwitch bridges:虚拟交换机,像物理交换机一样,具备Vlan隔离等特性,通过端口配置,可以隔离VM以及通过虚拟交换机实现将VM和真实网络的互通。

值得注意的是,上图为什么不直接将VM连接到openvswitch,而是经过Linux Bridge进行了中转。因为Openstack通过iptable执行虚拟机的安全策略,而openvswitch的接口并不支持iptable。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值