[Openstack] [neutron] how to use multiple external networks?

Scott Lowe scott.lowe at scottlowe.org
Thu Apr 9 01:56:40 UTC 2015


Please see my responses inline, prefixed by [SL].

Mike Spreitzer <mspreitz at us.ibm.com> wrote:

> Oops, my original email did not contain all of the constraints. Each
> compute instance gets only one network interface, only one IP address.
> Does Juno Neutron have a way to solve this problem?


[SL] Use James' approach as described below, except with a single network
interface on each instance. The OS inside the instance will see a single IP
address (a private address from the tenant network), but a floating IP
address can be associated with the instance. You'll probably need to
implement split DNS (so that instances on the tenant network will resolve
the address from the tenant network's subnet while external systems will
resolve the floating IP address).

Even so, you could run into problems if the application running on those
instances needs to report an IP address to other systems; it will report the
private address, which may not be accessible by the other system.


> Thanks,
> Mike 
> 
> 
> 
>> From: James Denton <james.denton at rackspace.com> 
>> To: Mike Spreitzer/Watson/IBM at IBMUS, openstack <openstack at lists.openstack.org> 
>> Date: 04/08/2015 07:04 PM 
>> Subject: Re: [Openstack] [neutron] how to use multiple external networks? 
>> 
>> 
>> 
>> Hi Mike, 
>> 
>> With those requirements, I think dual-homing the instances may be the
>> best approach.
>> 
>> In my mind, you would have 5 networks: 
>> 
>> A - External Network 1 
>> B - External Network 2 
>> C - Tenant Network 1 
>> D - Tenant Network 2 
>> E - Shared Tenant Network (No gateway) 
>> 
>> Because routers can only connect to one external network at a time, and a
>> tenant network can only be connected to one router at a time, you would
>> need two routers:
>> 
>> Router 1 
>> Router 2 
>> 
>> You would connect them as follows: 
>> 
>> External Network 1 <-> Router 1 <-> Tenant Network 1 
>> External Network 2 <-> Router 2 <-> Tenant Network 2 
>> 
>> The VMs would then connect as follows: 
>> 
>> Tenant Network 1 <-> VM1 <-> Shared Network 
>> Tenant Network 2 <-> VM2 <-> Shared Network 
>> 
>> With no gateway set on the shared network, you won't have to worry about
>> multiple default routes, nor do you need to worry about terminating that
>> network off a router. It's simply isolated.
>> 
>> Hope that helps, 
>> James
>> 
>> 
>>> From: Mike Spreitzer <mspreitz at us.ibm.com>
>>> Sent: Wednesday, April 8, 2015 12:28 PM
>>> To: openstack
>>> Subject: [Openstack] [neutron] how to use multiple external networks? 
>>>   
>>> Supposing there are two external provider networks, and a tenant wants
>>> (a) some of his Compute Instances to have floating IP addresses on one
>>> of those external networks, (b) some other of his Compute Instances to
>>> have floating IP addresses on the other external network, and (c) all of
>>> his Compute Instances to be able to talk to each other using only tenant
>>> private networking, what arrangement of tenant networks and routers
>>> would accomplish this? In Juno, if it matters.
>>> 
>>> Thanks,
>>> Mike 






More information about the Openstack mailing list