[systemd-devel] "sysctl.conf" applied too late

Lennart Poettering lennart at poettering.net
Wed Feb 8 09:09:26 PST 2012


On Wed, 08.02.12 17:47, Reindl Harald (h.reindl at thelounge.net) wrote:

> 
> Am 08.02.2012 17:34, schrieb Bill Nottingham:
> > Reindl Harald (h.reindl at thelounge.net) said: 
> >> not network manager
> >> classical configuration
> >>
> >> net.ipv6.conf.all.disable_ipv6 = 1
> > 
> > Your configuration is wrong, I believe. The rule at udev time is:
> > 
> > SUBSYSTEM=="net", KERNEL!="lo", RUN+="/lib/systemd/systemd-sysctl \
> >  --prefix=/proc/sys/net/ipv4/conf/$name \
> >  --prefix=/proc/sys/net/ipv4/neigh/$name \
> >  --prefix=/proc/sys/net/ipv6/conf/$name \
> >  --prefix=/proc/sys/net/ipv6/neigh/$name"
> > 
> > What's happening is you're setting 'all' on startup, which disables
> > it for all interfaces at that time. But each interface later on creation
> > gets the value from 'default', not all.
> > 
> > You want:
> > 
> > net.ipv6.conf.default.disable_ipv6 = 1
> > instead of/in addition to what you have
> 
> hmm - does not change the behavior
> 
> a kernel boot-param would be nice but until know i did not
> find any working one :-(
> 
> [root at rh:~]$ netstat -l | grep smb
> tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      1088/smbd
> tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      1088/smbd
> tcp        0      0 :::445                      :::*                        LISTEN      1088/smbd
> tcp        0      0 :::139                      :::*                        LISTEN      1088/smbd

With net.ipv6.conf.default.disable_ipv6 you just disable IPv6 for
specific interfaces, thus listening to the generic "::" will still work
fine.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list