On Wed, 2017-01-11 at 22:52 -0800, Krister Johansen wrote: > Add net.ipv4.ip_unprotected_port_start, which is a per namespace sysctl > that denotes the first unprotected inet port in the namespace. To > disable all protected ports set this to zero. It also checks for > overlap with the local port range. The protected and local range may > not overlap. > > The use case for this change is to allow containerized processes to bind > to priviliged ports, but prevent them from ever being allowed to modify > their container's network configuration. The latter is accomplished by > ensuring that the network namespace is not a child of the user > namespace. This modification was needed to allow the container manager > to disable a namespace's priviliged port restrictions without exposing > control of the network namespace to processes in the user namespace. > > Signed-off-by: Krister Johansen <k...@templeofstupid.com> > --- > include/net/ip.h | 10 +++++++++ > include/net/netns/ipv4.h | 1 + > net/ipv4/af_inet.c | 5 ++++- > net/ipv4/sysctl_net_ipv4.c | 50 > +++++++++++++++++++++++++++++++++++++++++- > net/ipv6/af_inet6.c | 3 ++- > net/netfilter/ipvs/ip_vs_ctl.c | 7 +++--- > net/sctp/socket.c | 10 +++++---- > security/selinux/hooks.c | 3 ++-
Adding a new sysctl without documentation is generally not accepted. Please take a look at Documentation/networking/ip-sysctl.txt BTW, sticking to 'unprivileged' ports might be better than 'unprotected' which is vague.