Hi,

>>>>> Date: Wed, 23 Jan 2013 23:42:55 -0800
>>>>> From: Dan Wendlandt <[email protected]>
>>>>> Subject: Re: [Quantum-core] communication between unconnected 
>>>>> subnetswithout namespace
> 
> 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.  

Thanks for clarifying the issues.
I agree with your description.

I think the issues can be categorized into two:
(a) isolation between tenants and a provider, and
(b) isolation among tenants (networks)
The former is what Dan mentionded and the latter is what I wrote.

To address (a), we need to setup static iptables rules appropriately:
- Allow INPUT to management L4 ports only from a management network.
- Disallow FORWARD from/to an interface connected to a management network.
Concrete examples in the doc would be helpful.
I may miss some required rules. If so please correct me.

Regarding address (b), it cannot be addressed by static rules and
we need to avoid to run dhcp-agent and l3-agent on a server.

Akihiro

> 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
>     Post to     : [email protected]
>     Unsubscribe : https://launchpad.net/~quantum-core
>     More help   : 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