Hi guys,

Sorry, I've had this half-written for a while.

Thanks for bringing this up Akihiro.  This is a topic we discussed a long
time ago, but let die.  Based on those discussions, I think the issues are
even more substantial than what you mention.

First, some context from those not familiar with the details.

Bboth the quantum-l3-agent and quantum-dhcp-agent where originally designed
focused on a model where they only used namespaces.   This means that the
IP interfaces used by the agents are completely disconnected not just from
other router namespaces, but also from the "root" namespace (this is the
namespace you associate with the standard IP connectivity of the host,
i.e., the one you see when running ifconfig from a shell).

However, some older platforms (e.g., RHEL) don't support namespaces (or
perhaps have kernel support, but do not support the userspace utilities
that we use to manipulate namespaces, see:
http://docs.openstack.org/trunk/openstack-network/admin/content/ch_limitations.html).
 As a result, we added a flag, use_namespaces, to control this behavior.
https://github.com/openstack/quantum/blob/master/etc/l3_agent.ini#L23

However, if namespace are not use at all, the IP interfaces created by the
l3 and dhcp agents are all in the root namespace with zero isolation.  The
issue you mention (using the DHCP as the gateway IP to reach another subnet
when one is supposed to be on a isolated network) is just one example.  It
would also be the case that tenants with access to the quantum router would
also be able to reach any subnet the the physical box running the l3-agent
is connected to (e.g., a management network).  Likewise, if either DHCP or
routing is running without namspaces, any services running on the box and
bound to the 0.0.0.0 address (e.g., SSH) would likely also be exposed to
VMs on the logical network, since the 0.0.0.0 listening address would
include the IP address of the DHCP server. I believe both of the latter
items are still a problem even if you do not run dhcp + l3 together on a
server with namespaces disabled.

If people agree with the above descriptions, let's file an urgent doc bug
on this, and get it pushed.  There are some potential code work-arounds
(e.g., pushing down iptables filters to restoring the required isolation)
that we could explore if desirable, though I would much prefer that we are
able to converge on using a single namespace-based design that does not
require extra bagge for isolation.

Dan




On Fri, Jan 11, 2013 at 6:24 AM, Gary Kotton <[email protected]> wrote:

> On 01/11/2013 02:30 PM, Akihiro MOTOKI wrote:
>
>> Hi folks,
>>
>> I have noticed that there is a case two subnets not connected
>> each other via a router can communicate each other
>> by changing default gateway to the IP address of the DHCP servers
>> in a setup where l3-agent and dhcp-agent run on a same host without
>> namespace.
>>
>> A simple solution to avoid it is to run l3-agent and dhcp-agent on
>> different hosts.
>> Is there any other good solution?
>>
>> IMO, this is a limitation without namespace on deployment
>> rather than a bug of quantum and should be documented in the guide.
>>
>
> This sounds reasonable. Maybe this should be documented.
>
>
>> What do you think?
>>
>> Thanks,
>> Akihiro
>>
>>
>
> --
> Mailing list: 
> https://launchpad.net/~**quantum-core<https://launchpad.net/~quantum-core>
> Post to     : 
> [email protected].**net<[email protected]>
> Unsubscribe : 
> https://launchpad.net/~**quantum-core<https://launchpad.net/~quantum-core>
> More help   : 
> https://help.launchpad.net/**ListHelp<https://help.launchpad.net/ListHelp>
>



-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dan Wendlandt
Nicira, Inc: www.nicira.com
twitter: danwendlandt
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- 
Mailing list: https://launchpad.net/~quantum-core
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~quantum-core
More help   : https://help.launchpad.net/ListHelp

Reply via email to