Openstack实现共有云VPC的SDN网络
Neutron的第二个网络模型,自服务网络
参考官方文档:https://docs.openstack.org/newton/zh_CN/install-guide-rdo/neutron-controller-install-option2.html
在控制节点数据库,消息队列,keystone之前已经配置好
编辑``/etc/neutron/neutron.conf`` 文件并完成如下操作
[DEFAULT] ... service_plugins = router allow_overlapping_ips = True
编辑``/etc/neutron/plugins/ml2/ml2_conf.ini``文件并完成以下操作:
在``[ml2]``部分,启用flat,VLAN以及VXLAN网络:
[ml2] type_drivers = flat,vlan,local,gre,vxlan,geneve
在``[ml2]``部分,启用VXLAN私有网络:
[ml2] ... tenant_network_types = flat,vlan,gre,vxlan,geneve
在``[ml2]``部分,启用Linuxbridge和l2机制(原配置已经有linuxbridge):
[ml2] ... mechanism_drivers = linuxbridge,l2population
在``[ml2]`` 部分,启用端口安全扩展驱动:
[ml2] ... extension_drivers = port_security
在``[ml2_type_flat]``部分,配置公共虚拟网络为flat网络(之前已经修改并且添加了internal):
[ml2_type_flat] ... flat_networks = provider
在``[ml2_type_vxlan]``部分,为私有网络配置VXLAN网络识别的网络范围
[ml2_type_vxlan] ... vni_ranges = 1:1000
在``[securitygroup]``部分,启用ipset增加安全组的方便性(之前已配置):
[securitygroup] ... enable_ipset = True
配置Linuxbridge代理
Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则。
编辑``/etc/neutron/plugins/ml2/linuxbridge_agent.ini``文件并且完成以下操作:
在``[linux_bridge]``部分,将公共虚拟网络和公共物理网络接口对应起来(之前已修改):
[linux_bridge] physical_interface_mappings = provider:eth0,internal:eth1
在``[vxlan]``部分,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population:
enable_vxlan之前配置为False
local_ip为本地ip一会修改计算节点也是计算节点的本地ip
[vxlan] enable_vxlan = True local_ip =192.168.0.112 l2_population = True
在``[securitygroup]``部分,启用安全组并配置 Linux 桥接iptables防火墙驱动(之前已修改):
[securitygroup] enable_security_group = True firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
配置layer-3代理
未完待续。。。