Default Gateway nach jedem Neustart weg!

Ich hab hier gerade so ein Problem mit einem Windows 2008 Server gehabt. Nach jedem Neustart war das Default Gateway einfach nicht mehr da! Eintragen in den Netzwerkkarteneinstellungen hat funktioniert bis zum nächsten Booten. Dann war’s immer wieder weg.

Ich hab jetzt spontan die Ursache nicht raus bekommen aber das Problem ist vom Prinzip her ganz einfach zu beheben:

Man muss per

regedit

den Registrierungseditor starten und dann in folgenden Zweig navigieren:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{...}

Anstelle der {...} muss man einfach mal schauen, welches das richtige Interface ist. Wenn man die Zweige durch klickt, findet man das relativ schnell anhand der IP-Adresse, die da irgendwo steht.

Weiter geht’s:

Der Inhalt des Schlüssels

DefaultGateway

beginnt höchstwahrscheinlich mit einer Leerzeile. Einfach vor der IP-Adresse den Zeilenumbruch weg machen und nach dem Booten ist (hoffentlich) alles wieder okay. So war’s zumindest bei mir!

ldd / strace unter Mac OS X

Für die Fehlersuche unter *NIX sind ldd und strace sehr nützlich um Abhängigkeiten von dynamischen Bibliotheken zu finden. Leider hatte ich ein Problem auf einem Mac OS X 10.6, wo es diese beiden Tools nicht gibt.

Nach einiger Suche (die meist nur ktrace als Alternative für Mac OS brachte) fand ich eine ganz brauchbare Alternative für beide Tools:

Um die Abhängigkeiten von dyn. Bibliotheken zu finden, kann man als Alternative zu ldd

otool -L <binary>

benutzen. Eine Alternative für strace ist

dtruss <binary>

brauchbar. Nachteil bei letzterem ist, dass es keine Möglichkeit gibt, die Ausgabe per Kommandozeilenoption in eine Datei umzuleiten. Statt dessen gibt dtruss die Informationen immer auf STDERR aus.

Die beiden Alternativen sind brauchbar (bzw. besser als nix), man vermisst aber bei dtruss doch schnell die Optionsvielfalt von strace (vor allem -ff und -o bei komplizierteren Pro{grammen,blemen}).

UID ändern unter Mac OS 10.5 / 10.6

Die Suche nach einer Möglichkeit, die numerische UserID (UID) meines Benutzers auf dem Mac zu ändern hat mich ein wenig Zeit gekostet. Das NetInfo-Dienstprogramm, auf welches in zahlreichen Foren verweisen wird, gibt es nicht mehr und in /etc/passwd oder ähnlichen Dateien findet man nicht die Informationen, die man braucht.

Als erstes muss man einen weiteren (temporären) Benutzer erzeugen, der den Mac administrieren darf. Anschließend meldet man sich als dieser Benutzer an.

Mit der Option -n zeigt der Befehl ls die numerischen UserIDs an, anstatt sie aufzulösen. Das ist deshalb wichtig, weil wir zunächst die alte UserID des Benutzers herausfinden müssen:

ls -ladn /Users/username

Als Ergebnis erscheint eine Zeile, die in etwa so aussieht:

drwxr-xr-x 56 502 25 4096  9. Feb 09:01 /Users/username

Die zweite Zahl (hier 502) ist die UID, die wir ändern möchten. Folgende Befehle führen dann zum Ziel, wenn man die UID z.B. auf 1006 ändern möchte:

sudo dscl . -change /Users/username UniqueID 502 1006
sudo chown -R 1006 /Users/username
sudo find / -uid 502 -exec chown username {} \;

Zum Abschluss kann man ja vorsichtshalber mal booten, das ist aber eigentlich nicht nötig. An- und abmelden muss reichen.

Sendmail mit SMTP-Auth unter Solaris und OpenSolaris

Nach etwas längerer Suche nach einer Möglichkeit, von einer Solaris-Maschine aus Mails mit dem mitgelieferten Sendmail per SMTP mit Authentisierung am Mailserver abzuliefern kam ich immer wieder an die Stelle, an der das M4-Script für die Authentisierung am Smarthost fehlt.

Eine Lösung für das Problem ist es, den „Sun-Sendmail“ durch die Version von Blastwave (http://blastwave.org/) zu ersetzen. Man installiert dazu zunächst das Päckchen aus Blastwave (nachdem ggfs. das Blastwave-Repository konfiguriert wurde) und deaktiviert dann den Sendmail von Sun:

svcadm disable sendmail
pkgutil -i sendmail
cd /opt/csw/share/mail
./Sun-sendmail-deactivate.sh

Die Konfiguration erfolgt dann im Verzeichnis /opt/csw/share/mail/cf:

cd /opt/csw/share/mail/cf
vi main.mc

Folgendes in die Datei main.mc einfügen:

define(`SMART_HOST', `mail.host.tld')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo', `hash -o -T<TMPF> /opt/csw/etc/mail/authinfo')dnl

Dann die Konfiguration erzeugen und aktivieren:

make
cp -p main.cf /opt/csw/etc/mail/sendmail.cf
svcadm enable cswsendmail

Jetzt noch Auth-Informationen eintragen und anschließend den Sendmail neu starten:

cd /opt/csw/etc/mail
echo 'AuthInfo:mail.host.tld "U:root" "I:login@host.tld" "P:xxxxxxxx"' > authinfo
makemap hash authinfo < authinfo
svcadm restart cswsendmail

Sendmail sollte jetzt soweit erstmal funktionieren. Allerdings ist es ratsam, sich die Datei /opt/csw/etc/mail/aliases nochmal genauer anzuschauen. Nach dem Editieren wird sie mit folgendem Befehl aktiviert:

newaliases

Das war’s. Mehr sollte eigentlich nicht zu tun sein.