IPv4/IPv6 sysctl defaults in new namespace

Eric W. Biederman ebiederm at xmission.com
Mon Feb 15 21:26:07 UTC 2016


Konstantin Khlebnikov <koct9i at gmail.com> writes:

> IPv6 initialized with default. That's ok.
> IPv4 makes a copy from init_net. Looks like a bug, here
> v2.6.24-2577-g752d14dc6aa9
>
> root at zurg:~# sysctl net.ipv4.conf.all.forwarding=0
> net.ipv6.conf.all.forwarding=0
> net.ipv4.conf.all.forwarding = 0
> net.ipv6.conf.all.forwarding = 0
> root at zurg:~# unshare -n sysctl net.ipv4.conf.all.forwarding
> net.ipv6.conf.all.forwarding
> net.ipv4.conf.all.forwarding = 0
> net.ipv6.conf.all.forwarding = 0
> root at zurg:~# sysctl net.ipv4.conf.all.forwarding=1
> net.ipv6.conf.all.forwarding=1
> net.ipv4.conf.all.forwarding = 1
> net.ipv6.conf.all.forwarding = 1
> root at zurg:~# unshare -n sysctl net.ipv4.conf.all.forwarding
> net.ipv6.conf.all.forwarding
> net.ipv4.conf.all.forwarding = 1
> net.ipv6.conf.all.forwarding = 0
>
> This is nasty. Could we fix this or this bug set in stone?

The test is do we break anyone, and the initial network namespace
is arbitrary enough I don't think anyone can depend upon a specific
value when creating a new network namespace.  So if someone is willing
to do the work we can fix this.

Of course the fixes would have to made against a recent kernel not
something as ancient as 2.6.24.

Eric




More information about the Containers mailing list