Neutron总结-linuxbridge+vlan网络

本篇文章介绍如何规划及创建linuxbridge+vlan网络,实现实例间及实例与外部的通讯。读者应对OpenStack及其网络服务Neutron有初步的了解。

1.规划网络

部署节点为一个controller节点(包含网络节点),两个compute节点。controller节点有3个网卡,分别为eth0(管理和API网络,CIDR为11.11.175.0/24)、eth1(租户网络,不设置IP)、eth2(外部网络,CIDR为10.10.10.0/24,不设置IP);compute节点有2个网卡,分别为eth0(管理和API网络,CIDR为11.11.175.0/24)、eth1(租户网络,不设置IP)。
Neutron总结-linuxbridge+vlan网络_第1张图片

Neutron ML2的Type Driver为vlan
Neutron ML2的Mechanism Driver为LinuxBridge
Neutron L2 Agent为LinuxBridge

Neutron总结-linuxbridge+vlan网络_第2张图片

2.创建虚拟网络

修改配置文件
/etc/neutron/plugins/ml2/ml2_conf.ini
Neutron总结-linuxbridge+vlan网络_第3张图片
/etc/neutron/plugins/ml2/linuxbridge_agent.ini
注意:这里没有用到vxlan网络,enable_vxlan必须设置为False,否则会报错。
Neutron总结-linuxbridge+vlan网络_第4张图片
/etc/neutron/l3_agent.ini
这里写图片描述
/etc/neutron/dhcp_agent.ini
Neutron总结-linuxbridge+vlan网络_第5张图片

配置文件修改后,需要重启网络相关服务。

登陆到dashboard,可以查看网络服务信息。
controller节点启动了 neturon-metadata-agent、neutron-l3-agent、neutron-linuxbridge-agent、neutron-dhcp-agent
compute节点启动了 neutron-linuxbridge-agent
Neutron总结-linuxbridge+vlan网络_第6张图片

创建vlan100网络,物理网络为provider(和前面的配置一致,否则报错),网络地址为172.16.100.0/24
Neutron总结-linuxbridge+vlan网络_第7张图片

创建vlan101网络,物理网络为provider(和前面的配置一致,否则报错),网络地址为172.16.101.0/24
Neutron总结-linuxbridge+vlan网络_第8张图片

创建外部网络,物理网络为external(和前面的配置一致,否则报错),网络地址为10.10.10.0/24
Neutron总结-linuxbridge+vlan网络_第9张图片

创建路由器,把vlan网络和外部网络连通
Neutron总结-linuxbridge+vlan网络_第10张图片

我们的网络环境就准备好了。

3.测试网络

创建3个实例,2个选择vlan100网络,1个选择vlan101网络。
其中:test1、test3被调度到compute1节点,test2被调度到compute2节点。
Neutron总结-linuxbridge+vlan网络_第11张图片

查看网络拓扑。两个vlan网络均通过路由器连接到了外网,并且两个vlan网络也通过路由器连接。所以理论上test1、test2、test3能互通,并且也能连通外部网络。
Neutron总结-linuxbridge+vlan网络_第12张图片

为了保证外部能ping通以及能ssh登陆到实例,需要在安全组那加两条规则
Neutron总结-linuxbridge+vlan网络_第13张图片

下面测试网络的连通性:

同一VLAN:172.16.100.11 ping 172.16.100.12
Neutron总结-linuxbridge+vlan网络_第14张图片

不同VLAN:172.16.100.11 ping 172.16.101.11
Neutron总结-linuxbridge+vlan网络_第15张图片

外网:172.16.100.11 ping 10.10.10.100 (确保外网相同网段有一台机器)
Neutron总结-linuxbridge+vlan网络_第16张图片

目前的网络结构如下
Neutron总结-linuxbridge+vlan网络_第17张图片

查看各个节点上面的虚拟网络设备

controller节点
Neutron总结-linuxbridge+vlan网络_第18张图片
compute1节点
Neutron总结-linuxbridge+vlan网络_第19张图片
compute2节点
这里写图片描述

controller节点1个Router、2个DHCP分别在各自的namespace下
可以通过exec查看router细节
Neutron总结-linuxbridge+vlan网络_第20张图片

router的iptables
Neutron总结-linuxbridge+vlan网络_第21张图片

可以通过exec查看dhcp细节
Neutron总结-linuxbridge+vlan网络_第22张图片

再看下更详细的网络结构
controller节点
Neutron总结-linuxbridge+vlan网络_第23张图片

compute节点
Neutron总结-linuxbridge+vlan网络_第24张图片

如果需要从外部网络访问虚拟机,则要添加Floating IP
test1添加floating IP为10.10.10.11
Neutron总结-linuxbridge+vlan网络_第25张图片

测试网络连通:
外网:10.10.10.100 ping 10.10.10.11
Neutron总结-linuxbridge+vlan网络_第26张图片

外网:10.10.10.100 ssh登录到 10.10.10.11
Neutron总结-linuxbridge+vlan网络_第27张图片

查看controller节点router的变化
Neutron总结-linuxbridge+vlan网络_第28张图片

iptables
Neutron总结-linuxbridge+vlan网络_第29张图片

这样我们就创建并且测试了LinuxBridge+vlan网络,验证了网络的连通性。并对Neutron虚拟网络实现的细节进行了描述,希望对大家有帮助。

在Neutron的学习总结过程中,参考了网络上面的大量有价值的文档,在这里对无私分享的同学们表示衷心感谢!尤其是《每天5分钟学习OpenStack》,写的非常详细,本篇文档主要参考了里面的内容,在这里重点推荐:)。

你可能感兴趣的:(云计算,OpenStack,neutron,OpenStack)