在这之前,先把之前基于flat模式创建的虚机,全部删除
控制节点:
配置
修改/etc/neutron/neutron.conf的[DEFAULT]区域
将
core_plugin = ml2
service_plugins =
修改为
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True
修改/etc/neutron/plugins/ml2/ml2_conf.ini文件
[ml2]区域修改如下
将
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
修改为
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
在[ml2_type_vxlan]区域增加一行
vni_ranges = 1:1000
最终的配置文件如下
[root@controller ~]# cat /etc/neutron/plugins/ml2/ml2_conf.ini
[DEFAULT]
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security
[ml2_type_flat]
flat_networks = provider
[ml2_type_geneve]
[ml2_type_gre]
[ml2_type_vlan]
[ml2_type_vxlan]
vni_ranges = 1:1000
[securitygroup]
enable_ipset = True
修改/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件
在[vxlan]区域下
将
enable_vxlan = False
修改为
enable_vxlan = True
local_ip = 172.16.0.11
l2_population = True
#172.16.0.11这个IP还没有,马上就配,主机规划的第二块网卡,就是现在用的
最终的配置文件如下
[root@controller ~]# cat /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[DEFAULT]
[agent]
[linux_bridge]
physical_interface_mappings = provider:eth0
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
[vxlan]
enable_vxlan = True
local_ip = 172.16.0.11
l2_population = True
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.0.11
NETMASK=255.255.255.0
千万不要重启网卡!!!
我们使用ifconfig命令来添加网卡
ifconfig eth1 172.16.0.11 netmask 255.255.255.0
修改/etc/neutron/l3_agent.ini文件
在[DEFAULT]区域下,增加下面两行
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =
启动
systemctl restart neutron-server.service \
neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
neutron-metadata-agent.service
systemctl start neutron-l3-agent.service
在vi /etc/rc.d/rc.local最后一行加上l3-agent的开机启动
systemctl start neutron-l3-agent.service
计算节点:
配置
修改/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件
在[vxlan]区域下
将
enable_vxlan = False
修改为
enable_vxlan = True
local_ip = 172.16.0.31
l2_population = True
最终的配置文件如下:
[root@compute1 ~]# cat /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[DEFAULT]
[agent]
[linux_bridge]
physical_interface_mappings = provider:eth0
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
[vxlan]
enable_vxlan = True
local_ip = 172.16.0.31
l2_population = True
#这个ip暂时没有,所以也需要配置
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.0.31
NETMASK=255.255.255.0
千万不要重启网卡!!!
我们使用ifconfig命令来添加网卡
ifconfig eth1 172.16.0.31 netmask 255.255.255.0
测试与控制节点的联通性
启动
重启agent服务
systemctl restart neutron-linuxbridge-agent.service
回到控制节点
vi /etc/openstack-dashboard/local_settings
将263行的
'enable_router': False,
修改为
'enable_router': True,
systemctl restart httpd.service memcached.service
在dashboard上开启三层路由
只有修改了/etc/openstack-dashboard/local_settings,才能开启三层路由器
查看网络拓扑
再次查看网络拓扑,发现图标已经变成外部网络了
再次查看网络拓扑
基于project01网络创建虚机
回到控制节点
到这里,有云主机的小伙伴们,是不是觉得时曾相识?没错!公有云也是这么干的!
这个浮动IP底层,还是使用的iptable技术