openstack配置虚拟机浮动ip,访问外网


搭建环境如下
packstack --allinone
服务器网卡为单块网卡

1.cd /etc/sysconfig/network-scripts/
新建ifcfg-br-ex,填入一下信息,替换自己真实的ip
cat ifcfg-br-ex

TYPE=OVSBridge
BOOTPROTO=none
DEVICE=br-ex
ONBOOT=yes
DEVICETYPE=ovs
IPADDR=192.168.X.X
PREFIX=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114

其中ifcfg-ens33为你本机默认的网卡名,修改成一下内容
cat ifcfg-ens33

TYPE=OVSPort
DEVICE=ens33
ONBOOT=yes
DEVICETYPE=ovs
OVS_BRIDGE=br-ex

重启网络服务
systemctl restart network
ifconfig查看会多出一个br-ex的信息,下面有本机的ip地址

ovs-vsctl show 可以看到我们的网桥br-ex ens33属于下面的一个接口
a0ea25dd-299a-4a31-8ba4-239eb21b94a4
Manager "ptcp:6640:127.0.0.1"
is_connected: true
Bridge br-ex
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port "ens33"
Interface "ens33"
Port br-ex
Interface br-ex
type: internal
Port phy-br-ex
Interface phy-br-ex
type: patch
options: {peer=int-br-ex}

2.进入openstack的web后台
进入管理员下面的网络-网络,删除默认的网络。然后选择创建网络,

 

 

 

网络类型选择flat,一定要勾选外部网络
物理网络这块要注意,名称需要对应配置文件/etc/neutron/plugins/ml2/openvswitch_agent.ini里面的bridge_mappings=extnet
:br-ex,所以我们这里需要填extnet
本地测试环境在192.168.1.1网段,所以我的子网信息如下,子网详情如下

 

 

3.搭建完成之后在项目-网络-网络-创建网络,建立内网信息,随便填。


4.项目-网络-路由,新建路由。然后编辑路由添加2个端口分别对应刚创建的公网及私网。

新建路由时,需要选择外部网络。编辑路由进入接口,添加私网到路由

 

 路由接口对应2个网络,内网和外网。

5.建立完成可以到服务器上验证 ip netns list可以看到3条信息,其中qrouter-d0b32835-4855-44d4-a44c-5fa99970a0e7为路由信息,

 

 

 ip netns exec qrouter-d0b32835-4855-44d4-a44c-5fa99970a0e7 bash

进入路由实例,ifconfig可以查看到网卡ip信息

ping baidu.com测试能通外网

6.openstack创建好虚拟机实例之后就可以直接分配浮动ip访问外网了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM