Entries tagged as network
IPv6 - Adresse für ausgehende Verbindungen beeinflussen
Thursday, February 2. 2012
Mit IPv6 sind Adressen nun nicht eben knapp und ein interface kann etliche globale IPs haben - wie kann man Einfluss darauf nehmen, welche davon fuer ausgehende Verbindungen genutzt wird?
Ich fand ein nützliche Beschreibung der Auswahl, zwei Infos daraus waren mir nützlich:
- Wenn mehrere globale Adressen alle anderen Auswahlkriterien bestanden haben, nimmt Linux die zuletzt hinzugefügte.
- Man kann bestimmte Adressen als "deprecated" markieren, so dass sie bei der Auswahl nicht berücksichtigt werden.
ip -6 addr change 2001:db8:F00::BA2/128 dev eth0 preferred_lft 0
Windows 7 Netzwerkverbindungs-Test
Wednesday, May 18. 2011
Slashdot verweist auf ein kleines Forschungsergebnis, das Nathan Hinkle in seinem Blog berichtet: Es geht darum, wie Windows 7 den Status von Netzwerk: Internetzugriff ermittelt. Es ruft zuhause an und man kann es leicht auf einen eigenen Server umbiegen, was Datenspuren vermeidet und evtl. sogar das Wiederfinden gestohlener Hardware ermöglichen kann. Spannend, will es hier kurz festhalten.
Immer, wenn eine WLAN-Verbindung eines Laptops mit win7 eine Authentizifierung vom Browser benötigt, Hotspots in Bahnhöfen oder Hotels zum Beispiel, weiss win7 das irgendwie. Und es erkennt es auch, wenn die Internetverbindung nicht funktioniert, und kann dabei zwischen lokaler Verbindung im LAN und voller Verbindung unterscheiden. Wie macht es das?
Das Feature heisst NCSI für Network Connection Status Indicator und basiert im Kern auf zwei Abfragen:
1. Eine DNS - Suche und Abruf von http://www.msftncsi.com/ncsi.txt. Das ist eine einfache Textdatei mit dem Inhalt 'Microsoft NCSI'.
2. DNS - Suche nach dns.msftncsi.com. Dann wird geprüft, ob der Name nach 131.107.255.255 aufgelöst wird. Wenn die Adresse nicht zu dieser IP aufgelöst wird, wird angenommen, dass die Internetverbindung nicht korrekt funktioniert.
So, und das steht natürlich irgendwo in der Registry, nämlich hier:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
Die meisten Unterschlüssel sind ziemlich sprechend benannt und da kann man nun seinen eigenen Server, ncsi.txt, IP etc einschreiben. Was zum einen den eigenen Rechner aus dem grossen "Wann läuft unter welcher IP ein Rechner mit windows 7"- Datenpool der Redmonder herausnimmt. Und potentiell eine Hilfe ist, gestohlene Hardware zu verfolgen, vorausgesetzt der so präparierte Rechner wird mit Netzverbindung gestartet, ohne dass als erstes das Betriebssystem neu installiert wurde.
IPv6-Tunnel mit he.net unter ubuntu
Tuesday, May 18. 2010
Es gibt verschiedene Tunnelbroker für IPv6overIPv4, Sixxs.net und he.net (tunnelbroker.net) sind die bekanntesten. Für adsl mit wechselnden IPv4-adressen, wie hier üblich, hält sixxs.net den praktischen daemon aiccu bereit, der, einmal mit den Eckdaten wie Tunnel-ID, Passwort, Server-IP versorgt, den Aufbau des Tunnels und die Aktualisierung der Endadrese bei Wechsel der dynamischen IP ganz wunderbar erledigt, so dass man da keinen Aufwand der Konfiguration hat.
Nun habe ich leider mit sixxs immer wieder Netzwerkprobleme erlebt, ein Ping > 300ms bremst schon sehr spürbar, wenn alle Browser etc vorzugsweise IPv6 benutzen. Ich habe deshalb zu tunnelbroker.net umgestellt, aber die Frage der Konfiguration kommt damit neu auf.
Auf der Detail-seite zu einem mit tunnelbroker.net eingerichteten Tunnel bekommt man zwar (für versch. betriebssysteme) eine beispielkonfiguration angezeigt, die ich (linux-route2) so wie sie kam in die Kommandozeile pasten konnte und schon lief der Tunnel. aber nach der nächsten Zwangstrennung geht dann wieder nichts mehr.Und jedesmal per Hand ist keine Option.
Bei mir ist ein alter p3-Rechner der Router und so kann ich /etc/ppp/ip-up und /ip-down verwenden, Scripte, die in diesen Ordnern liegen, werden bei Herstellung bzw. Trennung der Verbindung automatisch aufgerufen, mit nützlichen Parametern wie etwa Localip und Remoteip. Programme wie fetchmail, postfix etc legen hier bei der Inwstallation Eintraege an und in beiden Ordnern habe ich ein kleines shell-script für meine eigenen Zwecke, hier als Beispiel /etc/ppp/ip-down.d/ip-down-local
#!/bin/sh
# this script is called from ip-down
# to hold actions I want to happen whenever the IP-Connection is stopped
BASENAME=`basename $0`
INTERFACE=$1
DEVICE=$2
SPEED=$3
LOCALIP=$4
REMOTEIP=$5
case "$INTERFACE" in
ppp0*)
# he-ipv6 anlegen
/usr/local/bin/heIpv6-del.sh
;;
*)
# dont know...
;;
esac | logger -t $BASENAME
Entsprechend gibt es auch ein /etc/ppp/ip-up.d/ip-up-local, hier sind die relevanten Zeilen
# tunnelbroker updaten
/usr/local/bin/tunnelbroker_update.sh $4
# he-ipv6 anlegen
/usr/local/bin/heIpv6-add.sh $4
Und die drei hier aufgerufenen Scripte in /usr/local/bin lauten
heIpv6-del.sh:
ip -6 route flush dev he-ipv6
ip link set he-ipv6 down
ip tunnel del he-ipv6
heIpv6-add.sh
ip tunnel add he-ipv6 mode sit remote 216.66.80.30 local $1 ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:1f0a:12ef::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
tunnelbroker_update.sh
#!/bin/sh
curl -k "https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=$1&pass=0000000000000000000000000000000&user_id=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&tunnel_id=11111";
(bei dem Aufruf von curl, - 1 Zeile! - muss man die Parameter mit den eigenen daten setzen, hinter pass gehoert der md5-Hash des Passwortes (echo -n 'yourpassword' | md5sum), user_id ist nicht der Username sondern die userID von der tunnelbroker-Seite - auch ein MD5-Hash, tunnel_id ist die global tunnel ID - eine 5stellige Zahl.)
Freie Nameserver: Update
Monday, May 17. 2010
Ein Update und Nachtrag zum Thema Nameserver: he.net bietet jetzt freie DNS an, derzeit noch beta und auf 25 Zones beschränkt. Aber dafür bekommt man DNS und rDNS aus einem Formular und das noch dazu ohne Dänisch.
Ohnehin ziehe ich mit meinen IPv6-Tunneln schritt für Schritt von Sixxs weg und zu HE, es hakt leider bei Sixxs gar nicht so selten und bei einem Ping von 330ms zum ersten Hop hinter dem tunnel kommt dann selbst ssh ins Stolpern.
Wird Zeit, dass man endlich natives IPv6 bekommt, XS4All bietet das (nach einem Jahr Probebetrieb) nun standardmässig und in Deutschland? findet man in der FAQ des Providers allenfalls Hinweise, wie man IPv6 bei aktuellen Betriebssystemen wieder deaktivieren kann! Schnarchnasen.
AIR runtime auf Ubuntu 64 und windows 7 64
Friday, April 23. 2010
"Die Adobe® AIR™-Laufzeitumgebung ermöglicht den Einsatz bewährter Web-Technologien für die Entwicklung plattformübergreifender Rich-Internet-Anwendungen für den Desktop."
Ok, ein kleines "Hallo welt" angelegt und als .air exportiert, rüber zum Linux desktop (Ubuntu 8.04 64 Bit LTS) und die .air angeklickt: wird als .zip-Archiv erkannt und geöffnet. Ein INSTALL ist nicht zu sehen, also wohl erstmal zu Adobe und die runtime herunterladen.
http://get.adobe.com/de/air/ erkennt mein OS und schlägt gleich AdobeAIRInstaller.bin vor, der download geht fix und dann eine shell im Download-Verzeichnis geoeffnet,
chmod 755 AdobeAIRInstaller.bin
./AdobeAIRInstaller.bin
und schon habe ich eine wunderschöne Fehlermeldung
Error loading the runtime (libnss3.so: wrong ELF class: ELFCLASS64)
Fein, Google findet mir Leidensgefährten und so bin ich bald auf Adobes Knowledgebase mit einer Installationsanleitung, die mich die fuer die runtime benötigten 32Bit-Libs manuell installieren lässt, inclusive eines getLib - Tools und zweier Fehler.
So wird man in Schritt 10 aufgefordert, Symlinks fuer die einkopierten libs zu legen:
$ sudo ln -s /usr/lib32/libnss3.so.1d /usr/lib32/libnss3.so $ sudo ln -s /usr/lib32/libssl3.so.1d /usr/lib32/libssl3.so $ sudo ln -s /usr/lib32/libnspr4.so.0d /usr/lib32/libnspr4.sofehlt aber eine:
$ sudo ln -s /usr/lib32/libsmime3.so.1d /usr/lib32/libsmime3.so
sonst bekommt man eine vertraute Fehlermeldung. Und wer (wie ich) die Anleitung mit copy/paste abarbeitet, stolpert auch noch über den typo im Programmnamen.
Nach der kleinen Hürde startet der Installer nun endlich und tut auch, was man von ihm erwartet, im Menü findet man dann unter /Applications/Accessories zwei Einträge füer den Adobe Air Application Installer und Uninstaller.
Aber jetzt nicht zu früh freuen und darauf klicken - dann passiert nämlich gar nichts. Stattdessen den Pfad zu dem neuen Programm finden und in der shell aufrufen
/usr/bin/Adobe\ AIR\ Application\ Installer
um die aktuelle Fehlermeldung zu sehen:
Error loading the runtime (libadobecertstore.so: cannot open shared object file: No such file or directory)
Dagegen hilft:
cp /usr/lib/libadobecertstore.so /usr/lib32
und dann, dann geht es tatsächlich. Eindrucksvoll, und kaum aufwendiger als die Installation eines CD-Rom-Laufwerks unter Dos 4.
Unter Windows 7 (Prof. 64) wollte sich die HalloWelt.air nicht installieren lassen, der Installer startete, liess sich die Erlaubnis zur Installation erteilen und kam alsbald mit der Mitteilung:
"Leider ist ein Fehler aufgetreten.
Die Anwendung konnte nicht installiert werden, da die AIR-Datei
beschädigt ist. Bitten Sie den Anwendungsautor um eine neue AIR-Datei."
Leidensgefährten, aber keine Lösung, auf die rechte Spur brachte mich schliesslich Adobes Troubleshoot Adobe Air Installation Issues mit dem Tip, das .air auf den desktop zu kopieren und von da zu installieren. Offenbar kann der Application Installer mit Netzwerklaufwerken nicht umgehen.
Noch ein Nachtrag, bei der Installation des FlashPlayer unter Linux-64 hilft diese Anleitung