在探讨OpenStack中使用Linux Bridge实现VXLAN网络的过程中,我们将涉及以下几个方面的知识点:
1. OpenStack环境部署和网络组件
OpenStack版本为ocata,系统采用Ubuntu 16.04.2,部署了一个控制节点和一个计算节点。控制节点用于管理OpenStack的网络,计算节点负责实例(虚拟机)的运行。每个节点都配置了网络接口,控制节点的ens33接口IP为***.***.*.***,而ens34接口在manual模式下没有配置IP地址,这一点在文中会专门讲解。计算节点的ens33接口IP为***.***.*.***。
2. VXLAN网络配置
VXLAN(Virtual Extensible LAN)是一种网络虚拟化技术,可以将Layer 2网络跨Layer 3网络进行封装传输。在本文中,通过编辑Neutron配置文件来实现VXLAN网络配置。在控制节点中修改/etc/neutron/plugins/ml2/ml2_conf.ini文件,设置tenant_network_types=vxlan,意味着项目创建的内部网络类型为VXLAN。同时,配置flat外部网络的标签为provider,并在创建外部网络时使用。在/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件中配置物理网卡映射,并指定VXLAN的封装IP。
3. 创建外部网络和内部网络
在OpenStack的Dashboard上创建网络的过程涉及创建外部网络和内部网络。外部网络类型可以是flat或vlan,当选择flat类型时,需要指定物理网络的label。创建内部网络时,可以指定网络类型为VXLAN,并为VM配置私有IP地址,比如***.***.*.*/24网段。然后,通过为内部网络添加子网和设置地址池来完成网络的配置。
4. 创建路由器和网络连接
在创建了外部网络和内部网络后,需要创建路由器来连接内部网络和外部网络。外部网络名称被选择为out_side_net,在路由器配置中需要指定。这样配置完成后,VXLAN隧道建立起来,控制节点和计算节点各自创建了VTEP(VXLAN Tunnel Endpoint)来完成封装和解封装数据包的工作。
5. 网络流量过程
网络流量的传输过程是:VM产生的ICMP包发往网桥,然后在VXLAN上封装外层数据包,并通过ens33网卡发送到控制节点。控制节点解封装数据包还原出VM的ICMP包,经过路由器NAT地址转换后,ICMP包从私有地址转换为外网地址。最终,数据包从ens34网卡出发到达公网。返回时的数据包则反向经过相同的流程。
6. Linux Bridge的作用
Linux Bridge在OpenStack网络中扮演了虚拟交换机的角色,它用于连接多个虚拟网络接口,实现不同网络间的数据转发。在VXLAN网络中,Linux Bridge将数据包封装到VXLAN报文中,并通过配置的物理网卡进行传输。
7. Neutron服务和重启网络服务
Neutron是OpenStack项目中负责管理网络服务的组件。文中提到重启neutron-server和neutron-linuxbridge-agent服务来使配置生效。
8. OpenStack网络的复杂性
OpenStack网络因其组件众多且配置复杂而闻名。文中的作者提到,鉴于自身知识能力有限,可能会有理解错误的地方,并欢迎大家指正和交流。这说明理解和部署OpenStack网络是一个复杂且需要持续学习的过程。
通过本文的介绍,我们可以了解到在OpenStack环境中如何利用Linux Bridge来配置和管理VXLAN网络,包括环境部署、配置文件编辑、网络创建、路由器配置以及网络流量过程等技术细节。这些知识点对学习和运用OpenStack网络具有一定的参考价值。