在network节点把ens36配置桥接到br-ex这个ovs网桥,并配置为br-ex为固定IP
ifcfg-ens36文件内容如下:
TYPE="OVSPort"
DEVICETYPE="ovs"
OVS_BRIDGE="br-ex"
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=ens36
DEVICE=ens36
ONBOOT=yes
ifcfg-br-ex文件内容如下:
TYPE=OVSBridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=br-ex
DEVICE=br-ex
DEVICETYPE=ovs
ONBOOT=yes
IPADDR=192.168.79.86
NETMASK=255.255.255.0
GATEWAY=192.168.79.1
systemctl restart network
修改/etc/neutron/plugins/ml2/openvswitch_agent.ini
bridge_mappings = physnet1:br-ex
systemctl restart neutron-openvswitch-agent.service
修改/etc/neutron/l3_agent.ini
external_network_bridge =
systemctl restart neutron-l3-agent.service
路由测试
1)创建外网及外网子网outside_subnet 192.168.79.0/24
2)创建内网及内网子网mysubnet1 10.0.0.0/24
3)可以新建路由,指定外部网络为outside_subnet,并把内网端口跟路由连接并启用SNAT
4)创建实例接入内网(注意外部网络的端口不能直接跟虚拟机连接,虽然在创建的时候可以选择,但实例会因此创建失败)。这时测试SNAT,可以在实例直接PING通外网
5)浮动IP测试,分配浮动IP给项目。把浮动IP绑定到实例。记得修改安全组允许ssh入方向及ICMP可以访问。测试在外部网络可以直接SSH到实例
安全组测试:注意默认入方向都是禁止访问的。需要修改default安全组以允许外部网络访问实例