openstack之neutron linuxbridge + vlan组网

简介: linuxbridge是和linuxbridge plugin匹配的core agent,主要实现L2层的功能和security group的功能。security group的功能逐渐会被neutron firewall取代。
linuxbridge是和linuxbridge plugin匹配的core agent,主要实现L2层的功能和security group的功能。security group的功能逐渐会被 neutron firewall取代。
linuxbridge的启动命令在linuxbridge_ neutron_agent.py中;启动的时候需要提供 neutron.conf和linuxbridge_conf.ini配置文件
主要配置项:
 
  linuxbridge_conf.ini
  [vlans]
  network_vlan_ranges = physnet1,physnet2:1000:2999
  tenant_network_type=vlan
  [linux_bridge]
  physical_interface_mappings = physnet1:eth0, physnet2:eth1
  其中physnet1和physnet2表示该节点可用的物理网络名字(physical network, 名字可以随便定义),physical_interface_mappings用来把名字和该网络使用的物理网卡对应起来。

physical_interface_mappings的作用:

  physical_interface_mappings是linuxbridge中最重要的配置项,用来定义节点中的物理网络,可以有多个。openstack中的节点(按功能不同,可分为计算节点,dhcp节点,L3节点等)通过物理网络实现互联。这个物理网络用来实现neutron中定义的虚拟网络拓扑,和openstack的管理网络不是一个,是不同的概念。

  虚拟网络的流量需要通过物理网络承载,而物理网络其实就是该节点上的网卡。在linuxbridge实现中,每个网络对应一个bridge,每个网络又会有一个物理网络(provider:physical_network属性)来承载,与该物理网络对应的网卡(physical_interface_mappings中配置,如physnet1对应eth1),会被加入这个bridge中,这样该网络就可以和外部系统通信了。

  如果虚拟机中需要和外网相连(访问Internet),需要在L3节点(负责路由功能)上配置可以访问外部的物理网络,然后创建一个provider网络 和这个物理网络对应起来。把该provider网络和需要访问外网的虚拟机所在网络加入同一个路由器,即可实现访问外网的功能;

 例子:创建provider网络,public01是该网络的名字,physnet1是物理网络的名字。physical_interface_mappings需要配置physnet1对应的物理网卡,如eth0。

1 $neutron router-create router01
2 $ neutron net-create --tenant-id $tenant public01 \
3           --provider:network_type flat \
4           --provider:physical_network physnet1 \
5           --router:external=True
6 $ neutron subnet-create --tenant-id $tenant --name public01_subnet01 \
7           --gateway 10.64.201.254 public01 10.64.201.0/24 --disable-dhcp
8 $ neutron router-gateway-set router01 public01

  创建可访问外网的网络net01(vlan类型),该网络的物理网络是physnet2。physical_interface_mappings需要配置physnet2对应的物理网卡,如eth1。

$ neutron net-create --tenant-id $tenant net01 \
          --provider:network_type vlan \
          --provider:physical_network physnet2 \
          --provider:segmentation_id 101
$ neutron subnet-create --tenant-id $tenant --name net01_subnet01 net01
192.168.101.0/24
$ neutron router-interface-add router01 net01_subnet01

  创建另外一个可访问外网的网络net02

$ neutron net-create --tenant-id $tenant net02 \
          --provider:network_type vlan \
          --provider:physical_network physnet2 \
          --provider:segmentation_id 102
$ neutron subnet-create --tenant-id $tenant --name net02_subnet01 net02
192.168.102.0/24
$ neutron router-interface-add router01 net02_subnet01

  这两个网络中的VM就可以访问外网,通过SNAT方式。如果需要外部网络直接访问VM,需要给VM分配一个floating IP地址。

 

相关文章
|
负载均衡 安全 网络虚拟化
|
4月前
|
Linux API 数据库
云计算|OpenStack|社区版OpenStack安装部署文档(六 --- 网络服务neutron的安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(六 --- 网络服务neutron的安装部署---Rocky版)
99 0
|
11月前
|
网络架构
Openstack架构构建及详解(5)--Neutron组件
Openstack架构构建及详解(5)--Neutron组件
84 0
|
域名解析
OpenStack使用neutron agent-list缺少组件
OpenStack使用neutron agent-list缺少组件
223 0
OpenStack使用neutron agent-list缺少组件
|
网络架构
【openstack】neutron 体系结构
【openstack】neutron 体系结构
134 0
【openstack】neutron 体系结构
|
负载均衡 安全 Linux
openstack 网络Neutron知识点《openstack》
本人cdsn账号 https://liuyunshengsir.blog.csdn.net/article/details/124927149
693 1
openstack 网络Neutron知识点《openstack》
|
网络架构
Openstack架构构建及详解(5)--Neutron组件
本篇内容记录了Neutron组件的详解与安装。
239 0
Openstack架构构建及详解(5)--Neutron组件
|
云计算 网络虚拟化
基于OpenStack构建企业私有云(5)Neutron
OpenStack Networking Services(Neutron),OpenStack 网络服务,OpenStack核心项目之一,由早期的nova-network独立成一个子项目后演变而来,它为OpenStack提供了云计算环境下的虚拟网络功能。
849 0
基于OpenStack构建企业私有云(5)Neutron