本章内容基于之前提供者网络构建的基础上进行改动,之前文章参考如下:
Openstack 网络服务 Neutron介绍和控制节点部署 (九)
Openstack 网络服务 Neutron计算节点部署(十)
Neutron 私有网络构建
1、控制节点,编辑/etc/neutron/neutron.conf文件并完成如下操作:
- 在[DEFAULT]部分,启用Modular Layer 2 (ML2)插件,路由服务和重叠的IP地址
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True
提示:allow_overlapping_ips 允许每个项目都可以构建相同的IP
2、控制节点,编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件并完成以下操作:
- 在[ml2]部分,启用VXLAN私有网络
tenant_network_types = vxlan
- 在[ml2]部分,启用Linuxbridge和layer-2机制
mechanism_drivers = linuxbridge,openvswitch,l2population
- 在[ml2_type_flat]部分,配置公共虚拟网络为flat网络
flat_networks = public
- 在[ml2_type_vxlan]部分,为私有网络配置VXLAN网络识别的网络范围
vni_ranges = 1:1000
3、计算节点,编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并且完成以下操作:
- 在[vxlan]部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population
enable_vxlan = True
local_ip = 192.168.137.11
l2_population = True
提示:每台计算节点的local_ip地址
- 在[linux_bridge]部分,将公共虚拟网络和公共物理网络接口对应起来
physical_interface_mappings = public:eth0
4、控制节点,配置layer-3代理
Layer-3代理为私有虚拟网络提供路由和NAT服务。
编辑/etc/neutron/l3_agent.ini文件并完成以下操作:
- 在[DEFAULT]部分,配置Linuxbridge接口驱动和外部网络网桥
[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =
5、服务重启
systemctl restart neutron-server.service
systemctl restart neutron-linuxbridge-agent.service
6、启用layer-3服务并设置其随系统自启动
systemctl enable neutron-l3-agent.service
systemctl start neutron-l3-agent.service
7、检查
source /root/admin-openstack.sh
neutron agent-list
8、创建自服务网络
source /root/demo-openstack.sh
neutron net-create selfservice
9、在网络上创建一个子网
neutron subnet-create --name selfservice \
--dns-nameserver 8.8.4.4 --gateway 172.16.1.1 \
selfservice 172.16.1.0/24
10、添加router:external到public网络
私有网络通过虚拟路由来连接到公有网络,以双向NAT最为典型。每个路由包含至少一个连接到私有网络的接口以及一个连接到公有网络的网关的接口。
source /root/admin-openstack.sh
neutron net-update public --router:external
11、创建路由
source /root/demo-openstack.sh
neutron router-create router
12、给路由器添加一个私网子网的接口
neutron router-interface-add router selfservice
13、给路由器设置公有网络的网关
neutron router-gateway-set router public-net
14、验证
source /root/admin-openstack.sh
ip netns
neutron router-port-list router
15、Horizon配置/etc/openstack-dashboard/local_settings
OPENSTACK_NEUTRON_NETWORK = {
'enable_router': True,
'enable_quotas': True,
'enable_ipv6': True,
'enable_distributed_router': True,
'enable_ha_router': True,
'enable_lb': True,
'enable_firewall': True,
'enable_vpn': False,
'enable_fip_topology_check': True,
16、服务重启
systemctl restart httpd.service