Archiv für die Kategorie ‘Geek Stuff’

Auf ein neues: IPv6, jetzt endlich richtig

von MichiK am 8. Juni 2011 um 01:52 Uhr

Die letzten IPv6-Experimente hier dürften runde fünf Jahre her sein (die Suche spuckt da jedenfalls einiges von 2005 und 2006 aus) und nun ist es endlich, endlich, endlich so weit: Mein ISP hat zum heutigen World IPv6 Day natives IPv6 für die Server bereitgestellt. Ich habe das natürlich sofort aktiviert und entsprechende AAAA-Records angelegt.

Gelingt der Zugriff über IPv6? Durch meinen Hurricane-Electric-Tunnel sieht es so aus, als würde es klappen.

DynDNS selbst gemacht

von MichiK am 25. Mai 2011 um 09:56 Uhr

Mich hat die zunehmend kommerzielle Natur von DynDNS in letzter Zeit mehr und mehr angenervt. Außerdem ging die (gefühlte) Zuverlässigkeit immer weiter zurück. Also musste eine neue Lösung her, idealerweise auch eine, bei der ich Hosts meiner eigenen Domain dynamisch vergeben kann, und das ohne externe Dienstleister (einfach der Coolness wegen).

Mein schnell zusammengehacktes System hier besteht jetzt aus zwei Elementen: Einerseits muss der dynamische Host dem Server irgendwie mitteilen, wie seine IP lautet, andererseits muss der Server die neue IP in die Welt hinausposaunen.

Für den ersten Teil habe ich genutzt, was da war: Zu Hause steht ein Linksys mit OpenWRT, auf dem Server läuft ohnehin ein Webserver, der auch CGI spricht (Natürlich würde sich hier auch jeder andere Service eignen, bei dem eine Verbindung aufgebaut und irgend eine Art von Authentifizierung durchgeführt wird. Meine Variante hat aber den netten Vorteil, dass hier auf Serverseite ein Skript angestoßen wird, was die IP des dynamischen Hosts einfach in eine Datei schreiben kann. Andere benutzen an der Stelle SSH oder POP, aber dann muss man die IP-Adresse hinterher umständlich aus irgendwelchen Logfiles popeln.). Auf dem Linksys läuft der folgende Cronjob:

/usr/bin/wget -O /dev/null "http://www.example.com/cgi-bin/ipupdate?foobar" >/dev/null 2>/dev/null

Der String “foobar” in der URL erfüllt dabei die Funktion eines Passworts, um ein Mindestmaß an Authentifizierung sicherzustellen. Man kann die Sache an dieser Stelle beliebig komplex machen, aber für mich reicht es. Das ipupdate-Skript auf Serverseite sieht folgendermaßen aus:

#!/bin/sh
echo "Content-type: text/html\n"
if [ "$QUERY_STRING" = "foobar" ] ; then
echo "$REMOTE_ADDR" > /tmp/ip.txt
fi

Es tut nichts anderes als zu prüfen, ob das Passwort stimmt und wenn ja, schreibt es die IP-Adresse des Clients in eine Datei. Diese IP-Adresse muss nun natürlich noch an einen DNS-Server verfüttert werden. Wer keinen eigenen DNS-Server hat, sondern den seines Providers verwendet (mache ich normalerweise auch so), kann sich nun ein Skript schreiben, was im Administrations-Interface des Providers die IP-Adresse des Hosts ändert. Das ist sicher möglich, war mir aber einerseits zu kompliziert, andererseits haben die Einträge beim DNS-Server meines Providers eine lange Lebensdauer von 86400 Sekunden, die ich nicht anpassen kann. Übliche Cachelebensdauern sind zwar meist kürzer, aber ich habe dennoch keine Kontrolle darüber, wie lange die alte IP von anderen Servern ggf. noch verwendet wird, ohne mal nach der neuen zu fragen.

Also habe ich einfach selbst einen primitiven DNS-Server mit minimalistischer Konfiguration eingerichtet. BIND ist natürlich totaler Overkill an dieser Stelle, also habe ich mich für MaraDNS entschieden. Die MaraDNS-Konfiguration ist nicht schwierig, ich habe lediglich folgendes in meiner Konfigurationsdatei stehen:

bind_address = "127.0.0.1 1.2.3.4"
chroot_dir = "/etc/maradns"
csv2 = {}
csv2["dynamic.example.com."] = "db.dynamic.example.com"

Hierbei ist 1.2.3.4 die externe IP-Adresse des Servers und dynamic.example.com der Host, unter dem der Rechner mit der dynamischen IP später erreichbar sein soll.

Was nun noch fehlt, ist das Zonefile. MaraDNS liest seine Zonefiles leider nur neu, wenn man es beendet und neu startet (das ist in meinem Fall kein großes Problem, weil meine dynamische IP sich nur selten ändert – im Idealfall einmal am Tag – möchte man viele oder schnell wechselnde IPs verteilen, muss man sich hier natürlich etwas anderes einfallen lassen). Ich habe an dieser Stelle einen Cronjob als root eingerichtet, der minütlich folgendes Skript aufruft:

#!/bin/sh
[ -e /tmp/ip.txt -a -e /etc/maradns/db.dynamic.example.com ] || exit 1
if [ `cat /tmp/ip.txt` != `cut -d " " -f 4 /etc/maradns/db.dynamic.example.com` ] ; then
echo "dynamic.example.com. +60 A `cat /tmp/ip.txt` ~" > /etc/maradns/db.dynamic.example.com
/etc/init.d/maradns restart >/dev/null
fi

Es vergleicht den (von ihm selbst in einem früheren Lauf angelegten) alten Eintrag im Zonefile (das deshalb nur eine Zeile mit eben diesem Eintrag haben sollte, die am Schluss einfach wieder überschrieben wird) mit der letzten vom dynamischen Host gemeldeten IP-Adresse. Falls sich die IP-Adresse geändert haben sollte, wird das Zonefile aktualisiert und der DNS-Server neu gestartet.

Man muss nun natürlich noch dem DNS-Server seines Providers mitteilen, dass er die Anfragen für die Subdomain dynamic.example.com an den eigenen Nameserver delegiert. Ob und wie das geht, ist natürlich von Provider zu Provider unterschiedlich – ich konnte es bequem im Webinterface klicken.

WordPress mit HTTPS

von MichiK am 9. Februar 2011 um 19:03 Uhr

Nachdem ich hier schon vor Jahren einige Mühe mit HTTPS hatte und es nun auch gestern noch nicht so wollte, scheint sich meine nicht sehr elegante, aber dafür kurze und schmerzlose Lösung nun zu bewähren. Was habe ich gemacht? In wp-config.php steht nun:

if ($_SERVER['HTTPS']) {
define('WP_HOME','https://amish-geeks.de');
define('WP_SITEURL','https://amish-geeks.de');
} else {
define('WP_HOME','');
define('WP_SITEURL','');
}

Wer per HTTPS kommt, bekommt somit automatisch https://-Links, wer per HTTP kommt, entsprechend http://. Auch im Administrationsinterface funktioniert das problemlos (hier wird man jedoch nicht automatisch zu HTTPS gezwungen).

Eine solche Lösung eignet sich übrigens auch, wenn das selbe Blog unter mehreren, gleichberechtigten URLS zu erreichen sein soll. Dann benutzt man einfach anstelle des festen Hostnamens $_SERVER['HTTP_HOST'].

IP-Adresse ergoogelt…

von Khark am 29. November 2010 um 15:23 Uhr

Der MX-Record einer Domain sollte geändert werden.
Die Domain liegt nicht direkt bei meinem Arbeitgeber sondern bei einem Registrar in England.
Also mailt man mit dem Support hin und her..

Bis dann folgender klopfer kommt:

Please can you confirm that the IP address for: mail.domain.tld is 1.2.3.4
To change the MX record we do need an IP address.

I have googled the mail.domain.tld, which brought up this information: http://www.robtex.com/dns/mail.domain.tld

If you can confirm the IP address, it will only be minutes to change the MX record

Also erstmal gehören in MX-Recors keine IP-Adressen. Ausschließlich Hostnamen.
Mit IPs KANN das zwar auch funktionieren. Allerdings sollte man sich auch drauf einstellen bei vielen Spamfiltern schonmal alleine 3-5 Punkte auf der Spamscore zu kassieren weil da eine IP drinsteht.
Das Bestätigen der IP-Adresse ist also total überflüssig.

Und zweitens: Die IP-Adresse ergoogelt?
Was zum Teufel soll der Mist? Schonmal von Ping gehört? Oder nslookup das unter Windows genauso zu bedienen ist wie unter Linux? Oder dig?
Selbst wenn ICMP und UDP/DNS durch die FW nach außen geblockt wird gibt es immer noch Webtools dafür zu hauf.
Da hier keine sensiblen Informationen übertragen werden ist das kein Ding diese zu benutzen.
– Im Gegenteil sie sollen bzw. müssen für jeden frei einsehbar sein.

Ich wunder mich einfach wiedermal nur was für Leute im Support rumhüpfen..

Technische Kommandozeilen Tools Referenz für Windows Vista/7

von Khark am 14. Mai 2010 um 22:23 Uhr

Nur mal so, als Reminder für mich.

Windows Vista technische Kommandozeilen Tools Referenz:
http://technet.microsoft.com/en-us/library/cc722159%28WS.10%29.aspx

Windows 7 technische Kommandozeilen Tools Referenz:
http://technet.microsoft.com/en-us/library/dd799280%28WS.10%29.aspx

Blackberry Spielerein

von Khark am 8. Mai 2010 um 20:21 Uhr

Ich bin nun seit knapp 3 Wochen Besitzer eines Blackberry 8800.

Und da wir bei uns in der Firma einen u.a. VMware-Cluster einsetzen, habe ich mal zum Test vCenter Mobile Access auf unseren ESX eingerichtet.
Ist zwar noch Beta aber funktioniert problemlos.

Die vCMA ist zuallerst eine eigene virtual Machine Appliance. Diese stellt über die WebServices eine Verbindung zum ESX-/vCenter-Server her und stellt eine auf mobile Endgeräte (Blackberry, IPhone, etc.) abgestimmte, minimale Weboberfläche bereit.

Lädt man die OVF-Version herunter, kann man die VM direkt als Virtual Appliance importieren. Prinzipiell kann man dann sofort starten und über die IP der VM das Webinterface aufrufen (http://ip.ip.ip.ip/vim/).
Bei Blackberry ist das angenehme, das es auch sofort von extern über die interne IP geht, da man dank Blackberry Enterprise Server direkt im Firmennetz ist.

Über die vCMA kann man so VMs neustarten/stoppen und sich den Status der VMs (Running, etc.) ausgeben lassen.
Also ideal um mal eine VM neuzustarten wenn dies nötig ist.

Konsolenzugriff auf das Gast-OS ist über die vCMA aber nicht möglich.
Zudem wären die Bildschirme der meisten Handys dafür auch zu klein bzw. die Datentarife zu teuer.

Auf Youtube gibt es unter http://www.youtube.com/watch?v=9UxDnV2qaeM ein Video das die Applikation in Aktion zeigt.

Liebe Schmallbandhoster

von Khark am 17. März 2010 um 17:28 Uhr

Es ist eine verdammt schlechte Ausrede zu behaupten der Domaintransfer könne nicht ohne weiteres durchgeführt werden, da der KK-Antrag einige Vorbereitungszeit erfordere.

Das KK-Verfahren wurde zum 2. Februar 2010 endgültig abgeschafft. Seit Dezember 2008 existiert schon das AuthCode-Verfahren.
Und dieses hat nun endlich den KK-Antrag abgelöst.
Siehe: http://www.denic.de/denic-im-dialog/news/2465.html?cHash=e9d6afb826

Waren ja nur knapp 2 Jahre Zeit sich mal zu informieren..

Zarafa und Getting Things Done

von Khark am 5. März 2010 um 00:10 Uhr

Mag mal jemand der mehr Erfahrung in der Anwendung von Getting Things Done (GTD) hat und evtl. die OpenSource Version von Zarafa nutzt, mir mitteilen inwieweit Zarafa geeignet ist das GTD-Schema nachzubauen?

Ach und wo wir grad beim Thema sind: Jemand anwesend der von seinen Erfahrungen mit Z-Push und Postfix/Dovecot berichten mag? :-)

Prozentzeichen (%) in CronJobs

von Khark am 10. Dezember 2009 um 19:47 Uhr

Peinlich. Peinlich.
Da arbeitet man jahrelang* als Linuxadmin und dann sowas..

Aber der Reihe nach. Die Aufgabe war einfach, jeden Tag um 02:00 Uhr soll ein Backup aller MySQL-Datenbanken gemacht, mit bzip2 komprimiert und unter /media/backup/mysql-dbs.YYMMTT.bz2 abgelegt werden.

Lösen tut man das dann wie folgt:
00 2 * * * root mysqldump --all-databases --user=root --password=xxxxx |bzip2 > /media/backup/mysql-dbs.$(date +%y%m%d).bz2

Dieses ergibt aber nur eine tolle Fehlermail von Cron:

/bin/bash: -c: line 0: unexpected EOF while looking for matching `)’
/bin/bash: -c: line 1: syntax error: unexpected end of file

Das Problem ist, das Cron das Prozentzeichen (%) als NewLine interpretiert.
Daher muss es escaped werden, damit man es als Bestandteil eines Kommandos, z.B. bei date, verwenden kann.
Leider steht dies nicht in jeder Manpage. (Bei Debian steht es drin -> man 5 crontab)

Richtig ist also folgendes:
00 2 * * * root mysqldump --all-databases --user=root --password=xxxxx |bzip2 > /media/backup/mysql-dbs.$(date +\%y\%m\%d).bz2

* = Ich zähl die Ausbildung jetzt einfach mal dazu. :-)

Dist-Upgrade

von Khark am 7. Dezember 2009 um 23:52 Uhr

Sodele, mein Rootserver läuft nun auch endlich mit Lenny.
Dist-Upgrade verlief erstaunlich problemlos. Wenn man bedenkt das die Kiste mal mit Sarge aufgesetzt wurde.

Außer das Nagios2 nun Nagios3 ist, daher ein paar Pfade im Apache-vHost angepasst werden mussten und mir Spamassassin Mails von mir an mich selbst als Spam deklariert.
Zudem mag roundcube den .spam-Ordner nicht anzeigen, wohl aber .Junk. Ich habe jetzt erstmal .Junk gelöscht und daraus einen Symlink auf .spam gemacht.
Maildir-Namespace umbenennen muss ich sowieso noch irgendwann machen, da sich da Squirrelmail und Roundcube beißen.
Und solange es keinen nett anzusehendes Webmail mit GPG, Threaded-View, Ordner-/Sieve-Regel-Verwaltung gibt muss ich beides nutzen. *narf*

Und ich habe jetzt endlich vertical split in meinem Screen. Ein Wahnsinns-Feature das wohl erst ab 1280×1024 Auflösung Sinn macht :)
Vertical split Screen

Wenn der MySQL-Dump mal wieder länger dauert…

von Khark am 26. Oktober 2009 um 12:30 Uhr

Mit folgendem Befehl kann man sich schnell und einfach die Größe in MB aller vorhandenen MySQL-Datenbanken anzeigen lassen.
Praktisch wenn der Dump länger läuft als erwartet und kein PHPMyAdmin o.ä. zur Hand ist.

mysql -u root -p -e 'select table_schema "Database",round(sum(data_length+index_length)/1024/1024,4) "Size (MB)" from information_schema.tables group by table_schema;'

Falls WordPress das irgendwie umbrechen sollte: Der ganze Befehl gehört in eine Zeile.
Anpassungen müssen nicht vorgenommen werden. Außer du hast kein Root-Passwort für MySQL gesetzt.
(Böser Admin! Schlechter Admin!)

Gefunden bei: Xela

Update:
Da mich hier grad eine IRC-Anfrage erreicht dass das nicht funktioniert.
Man benötigt schon MySQL 5 dafür. Vorher gabs die information_schema Datenbank nicht.
Vorher stand das alles in div. Variablen und Kommandos. Evtl. mag das ja mal jemand für MySQL 4.x raussuchen?

Here Be Dragons and Kharks

von Khark am 25. Oktober 2009 um 22:04 Uhr

Ich habe jetzt schonmal präventiv, definitiv beschlossen, dass ich den 26C3 besuchen werde.
Die letzten Jahre konnte man mich dort ja nicht antreffen.

Nur wegen Engeln hab ich mich noch nicht festgelegt. Denke mal das mache ich vom Fahrplan abhängig.

Hey Amazon!

von Khark am 30. September 2009 um 00:55 Uhr

Wann koppelt ihr euren MP3 Downloadstore mal mit Rhapsody und Last.fm und setzt dann eine ordentliche voll WebZWONullige Suche darüber?

Wäre mal genial.

Pizza in Reimform bestellen

von Khark am 29. September 2009 um 19:46 Uhr

Guten Tag,
ich lasse bei euch das Telefon schelle’ um eine Pizza zu bestelle’.
Schön viel Käse und Schinken soll es sein,
drum schiebt eine Pizza Kentucky in den Ofen rein.

Mein Hunger ist zwar groß,
aber der Magen klein,
28cm solln’s also sein.

Und stellt dem Mofa-Fahrer ja kein Bein,
den schnell bei mir soll sie sein.

Fortsetzung erwünscht? :-)

World of Warcraft in Zahlen

von Khark am 19. September 2009 um 15:12 Uhr

Beim Onlinespiele Magazin Buffed gibt es einen interessanten Artikel mit Statistiken zu World of Warcraft.
Die Zahlen selbst stammen von Senior Vice President Frank Pearce und Production Director J. Allen Brack, die auf der Game Developers Conference in Austin die Zahlen offenlegten.

Personal:

  • 2.056 Game Master
  • 340 Angestellte im Rechnungswesen
  • 254 Mitarbeiter im Bereich Qualitätssicherung
  • 68 Mitarbeiter im Bereich “Online Network Services”, die die Server-Zentren weltweit überwachen
  • 66 Angestellte im Bereich Community
  • 51 Mitarbeiter im künstlerischen Bereich
  • 37 Angestellte im Bereich Design (von Klassen- über Berufs- bis hin zu Item-Design)
  • 32 Mitarbeiter im Bereich Programmierung
  • 10 Angestellte, die die Produktion überwachen

Technik:

  • 13.250 Bladeserver
  • 75.000 CPU-Kerne
  • knapp 113 Terabyte RAM
  • 5,5 Millionen Zeilen Programmcode
  • Alle Tools werden In-House bei Blizzard entwickelt, weil man WoW als sehr langlaufendes Projekt ansieht

Zudem wurde wohl auf der GDC ein Bild des Global Network Operations Center von Blizzard gezeigt.
Das konnte ich aber leider nirgendwo finden :(

Restliche Zahlen:

  • die Spieler haben bisher 4.449.680.399 Achievements abgeschlossen
  • das Team für Qualitätssicherung hat sich seit dem Start von WoW 180.000 Bugs vorgeknöpft
  • für WoW wurden bis jetzt 70.000 Fähigkeiten und 40.000 einzigartige NPCs erstellt
  • es gibt derzeit 7.650 Quests im Spiel
  • aktuell existieren 12.000.000 Battle.net-Accounts
  • WoW enthält über 27 Stunden Musik
  • es mussten bis jetzt 3.211.102 Wörter lokalisiert werden
  • für jeden Patch müssen 126 verschiedene Versionen erstellt werden
  • die Verteilung von Patch 3.1 an die Spieler verursachte ein Datenaufkommen von über 4.7 Petabyte
  • weltweit kommen in Blizzard-Büros insgesamt 20.000 Computer-Systeme zum Einsatz

Zum Artikel bei: wow.buffed.de
Quelle von Buffed: Gamasutra

Hetzner Rechenzentren

von Khark am 19. September 2009 um 12:18 Uhr

… sind verdammt warm.
Zumindest das eine in dem ich gestern war.

Hat jemand Zahlen darüber, wieviel man pro Grad Celsius an Kühlung in einem “handelsüblichen RZ” spart?

Und dann war da noch …

von Khark am 17. September 2009 um 22:49 Uhr

Der Kunde der mir morgens per Mail mitteilte:
“Der Dämonenserver geht nicht.”

Gemeint war der Domänenkontroller :-)

Videos mit Mplayer auf dem LCD-TV unter Windows

von Khark am 20. August 2009 um 19:24 Uhr

Wenn man schon so einen tollen LCD-TV mit 80cm Bildschirmdiagonale hat, will man darauf natürlich auch DVDs, etc. gucken.
Während handelsübliche Programme wie VLC & Co. damit keine Probleme zu haben scheinen, muckte der Mplayer erst etwas rum.

Das Setup ist in meinem Fall wie folgt:
Primärer Monitor: TFT, angeschlossen über DVI
Sekundärer Monitor: LCD-TV, angeschlossen über DVI-HDMI-Adapter

Mplayer zeigt auf dem primären Monitor problemlos Videos an.
Verschiebt man das Videofenster nur zum Teil auf den LCD-TV zeigt Mplayer für diesen Bereich ein grünes Bild.
Verschiebt man das Fenster komplett auf den LCD-TV erscheint folgende Fehlermeldung:
<vo_directx><ERROR>UpdateOverlay failed
<vo_directx><ERROR>Overlay:x1:0,y1:279,x2:1280,y2:819,w:1280,h:540
<vo_directx><ERROR>invalid rectangle

Nach etwas Googeln findet man den Hinweis, das man Mplayer wie folgt starten soll:
mplayer -vo directx:noaccel film.avi

Dies klappte in meinem Fall soweit, als das auf dem LCD-TV genau das Bild zu sehen war, das zuletzt auf dem primären TFT-Monitor angezeigt wurde und der Film somit “stand”.

Etwas mehr Googeln brachte dann den Erfolg.
Denn mit: mplayer -vo gl2 film.avi oder mplayer -vo gl film.avi startet der Film auf dem primären TFT-Monitor und läuft weiter wenn ich das Mplayer-Fenster auf den LCD-TV verschiebe. Nutzt dann aber OpenGL statt DirectX.

Eine andere Lösung mit DirectX ist folgender Aufruf:
mplayer -vo directx -adapter 2 wobei adapter 2 hier für den sekundären Monitor, den LCD-TV, steht.
Mit -adapter 1 würde der Film auf dem primären Monitor, dem TFT, ausgegeben.

Viel Dank geht an: http://www.spoonforums.com/index.php?showtopic=1600&st=50

Pimp up my Lifestyle

von Khark am 20. August 2009 um 00:15 Uhr

Neben einem Ventilator gabs für mich noch ein 3m HDMI-Kabel und DVI zu HDMI Adapter.
Leider ist der Adapter ein paar Millimeter zu breiit, so das ich TFT und LCD-TV nicht gleichzeitig benutzen kann. Aber mittels etwas handwerklichen Geschick sollte auch das lösbar sein :)

So kann ich jetzt Fallout 3 auf einem LCD-TV spielen bei 16:9 Breitbild und einer Auflösung von 1920×1080.
Fehlt eigentlich nur noch das Sofa und Funktastatur + Maus, sowie ein entsprechendes Funk-Headset. *hrmm*
Fallout 3 auf einem 20

Fallout 3 auf einem 20

Heute abend zähl ich dann wieviel Puttys gleichzeitig auf den Bildschirm passen.

Nerd-Insider

von Khark am 8. August 2009 um 19:35 Uhr

<3,14> BrainBug: Du bist im neuen Tattoo Mag !! …mit einem riesen Bericht über die SIGNIT …. Thema : “Nerds im Anmarsch –>Die Hacker-Tatoos des Chaos Computer Clubs” :)
<Zappt> 3,14: wtf?
<3,14> Zappt: Nee aber dem autor hat sein Votrag gefallen… ist ein echt netter Bericht mit viel wohlwollender aufklärung über die hackerszene
<BrainBug> 3,14: wtf?
<3,14> :D
<BrainBug> 3,14: ich hab da nen vortrag gehalten?
<BrainBug> 3,14: gibts das online
<3,14> BrainBug: Hast du nicht was zu Chipkarten in Reisepässen gemacht ?
<BrainBug> 3,14: oehm. ja, doch :)
<3,14> BrainBug: das coolste ist wenn der typ sich wundert das er einen koffein-flash bekommen hat obwohl er den ganzen tag nur diesen “komischen Eistee mit kohlensäure” getrunken hat :D

Naa, wer weiß welches Getränk hier gesucht ist? :D