Sysctl-Einstellungen für IPv6 werden überschrieben

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
Bachsau
Beiträge: 64
Registriert: 06.05.2011 02:48:13

Sysctl-Einstellungen für IPv6 werden überschrieben

Beitrag von Bachsau » 16.08.2012 14:54:16

Hallo, habe folgendes Problem:

Bei einer meiner Maschinen werden die in /etc/sysctl.conf gesetzten Einstellungen für IPv6 überschrieben. Ich vermute dass dies daran liegt, dass auf dem Rechner bis vor kurzem AICCU installiert war, der Tunnelclient von SIXXS. Diesen habe ich nun gepurget, aber er setzt immernoch Einstellungen zurück, unter anderem schaltet er mir die Privacy Extensions ab.

Ich habe schon einmal in /etc/sysctl.d und /etc/init.d nachgesehen, aber nichts auffälliges gefunden. Jemand eine Idee, wo ich noch suchen soll, oder wie ich das zurückverfolgen konnte? Das ganze ist höchst ärgerlich.

Auf einem anderen Rechner von mir, wo der Client nie installiert war, tritt das Problem nicht auf.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Sysctl-Einstellungen für IPv6 werden überschrieben

Beitrag von rendegast » 16.08.2012 15:20:41

Einstellungen in sysctl.conf / sysctl.d/ oder sysfs.conf werden zu einem Zeitpunkt beim Booten gesetzt.
Eventuell hat Dein purge nicht alles entledigt, irgendwo könnte noch ein Skript stehen mit sowas:
'echo blafoo > /proc/sys/....'

"Dumme" Installationsskripte machen sowas gerne:
echo "echo bla > foo" >> neuesskript
ohne es später wieder zu entfernen.
Entpacke nochmal die Pakete und durchforste die Installationsskripte dahingehend.
(Obwohl ich in debian aiccu auf die Schnelle in der Art nichts sehe.)

Noch ein Netzwerkinterface dafür konfiguriert?

Einstellungen aus der Kernel-Commandline wären auch denkbar.
Entsprechende Modul-Optionen.

Vielleicht werden die Zielmodule für die Einstellungen nun nicht mehr (so früh) geladen, sodaß die Einstellungen ins Leere gehen -> Logdateien.



Das purge war "gut"?

Code: Alles auswählen

dpkg -l | egrep -v "^ii"
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Bachsau
Beiträge: 64
Registriert: 06.05.2011 02:48:13

Re: Sysctl-Einstellungen für IPv6 werden überschrieben

Beitrag von Bachsau » 16.08.2012 17:40:32

Meint du mit Kernel-Commandline die Parameter die dem Kernel im GRUB mitgegeben werden? Da gibt es nichts diesbezüglich, nur "nomodeset, quiet, splash". Ist ein Ubuntu 10.04 System.

Moduloptionen kann ich auch keine finden. Wo soll ich die suchen, unter /etc/modprobe.d?

Ich habe mal eine Dateisuche nach inhalt "eth0" oder "ipv6" in /etc/ gemacht. Aber nichts. :(
Interface ist keines mehr konfiguriert, und auch sonst kann ich nichts mehr dazu finden. Die Liste aus deinem Befehl ist leer.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Sysctl-Einstellungen für IPv6 werden überschrieben

Beitrag von rendegast » 16.08.2012 18:18:34

werden die in /etc/sysctl.conf gesetzten Einstellungen für IPv6 überschrieben.
Welche Werte bekommen die denn?
Eventuell sind Deine Anweisungen nicht valide, Syntax?

Vielleicht sind die beiden Startskripte deaktiviert?

Code: Alles auswählen

$ ls -l  /etc/*/*sysfs*  /etc/*/*procps*
Ausgeführt?

Code: Alles auswählen

# cat /var/log/boot  |  egrep "sysctl|sysfs"
Ergänzend dazu in /etc/default/rcS

Code: Alles auswählen

VERBOSE=yes
QUIET_SYSCTL=""
Das kann noch weiter getrieben werden, indem vor und nach diesen Startskripten Hilfsskripte gesetzt werden,
die die betreffenden Werte auslesen. Werkzeug ist einfaches 'cat' auf die entsprechenden Dateien in /proc/ und /sys/.
Diese Hilfsskripte können auch an noch mehr Stellen im Startvorgang untergebracht werden,
um zu erfahren an welcher Stelle sich die Werte unerwünscht ändern.




Die effektiv ausgeführte Kernel-Commandline gibt

Code: Alles auswählen

dmesg  |  grep omma
Außer in /etc/modprobe.d/ kann auch über /etc/modules mit Moduloptionen gespielt werden.

Eigentlich sollte procps / sysfsutils einen vorher schon gesetzen Wert umschreiben,
aber vielleicht steckt in der initrd eine Art Osterei. -> initrd mal neu generieren 'initrd -u -k all'
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Bachsau
Beiträge: 64
Registriert: 06.05.2011 02:48:13

Re: Sysctl-Einstellungen für IPv6 werden überschrieben

Beitrag von Bachsau » 16.08.2012 22:44:13

rendegast hat geschrieben:Eventuell sind Deine Anweisungen nicht valide, Syntax?
Sicher sind die valide. Die sysctl.conf wird genau so noch auf einem anderen Computer betrieben, und funktioniert da ja auch.

Code: Alles auswählen

net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2
Diese Werte werden auch übernommen. Nur auf dem einen Rechner werden sie nur für eth0 überschrieben.
rendegast hat geschrieben:Vielleicht sind die beiden Startskripte deaktiviert?

Code: Alles auswählen

$ ls -l  /etc/*/*sysfs*  /etc/*/*procps*
Ausgeführt?

Code: Alles auswählen

lrwxrwxrwx 1 root root   21 2012-07-25 20:13 /etc/init.d/procps -> /lib/init/upstart-job
-rwxrwxr-x 1 root root 2349 2009-11-06 12:40 /etc/init.d/sysfsutils
-rw-rw-r-- 1 root root  364 2012-07-17 04:31 /etc/init/procps.conf
lrwxrwxrwx 1 root root   20 2011-04-25 08:12 /etc/rc2.d/S05sysfsutils -> ../init.d/sysfsutils
lrwxrwxrwx 1 root root   20 2011-04-25 08:12 /etc/rc3.d/S05sysfsutils -> ../init.d/sysfsutils
lrwxrwxrwx 1 root root   20 2011-04-25 08:12 /etc/rc4.d/S05sysfsutils -> ../init.d/sysfsutils
lrwxrwxrwx 1 root root   20 2011-04-25 08:12 /etc/rc5.d/S05sysfsutils -> ../init.d/sysfsutils
rendegast hat geschrieben:

Code: Alles auswählen

# cat /var/log/boot  |  egrep "sysctl|sysfs"
Ist leer. (Nothing has been logged yet.)
rendegast hat geschrieben:Das kann noch weiter getrieben werden, indem vor und nach diesen Startskripten Hilfsskripte gesetzt werden,
die die betreffenden Werte auslesen.
Ohjee. Das riecht nach arbeit. :?
An sowas hatte ich leider auch schon gedacht. :(
rendegast hat geschrieben:Die effektiv ausgeführte Kernel-Commandline gibt

Code: Alles auswählen

dmesg  |  grep omma
Außer in /etc/modprobe.d/ kann auch über /etc/modules mit Moduloptionen gespielt werden.
Sind sauber. :(
rendegast hat geschrieben:Eigentlich sollte procps / sysfsutils einen vorher schon gesetzen Wert umschreiben,
aber vielleicht steckt in der initrd eine Art Osterei. -> initrd mal neu generieren 'initrd -u -k all'
Procps linkt bei Ubuntu auf einen von diesen Upstart-Jobs. Der scheint nur /etc/sysctl.d/* und /etc/sysctl.conf mit sysctl anzuweden. Alles wie es sein sollte. /etc/sysctl.d/ ist auch sauber.
Initrd wurde schon neu geschrieben. Bringt rein gar nichts. Da ist irgendwas oberfaul. :oops:

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Sysctl-Einstellungen für IPv6 werden überschrieben

Beitrag von rendegast » 17.08.2012 03:50:12

# cat /var/log/boot | egrep "sysctl|sysfs"
Ist leer. (Nothing has been logged yet.)
-> Halt Bootlogging einschalten oder feststellen, wohin das logging geleitet wird.
(Bei debian in /etc/default/bootlogd)

Interface ist keines mehr konfiguriert, und auch sonst kann ich nichts mehr dazu finden.
<->
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2
Diese Werte werden auch übernommen. Nur auf dem einen Rechner werden sie nur für eth0 überschrieben.
Welche Interfaces gibt es denn (zu dem Zeitpunkt, später)?
Werden durch network-Manager o.ä. konfiguriert?
Ein Hilfsskript in der Art:

Code: Alles auswählen

ls -l /proc/sys/net/*/*/*/use_tempaddr
cat /proc/sys/net/*/*/*/use_tempaddr
Wie das allerdings bei upstart eingebunden würde?
net.ipv6.conf.all.use_tempaddr = 2
Wenn eth0 abgeschaltet, sein Modul ent-/neugeladen wird,
bekommt es von der Vorgabe all.use_tempaddr auch den Wert 2 ? (EDIT, nein, wohl eher von default.use_tempaddr.)
Mal durchgespielt:

Code: Alles auswählen

# ls net/ipv4/conf/
all  br0  default  eth0  lo  vboxnet0
# cat net/ipv4/*/*/accept_local
0
0
0
0
0
0

# echo 1 > net/ipv4/conf/all/accept_local
# cat net/ipv4/*/*/accept_local
1
0
0
0
0
0

# /etc/init.d/virtualbox stop; /etc/init.d/virtualbox start
Stopping VirtualBox kernel modules.
Starting VirtualBox kernel modules.

# cat net/ipv4/*/*/accept_local
1
0
0
0
0
0
Dem interface vboxnet0 wird beim Erstellen also nicht der Wert aus /all/ "vererbt".
(Habe ich das Problem so richtig verstanden?)
Diese Werte werden auch übernommen. Nur auf dem einen Rechner werden sie nur für eth0 überschrieben.
Eventueller walkaround:

Code: Alles auswählen

    net.ipv6.conf.......use_tempaddr = 2
für die anderen Interfaces explizit setzen.

Ein "lustiger" Effekt

Code: Alles auswählen

# echo 1 > net/ipv4/conf/default/accept_local
# cat net/ipv4/*/*/accept_local
0
0
1
0
0
1
default/ ist scheinbar mit dem Interface vboxnet0/ assoziiert.
Weitergeführt, nehme ich einen Wert in default/ weg, reloade vboxnet0, und setze dann einen Wert in default/,
so ist die Assoziation aufgehoben und der Wert wird in vboxnet0/ nicht gesetzt.
Es hat also einerseits damit zu tun, ob ein Wert in default/ gesetzt ist,
und andererseits wann in dem Zusammenhang ein Interface erstellt wird.

Das paßt zu dem hier https://wiki.archlinux.org/index.php/IPv6
...
Where <nic0> to <nicN> are your nic's (the "all" or "default" parameters do not apply to nic's that already exist when the sysctl settings are applied).
...
Note that you must list all the relevant nic's explicitly, as disabling "all" does not apply to nic's that are already set up when sysctl settings are applied.
...
Bei Deinem anderen Rechner werden dann wohl die interfaces später erstellt.
Vergleiche die Konfigurationen des Netzwerks / des network-manager, eventuell trägt auch upstart seinen Teil bei.









-----------------------------------------------------------------------
lrwxrwxrwx 1 root root 21 2012-07-25 20:13 /etc/init.d/procps -> /lib/init/upstart-job
Ubuntu 10.04 System.
Ist lucid, dafür gibt es upstart 0.6.5-6 und 0.6.5-8 (lucid-updates).
procps ist nach upstart migriert und wird über 'start procps' ausgeführt.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten