[Openstack] [neutron] how to use multiple external networks?
Mike Spreitzer
mspreitz at us.ibm.com
Thu Apr 9 02:22:41 UTC 2015
Scott Lowe <scott.lowe at scottlowe.org> wrote on 04/08/2015 09:56:40 PM:
> 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
>
>
(sorry for top-posting the first time, I am switching to the usual
convention now.)
Thanks Scott and James. What I was trying to say about all the tenant's
Compute Instances communicating with only tenant private networking is
that the tenant does not want to have to use floating IP addresses for
that intra-tenant communication. After all, public IPv4 addresses are
scarce; as an operator I am looking for a way that a tenant of mine can
wire up all his compute instances without using external addresses for
internal communication. I guess I should have explicitly added to my
original (a) and (b) a third category: some of the tenant's Compute
Instances do not need to accept any inbound connections from outside the
tenant's network (and thus do not really need a floating IP address). As
an operator, I am looking at the general case for how my tenants (which
happen to be constrained in the one way I mentioned) can efficiently work
in an environment with two external networks.
I was wondering if the following variant on James' topology would work:
put the Shared Network between Router 1 and Router 2. Is there a way to
do that without even attempting to make Router 1 and Router 2 be gateways
for the Shared Network? After all, the Shared Network only needs to pass
traffic between Tenant Network 1 and Tenant Network 2, it does not need to
handle any other traffic.
Thanks,
Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20150408/9dba585e/attachment.html>
More information about the Openstack
mailing list