Linux 络虚拟化之vxlan

        vxlan 络的唯一标识vni占用24个比特,所以它能虚拟的 络接近17万个,远高于vlan的4096个。另外因为vxlan是三层 络之上的覆盖 络,通过将二层的链路桢封装成UDP数据 进行传输,因此vxlan具备更好的可扩展性。同时因为将原本位于交换机中的转发表条目转移到了终端主机上,有效的减小了交换机的负担,使整个 络的负载更均衡。vxlan是有转发表的,只是关键字由原来的mac地址变成vni,当然也有自学习功能,实际上可以通过bridge命令手动增加、删除vxlan的转发表。

1.实验环境

        用VirtualBox创建两台虚拟机ubuntu-01与ubuntu-02,使用ubuntu-16.04.3-server-amd64.iso镜像,选装镜像自带的Virtual Machine功能以便于创建KVM虚拟机。另外手动安装桌面环境及virt-manager软件。

         ubuntu-01与ubuntu-02 卡设置如下表1:

卡名称 络类型 作用
enp0s3 nat 络 连接外部 络,主要用于安装软件包
enp0s8 仅主机(Host-Only) 络 连接ubuntu-01与ubuntu-01的三层 络。vxlan 络就构筑在此三层 络之上。

                                                                                                表1

2.组 图

        本例计划搭建 络的基本说明:vni为1000、覆盖ubuntu-01与ubuntu-02两台主机、 络带有DHCP功能、能连接外部 络。组 图如下图1:

Linux 络虚拟化之vxlan

                                                                                             图1

上图中的橙色部分表示在ubuntu-01中用dnsmasq为整个vxlan 络提供DHCP功能。绿色部分表示在ubuntu-01为整个vxlan 络提供三层路由、连接外 的功能。红色部分则表示们于vxlan之下的三层 络,由VirtualBox的仅主机(Host-Only) 络提供。

3.vxlan IP地址规划

络名称 vni DHCP地址 IP地址范围
test-br-01 1000 172.16.0.1 172.16.0.2 172.16.0.3/24~172.16.0.50/24

4.创建vxlan 络

  • 登录ubuntu-01,配置dnsmas1,创建文件/etc/test-dnsmasq.conf,添加如下内容:
  • 在 卡enp0s8上创建vxlan从设备enp0s8vx.1000,有两种方法:

方法一:

解释:因我本次创建的vxlan 络只覆盖ubuntu-01与ubuntu-02两台主机,那么在两台主机之间创建一个点对点的隧道就可以保证vxlan所依赖的三层互通。但是,如果所覆盖的 络大于2台,那么就需要创建一个组播组,来模拟二层广播域,用来广播arp、dhcp请求,在这种情况下,请看方法二。

方法二:

  • 创建 桥test-br-01,并挂接enp0s8vx.1000:
  • 启动dnsmasq
  • 配置ubuntu-02

因为dhcp及三层 络是在ubuntu-01中配置的,所以ubuntu-02的配置要简单一些,root登录ubuntu-02执行如下指令:

至此vxlan的二层 络已经搭建完成。

5.配置三层 络

按图1中的规划,需要在ubunt-01上为整个vlan 络提供三层服务。步骤如下。

  • 用root账户登录ubuntu-01
  • 为test-br-01设置IP地址,使它可以向ubuntu-01的 络栈注入数据
  • 设置iptables的转发及nat规则

至此,vlan 络的二层及三层全部搭建完成。

6.测试 络

在ubuntu-01上创建KVM虚拟机test01,并连接到vlan 络test-br-01上。在ubuntu-02上执行同样的操作。登录所创建的虚拟机查看ip分配情况,及测试连接性。

通过ifconfig命令可以看到,两台虚拟机都正确分配到了test-br-01 络上的IP地址。运行ping命令,是可以互通的。另外在两台虚拟机中ping外 地址也是可以通过的。如果正确设备了DNS服务器地址,就可以解析域名了。

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24910 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年2月11日
下一篇 2018年2月11日

相关推荐