[RFC PATCH net-next v2 0/5] netns: allow to identify peer netns
cwang at twopensource.com
Fri Sep 26 02:09:37 UTC 2014
On Thu, Sep 25, 2014 at 1:53 AM, Nicolas Dichtel
<nicolas.dichtel at 6wind.com> wrote:
> Le 24/09/2014 18:45, Cong Wang a écrit :
>> On Wed, Sep 24, 2014 at 9:27 AM, Nicolas Dichtel
>> <nicolas.dichtel at 6wind.com> wrote:
>>> Now informations got with 'ip link' are wrong and incomplete:
>>> - the link dev is now tunl0 instead of eth0, because we only got an
>>> from the kernel without any netns informations.
>> This is not new, macvlan has the same problem. This is why I said
>> it is mostly a display problem, maybe just mark the ifindex as -1 or
>> something when it is not in this netns. At least I don't expect the inner
>> netns know anything outside, and I don't think I am the only one using
>> netns in this way.
> I understand your point but there is several use of netns. Netns can be used
> also to instantiate virtual routers. In this case, administrators or daemons
> need to be able to monitor and dump the configuration on all netns
> (particularly beeing able to identify fully x-netns interfaces). We start to
> discuss this in one of the two thread pointed in my cover letter and get the
> conclusion that checking user ns is a good way to know if an id should be
> disclosed or not for a peer netns.
Then you are leaking information, this breaks isolation.
> Can you describe your use case?
Yes, too simple: isolation networking, different netns's don't see each other
(including anything inside) and only communicate via veth.
> If you only play with netns, you may want to monitor all activies in all
> (this is already possible) and beeing able to link information between netns
> (this is what I'm trying to solve).
No, I don't want to monitor anything. Even if I wanted, I would just start one
daemon in each netns instead of one for all.
On the other hand, why not exchange the configuration via veth
between different netns? There are many ways to do so with TCP HTTP etc.
This doesn't have to be solved in kernel.
More information about the Containers