使用OpenStack虚机启动的网卡是临时的,虚拟机重启就失效了,虚拟机挂起也会失效,网卡重启也会失效
测试环境: 分别在三台机器上增加一个网卡,选择lan网段,地址172.16.0.0/24
(一)增加一个flat网络原因
我们的openstack当前环境只有一个基于eth0网卡桥接的,它能使用的ip范围有限,就决定着它能创建的实例数量有限,无法超过可用ip的数量,当我们的openstack私有云规模比较大的时候,这时候只有一个网络,就不能满足我们的需求了,所以这里我们来学习如何增加一个网络我们使用的环境是VMware workstation,无法模拟vlan的场景,所以这里我们继续使用flat,网络类型。
(二)添加网卡eth1
分别虚拟机上添加一块网卡,为lan区段,172.16.0.0/24
拷贝ifcfg-eth0 至ifcfg-eth1,修改eth1的地址为172.16.0.0/24地址段,并ifup eth1启动网卡。(切记不要重启网络服务,直接启动对应的网卡)
控制节点:
计算节点1:
计算节点2:
互相进行ping测试,测试连通性
(三)控制节点配置
1:控制节点
a:
vim /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2_type_flat]
增加网络net172.16_0
flat_networks = provider,net172_16_0
b:
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
声明新增网络对应的物理网卡
physical_interface_mappings = provider:eth0,net172_16_0:eth1
c:重启
systemctl restart neutron-server.service neutron-linuxbridge-agent.service
(四)计算节点配置
a:
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:eth0,net172_16_0:eth1
b:重启
systemctl restart neutron-linuxbridge-agent.service
检测:控制节点
neutron agent-list
(五)创建网络
1、命令行创建:
neutron net-create --shared --provider:physical_network net172_16_0
--provider:network_type flat jiage
neutron subnet-create --name jiage
--allocation-pool start=172.16.0.1,end=172.16.0.250
--dns-nameserver 223.5.5.5 --gateway 172.16.0.254
jiage 172.16.0.0/24
查看创建的网络和子网详情
2、web页面创建网络:
管理员-网络-创建网络(供应商:平面)
创建子网
创建实例测试网络是否可用:项目-实例-创建实例(创建过程中可以选择刚创建的网络)
目前网络内网是通的,但是外网不通.因为指定的网关真实并不存在
需要创建一个linux系统作为路由器使用:
基于net172_16网络上网,路由器服务器需要配置:
配置eth0和eth1,但是eth1的网络地址为172.16.0.254,为虚拟机网关地址,不配置网关。
编辑内核配置文件,开启转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
使内核生效
sysctl -p
清空防火墙的filter表
iptables -F
添加转发规则
iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE