Blog Spam
July 12th, 2008Ich bin nun bei > 20.000 Spamkommentaren angelangt. Ist sowas zu fassen.
Akismet has caught 20,525 spam for you since you first installed it.
Ich bin nun bei > 20.000 Spamkommentaren angelangt. Ist sowas zu fassen.
Akismet has caught 20,525 spam for you since you first installed it.
Mal wieder was im Sex-Blog gefunden. Zensur mal auf die kreative Art gemacht.
Wer schon immer mal wissen wollte wie ein Buffalo Airstation WHR-HP-AG108 oder WHR-G54S geöffnet wird, der sollte sich die Anleitung im DD-WRT Wiki und / oder bei K9Spud ansehen. Nach diesen Anleitungen bekommt man das Ding auf ohne irgendwelche Plastiknasen abzubrechen. Und zusammen gehts dann auch wieder - einfach rückwärts ![]()
Das Thema beschäftigt mich schon länger. Wie kann ich meine DNS-Verwaltung im LDAP abbilden? Dazu gibt es grundsätzlich mehrere Möglichkeiten, wie ich herausfand.
Eine Lösung ist einen anderen DNS-Server als bind zu benutzen, welcher ein LDAP-Backend hat. Hier seien powerDNS und ldapdns genannt. Ersterer hat mir einen zu komerziellen Hauch, Letzterer macht einen zu schmalen Eindruck.
Ich bleibe also bei bind9. Es gibt ein LDAP-sdb-Backend für bind9, welches allerdings das patchen von bind9 verlangt. Die Beispiele des alten Maintainers und das LDAP-Schema sind recht nett. Auf eine weitere Möglichkeit wies mich Jan-Piet Mens hin. Bind DLZ (dynamic loadable zones) ist eine API, die verschiedenste Datenquellen für bind9 ermöglicht. Neben der orginalen Berkley DB kann der Treiber auch Mysql, PostgreSQL und LDAP. Das DLZ-Schema ist eine wenig gewöhnungsbedürftig, funktioniert aber.
Nach der Installation von bind9 auf ubuntu hardy per apt-get stellte ich fest, dass dort keine dlz-zones einkompiliert sind. Also eben apt-get source gemacht und in debian/rules die ./configure optionen eingetragen. Das sah dann so aus:
apt-get source bind9
cd bind9-9.4.2
vi debian/rules
–enable-ipv6 \
–with-dlz-ldap=yes
Später stellte sich noch heraus, dass die ldap 2.4.7 API sich verändert hat. Der sogenannte %-Bug kann dann gleich mit erledigt werden. Dafür in die Datei contrib/dlz/drivers/sdlz_helper.c um Zeile 168 das % ind ein $ verändern. Dank an Jen-Piet Mens für die schnelle Hilfe. In den nächsten Ubuntu-Versionen sollte das nicht mehr vorkommen - der Bug 227344 wurde beseitigt.
Nun das neue .deb Paket zusammenbauen und installieren.
dpkg-buildpackage
dpkg -i ../bind9_9.4.2-10_i386.deb
Nun kann bind in seiner Konfiguration LDAP-Zonen verarbeiten. Dazu hab ich lediglich das Beispiel für meine Zwecke angepasst. Auf Zeilenumbrüche reagiert der dlz-Treiber recht eigensinnig. Deshalb immer prüfen, ob die Anzahl der Parameter aka Zeilen wirklich stimmt. Man beachte den Unterschied von % und $ im Vergleich zum dlz-LDAP-Beispiel. Die leeren Zeilen und die Einrückungen müssen natürlich entfernt werden.
dlz “ldap zone” {
database “ldap 1
v3 simple {cn=admin,<ldap-bind-dn>} {<secret>} {}
ldap:///dlzZoneName=$zone$,ou=dns,<ldap-bind-dn>???objectclass=dlzZone
ldap:///dlzHostName=$record$,dlzZoneName=$zone$,ou=dns,<ldap-bind-dn>?
dlzTTL,dlzType,dlzPreference,dlzData,dlzIPAddr,
dlzPrimaryNS,dlzAdminEmail,dlzSerial,dlzRefresh,dlzRetry,dlzExpire,
dlzMinimum?sub?(&(objectclass=dlzAbstractRecord)(!(dlzType=soa)))ldap:///dlzHostName=@,dlzZoneName=$zone$,ou=dns,<ldap-bind-dn>?
dlzTTL,dlzType,dlzData,dlzPrimaryNS,
dlzAdminEmail,dlzSerial,dlzRefresh,dlzRetry,dlzExpire,
dlzMinimum?sub?(&(objectclass=dlzAbstractRecord)(dlzType=soa))ldap:///dlzZoneName=$zone$,ou=dns,<ldap-bind-dn>?
dlzTTL,dlzType,dlzHostName,dlzPreference,dlzData,
dlzIPAddr,dlzPrimaryNS,dlzAdminEmail,dlzSerial,dlzRefresh,dlzRetry,
dlzExpire,dlzMinimum?sub?(&(objectclass=dlzAbstractRecord)(!(dlzType=soa)))ldap:///dlzZoneName=$zone$,ou=dns,<ldap-bind-dn>??sub?
(&(objectclass=dlzXFR)(dlzIPAddr=$client$))”;
};
Nach dem Neustart von bind sollte im Log das erfolgreiche Laden der Zone vermerkt sein
named[14557]: Loading ‘ldap zone’ using driver ldap
Sollte das nicht der Fall sein, dann sind mit 99,9% die Leerzeichen, Zeilenumbrüche oder Verbindungsdaten falsch.
Nun braucht der LDAP-Server noch das DLZ-Schema ein ein paar Einträge. Als minimal gilt folgendes LDIF:
dn: ou=dns,<ldap-bind-dn>
objectClass: organizationalUnit
objectClass: top
ou: dnsdn: dlzZoneName=zone.intern,ou=dns,<ldap-bind-dn>
objectClass: dlzZone
objectClass: top
dlzZoneName: zone.interndn: dlzHostName=@,dlzZoneName=zone.intern,ou=dns,<ldap-bind-dn>
objectClass: dlzHost
objectClass: top
dlzHostName: @dn: dlzRecordID=1,dlzHostName=@,dlzZoneName=zone.intern,ou=dns,<ldap-bind-dn>
dlzTTL: 10
dlzExpire: 604800
dlzRefresh: 2800
dlzMinimum: 86400
dlzAdminEmail: it.zone.de.
objectClass: dlzSOARecord
objectClass: dlzAbstractRecord
objectClass: top
dlzRecordID: 1
dlzSerial: 2008022801
dlzType: soa
dlzHostName: @
dlzRetry: 7200dn: dlzRecordID=2,dlzHostName=@,dlzZoneName=zone.intern,ou=dns,<ldap-bind-dn>
dlzRecordID: 2
objectClass: dlzNSRecord
objectClass: dlzGenericRecord
objectClass: dlzAbstractRecord
objectClass: top
dlzTTL: 10
dlzType: ns
dlzHostName: @
dlzData: pridns.zone.intern.dn: dlzHostName=pridns,dlzZoneName=zone.intern,ou=dns,<ldap-bind-dn>
objectClass: dlzHost
objectClass: top
dlzHostName: pridnsdn: dlzRecordID=1,dlzHostName=pridns,dlzZoneName=zone.intern,ou=dns,<ldap-bind-dn>
dlzIPAddr: 192.168.1.1
dlzRecordID: 1
objectClass: dlzARecord
objectClass: dlzAbstractRecord
objectClass: top
dlzTTL: 3600
dlzType: A
dlzHostName: pridns
Wenn alles gut geht, dann sollte der Nameserver nun funktionieren. Beim testen mit host sollte die IP 192.168.1.1 zurückkommen.
host pridns.zone.intern localhost
Et Voilà - der bind am LDAP ist fertig.
Seit ich das Blog als SVN checkout laufen lasse, ist ein Update kinderleicht. Einfach ein svn sw im Verzeichnis und alles ist schick. Diesmal wars mit
svn sw http://svn.automattic.com/wordpress/tags/2.5.1/
getan. Vielen Dank für diesen Update-Mechanismus.
Weiterhin folgten ein paar Updates verschiedener Plugins. Auch die Permalinks hab ich nun aktiviert.
Gerade bei Sanne gefunden. 3 Videos mit 3 verschiedenen Themen. Ich mag meinen Arbeitsplatz nicht, ich mache mobiles Popcorn und Traue nicht den Bildern. Have Fun.
Auf dem WCW2008 hat Mario und ich mit den Jungs von ninux.org ein kleines Interview gemacht. Es ging um OLSR, um die Vernetzung mit tincVPN und BGP und wie die Jungs von ninux.org ihr Netz und den Inhalt organisieren.
Auch direkt zu sehen auf vimeo. Mehr Dazu in Italienisch im ninux.org Blog, auf Englisch im Freifunk Blog.
Durch das Lesen des ZEIT Sonderhefts zum Thema Internet auf eine interessante Grafik gestoßen. Sie zeigt die vorhandene Internetbandbreite der Welt.
Chris Harrison, welcher die Grafik erstellt hat, hat auch noch andere lustige und interessante Visualisierungen. Zu beachten ist, dass die Grafik die Dichte der Verbindungen darstellt nicht die Menge der Daten bzw. Benutzung. Große Bilder gibts auf der Internet Map Seite von Chris.
Nachdem ich das Nokia VPN zum Laufen bekommen habe muss nun noch der Ubuntu Linux-Laptop damit ins Internet kommen.
Mit Mac OS X ist das einfach. Das ist sowohl im Englischen als auch im Deutschen nachlesbar. Bei mir war das ohne zusätzliche Scripte und foo der Fall. Prima.
Linux war ähnlich einfach. Ich hatte schon ppp Scripte welche aus der Zeit von Sony Ericsson T61 stammen. Nach ein wenig Google fand ich eine recht brauchbare Seite.
Lange Rede, kurzer Sinn. Das Telefon mit Bluetooth mit dem Laptop verbinden. Wenn die PIN Geschichte vorbei ist, dann per rfcomm eine Schnittstelle konfigurieren. Gefunden wird diese mit sdptool.
sdptool search dun
rfcomm bind 0 <mac vom Telefon> <Bluetooth Kanal>
Dann kommen die ppp Scripte zum Einsatz. Einfach nach /etc/ppp/peers packen. Dann kann mit pon umts_nokia angewählt werden.
/etc/ppp/peers/umts_nokia
show-password
noauth
connect /etc/ppp/peers/umts_nokia-chat-connect
disconnect /etc/ppp/peers/umts_nokia-chat-disconnect/dev/rfcomm0
115200novj
nobsdcompconnect-delay 8000
crtsctsdefaultroute
noipdefault
usepeerdns
user “tm”lcp-echo-interval 0
lcp-echo-failure 0nodetach
#debug debug debug
/etc/ppp/peers/umts_nokia-chat-connect
#!/bin/sh
exec chat \
TIMEOUT 5 \
ECHO ON \
ABORT ‘\nBUSY\r’ \
ABORT ‘\nERROR\r’ \
ABORT ‘\nNO ANSWER\r’ \
ABORT ‘\nNO CARRIER\r’ \
ABORT ‘\nNO DIALTONE\r’ \
ABORT ‘\nRINGING\r\n\r\nRINGING\r’ \
” \rAT \
TIMEOUT 12 \
SAY “Press CTRL-C to close the connection at any stage!” \
SAY “\ndefining PDP context…\n” \
OK ATH \
OK ATE1 \
OK ‘AT+CGDCONT=1,”IP”,”internet.t-mobile”‘\
SAY “\nCDGCONT defined, dialing …\n” \
OK ATD*99# \
TIMEOUT 22 \
SAY “\nwaiting for connect…\n” \
CONNECT “” \
SAY “\nConnected.” \
SAY “\nIf the following ppp negotiations fail,\n” \
SAY “try restarting the phone.\n”#EOF
/etc/ppp/peers/umts_nokia-chat-disconnect
#!/bin/sh
exec /usr/sbin/chat -V -s -S \
ABORT “BUSY” \
ABORT “ERROR” \
ABORT “NO DIALTONE” \
SAY “\nSending break to the modem\n” \
“” “\K” \
“” “+++ATH” \
SAY “\nPDP context detached\n”#EOF
Kommentiert der Benutzer das nodetach aus, dann wird auch keine Console im Beschlag gehalten. Na dann - happy surfing UMTS.
Sooo. Ich hab nun endlich mal einen ordentliche Statistik installiert. Die Auswahl ist ja echt nicht einfach. Firestats ging super schnell zu installieren und meine gallery2 kann ich auch noch integrieren. Mal sehen wann.
Bei der Gelegenheit hab ich auch noch gleich ein Wordpress Update gemacht. Dank SVN super schnell und einfach.