[lxc-devel] [PATCH 1/1] Fix unprivileged networking

Stéphane Graber stgraber at ubuntu.com
Tue Feb 18 22:24:30 UTC 2014


On Tue, Feb 18, 2014 at 04:19:58PM -0600, Serge Hallyn wrote:
> Quoting Stéphane Graber (stgraber at ubuntu.com):
> > On Tue, Feb 18, 2014 at 03:12:52PM -0600, Serge Hallyn wrote:
> > > If we are unprivileged and have asked for a veth device, then create
> > > a pipe over which to pass the veth names.
> > > 
> > > Network-related todos:
> > > 1. set mtu on the container side of veth device
> > 
> > > 2. set mtu in lxc-user-nic.  Note that this probably requires an
> > >    update to the /etc/lxc/lxc-usernet file :(
> > 
> > Hmm, that's an interesting problem and even without that change, we
> > actually have a bug at the moment which may or may not qualify as a
> > security issue.
> > 
> > The bridge will set its own MTU to the lowest of all devices inside it
> > (or so it looks like anyway), so say that a bridge has an MTU of 9000
> > (jumbo) and a user can join a container to it, that'll decrease the MTU
> > to 1500 possibly breaking the other containers in the bridge.
> > 
> > To fix that it looks like we indeed want an extra column in lxc-usernet
> > which would specify the min and max MTU, a value of 0 (same as no value)
> > would tell lxc-user-nic to copy that of the bridge, an value of
> > 1500:4000 would mean that the mtu may not be set below 1500 or above
> > 4000.
> > 
> > Unfortunately as this would result in a rather user visible change as
> > well as documentation changes, if we are going to do this, we really
> > should do it before 1.0.
> > 
> > 
> > Alternatively we could state that unprivileged containers may not use a
> > custom MTU and that they will always default to the bridge's MTU value
> > for both sides of the veth device.
> > 
> > In which case we still need to change both lxc and lxc-user-nic to get
> > the current MTU from the bridge and set it on both side of the veth
> > device.
> 
> Does lxc need to do it?  We should just be able to have lxc-user-nic
> copy the bridge's value right?

We probably would want to make sure that the behaviour is consistent and
that if lxcbr0 has a mtu of say 1400 that both veth also get an mtu of
1400 in the system container case too.

But yes, for the unprivileged case, we could simply have lxc-user-nic
set the mtu to the bridge's value on both devices of the veth pair.

-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20140218/839665ff/attachment-0001.pgp>


More information about the lxc-devel mailing list