Openstack 具有nova和浮动IP的最小devstack
我正在尝试设置一个最小的devstack,它可以启动nova实例,一些实例将具有公共地址,一些实例将需要打开到公共网络的连接。我希望能够将浮动IP分配给实例,并使来自具有公共地址的实例的流量到达公共网络 寻址 Devstack将运行在一个带有两个物理接口的Ubuntu 14.04设备上。第一个接口Openstack 具有nova和浮动IP的最小devstack,openstack,devstack,openstack-neutron,openvswitch,Openstack,Devstack,Openstack Neutron,Openvswitch,我正在尝试设置一个最小的devstack,它可以启动nova实例,一些实例将具有公共地址,一些实例将需要打开到公共网络的连接。我希望能够将浮动IP分配给实例,并使来自具有公共地址的实例的流量到达公共网络 寻址 Devstack将运行在一个带有两个物理接口的Ubuntu 14.04设备上。第一个接口eth0在10.48.4.0/22上,我拥有地址10.48.6.232;这是到该框的管理连接。第二个接口eth1位于10.48.8.0/22上,拥有地址10.48.11.6和10.48.11.57-10
eth0
在10.48.4.0/22上,我拥有地址10.48.6.232;这是到该框的管理连接。第二个接口eth1
位于10.48.8.0/22上,拥有地址10.48.11.6和10.48.11.57-10.48.11.59eth1
配置为使用10.48.11.6地址,为浮动范围留下一个小的地址池
auto eth1
iface eth1 inet static
address 10.48.11.6
netmask 255.255.252.0
我想使用范围10.48.11.57-10.48.11.59作为浮动IP池。这构成了我的local.conf
[[local|localrc]]
# Devstack host IP eth1 address
HOST_IP=10.48.11.6
# Private network
FIXED_RANGE=10.90.100.0/24
NETWORK_GATEWAY=10.90.100.1
# Public network
Q_FLOATING_ALLOCATION_POOL=start=10.48.11.57,end=10.48.11.59
FLOATING_RANGE=10.48.8.0/22
PUBLIC_NETWORK_GATEWAY=10.48.8.1
# Public network is eth1
PUBLIC_INTERFACE=eth1
ML2
mylocal.conf
的相关部分的其余部分是配置中子和ovs以使用公共网络。我已经按照中评论中的说明进行了操作
结果网络
我将演示项目的默认安全策略更改为允许
由此产生的网络在devstack主机和专用子网之间路由流量,但不在devstack主机和10.48.8.0/22
之间、实例和物理10.48.8.0/22
之间或物理10.48.8.0/22
网络和公共10.48.8.0/22
子网之间路由流量
\ destination gateway devstack router1 private
source \ 10.48.8.1 10.48.11.6 10.48.11.57 10.90.100.0/24
physical pings X X na
10.48.8.0/22
devstack X pings pings pings
10.48.11.6
private X pings pings pings
10.90.100.0/24
离开公共
网络的流量应到达物理网络。离开专用
网络的流量应接入公用
网络。从物理网络进入的流量应到达公共
网络
由此产生的ovs桥是
$sudo ovs-vsctl show
33ab25b5-f5d9-4f9f-b30e-20452d099f2c
Bridge br-ex
Port phy-br-ex
Interface phy-br-ex
type: patch
options: {peer=int-br-ex}
Port "eth1"
Interface "eth1"
Port br-ex
Interface br-ex
type: internal
Bridge br-int
fail_mode: secure
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port int-br-ex
Interface int-br-ex
type: patch
options: {peer=phy-br-ex}
Port "tapc5733ec7-e7"
tag: 1
Interface "tapc5733ec7-e7"
type: internal
Port "qvo280f2d3e-14"
tag: 1
Interface "qvo280f2d3e-14"
Port br-int
Interface br-int
type: internal
Port "qr-9a91aae3-7c"
tag: 1
Interface "qr-9a91aae3-7c"
type: internal
Port "qr-54611e0f-77"
tag: 1
Interface "qr-54611e0f-77"
type: internal
Port "qg-9a39ed65-f0"
tag: 2
Interface "qg-9a39ed65-f0"
type: internal
Bridge br-tun
fail_mode: secure
Port br-tun
Interface br-tun
type: internal
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
ovs_version: "2.0.2"
devstack框上的路由表为
$ip route
default via 10.48.4.1 dev eth0
10.48.4.0/22 dev eth0 proto kernel scope link src 10.48.6.232
10.48.8.0/22 dev br-ex proto kernel scope link src 10.48.11.6
10.90.100.0/24 via 10.48.11.57 dev br-ex
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
router1
的路由表为
$sudo ip netns exec qrouter-cf0137a4-49cc-45f9-bad8-5d71340b5462 ip route
default via 10.48.8.1 dev qg-9a39ed65-f0
10.48.8.0/22 dev qg-9a39ed65-f0 proto kernel scope link src 10.48.11.57
10.90.100.0/24 dev qr-9a91aae3-7c proto kernel scope link src 10.90.100.1
怎么了?我如何设置一个简单的devstack,它可以为nova实例托管公共和私有接口?我投票将这个问题作为离题题来结束,因为这个问题属于(已经存在的地方)请看这里:
$sudo ip netns exec qrouter-cf0137a4-49cc-45f9-bad8-5d71340b5462 ip route
default via 10.48.8.1 dev qg-9a39ed65-f0
10.48.8.0/22 dev qg-9a39ed65-f0 proto kernel scope link src 10.48.11.57
10.90.100.0/24 dev qr-9a91aae3-7c proto kernel scope link src 10.90.100.1