Nokia E61i UMTS (T-Mobile) und Linux (Ubuntu)

April 13th, 2008

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
115200

novj
nobsdcomp

connect-delay 8000
crtscts

defaultroute
noipdefault
usepeerdns
user “tm”

lcp-echo-interval 0
lcp-echo-failure 0

nodetach
#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.

Statistik und Update

April 13th, 2008

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.

DVORAK vs. QWERTY

March 28th, 2008

Wir alle kennen das Tastaturlayout unter dem Begriff QWERTY bzw. QWERTZ. Aber wie viele wissen, dass es auch alternative Tastaturlayouts gibt? Eins davon ist DVORAK. Wer Lust hat, sollte es ausprobieren und sich nicht von den Vorbehalten abhalten lassen.

BGP attack !?

March 26th, 2008

Das sollte man sich ansehen wenn man BGP macht - glaube ich.  brat.c ist ein BGP Wurm. Kein Plan wie gut oder schlecht der ist - die Idee ist gut. Evlt. gibts da auch neuere Implementierungen oder Ansätze zum Angriff die der Admin im Vorfeld absuchen und ausprobieren sollte. Der Link ist nun zumindest in meinem Blog ;)

Freifunk in Indien

March 17th, 2008

Mein Kollege Rene aus Rostock befindet sich immernoch (oder besser schon wieder) in Indien und schlägt sich da durchs Leben. Nun hat er auch nen Zeitungsartikel in einer Indischen Zeitung. Respekt.

Optimierung kleiner Bandbreite

March 3rd, 2008

Ein paar interessante Folien / Vorträge zu “Optimization Technologies for Low-Bandwidth Networks” gibts auf der Website der sdp.ictp.it. Auch ein Bekannter der Freifunk-Bewegung Thomas B. Krag ist mit einem Vortrag über Bandbreitenmonitoring dabei ;)

Nokia E61i, ipsec VPN und pfsense

January 28th, 2008

Es gilt das Nokia e61i bzw. die E-series mit Symbian 60 OS per Nokia VPN anzubinden. Das Nokia VPN ist IPSEC und soll mit Cisco kompatibel sein, auch wenn im Nokia Forum, Telefon-Treff und in den Google-Groups verschiedene Probleme bei verschiedenen detuschen Unis zu lesen war.

Warum, dachte ich mir, nicht auch mit einer Linux VPN Lösung!? Eine erste Anleitung gibts im Linux-Journal, eine weitere bei Thorsten Knabe. Damit kam ich schon recht weit. Allerdings wollte ich mir openswan nicht antun. Auf der Suche nach einer kleinen VPN-Appliance kam ich auf m0n0wall - später auf den Fork pfsense. Beides sind keine, openBSD basierte VPN / Firewall Plattformen. Sie sind superschmal (~10MB Platte, 32 MB RAM) und tun genau was ich will (VPN und Firewall) mit einer netten Weboberfläche.

pfsense war schnell in einer VMware-Instanz installiert und tat seinen Dienst. Die IPSEC-RoadwarriorKonfiguration war schnell erledigt und einsatzbereit. pfsense vergibt für die mobilen Clients dynamish 172.x.x.x Adressen. Ist pfsense nicht das default-gw hat man hier ein wenig Routingprobleme sofern 172.x.x.x auch intern verwendet wird. Ändern oder Einstellen konnte ich den IP-Bereich nicht. Anbei die Liste der Einstellungen für Phase 1 proposal (Authentication):

Negotiation mode: agressive
My Identifier: My IP-Address
Encryption algorithm: 3DES
Hash algorithm: SHA1
DH key group: 2
Lifetime: 3600
Authentication method: Pre-shared key

Weiter gehts mit Phase 2 proposal (SA / Key Exchange) :

Protocol: ESP
Encryption algorithm: 3DES, Blowfish, CAST128, Rijndael (AES), Rijndael 256
Hash algorithm: SAH1, MD5
PFS key group: off
Lifetime: 3600

Das Nokia allerdings sollte mich länger beschäftigen. Es ist nicht vorgesehen, dass ich die Konfiguration direkt auf dem Gerät vornehme. Nokia möchte gerne seine VPN-Produkte verkaufen - wie den VPN-Richtlinienserver. Die einzige Möglichkeit VPN-Konfigurationen (VPN-Richtlinien) auf dem Telefon zu installieren besteht im SIS-Paketbauen, welche dann auch noch signiert sein müssen, damit sie das Symbian 9 akzeptiert.

Um ein SIS Paket unter Linux zu bauen brauchte ich makesis.exe. Dies ist Bestandteil von GnuPoc, dem SymbianOS SDK für Linux und MacOS. Eine aktualiserte Version 1.07 enthielt dann auch makesis-4. Ein kurzes make compilierte makesis und signsis. Die folgenden Paketteile ließen sich dann zusammenbauen.

own_VPN.pin:

[POLICYNAME]
own VPN policy PSK
[POLICYDESCRIPTION]
own VPN policy PSK
[POLICYVERSION]
1.1
[ISSUERNAME]
Do not edit
[CONTACTINFO]
Do not edit

own_VPN.pkg:

:”VPN public”
&EN
%{”own VPN policy PSK”}

;
; A VPN POLICY PACKAGE
;

; LANGUAGES
; - None (English only by default)

; INSTALLATION HEADER
; - Only one component name is needed
; to support English only
; - UID is the UID of the
; VPN Policy Installer application
#{”own VPN Policy PSK”},(0×1000597E),1,0,1,TYPE = SA

; LIST OF FILES
; Policy file
“own_VPN.pol”-”C:\System\Data\Security\Install\own_VPN_psk.pol”

; Policy-information file
; - NOTE: The policy-information file
; MUST be the last file in this list!

; - FM (FILEMIME) passes the file to the
; respective MIME handler
; (in this case, the VPN Policy Installer
; application).
“own_VPN.pin”-”C:\System\Data\Security\Install\own_VPN_PSK.pin”,
FM, “application/x-ipsec-policy-info”

; REQUIRED FILES
; - The VPN Policy Installer application
(0×1000597E), 1, 0, 0, {”VPN Policy Installer”}

[0x101F7961], 0, 0, 0, {”S60ProductID”}

own_VPN.pol:

SECURITY_FILE_VERSION: 3
[INFO]
VPN
[POLICY]
sa ipsec_1 = {
esp
encrypt_alg 3
max_encrypt_bits 256
auth_alg 3
identity_remote 0.0.0.0/0
src_specific
hard_lifetime_bytes 0
hard_lifetime_addtime 3600
hard_lifetime_usetime 3600
soft_lifetime_bytes 0
soft_lifetime_addtime 3600
soft_lifetime_usetime 3600
}
remote 0.0.0.0 0.0.0.0 = { ipsec_1(<pfsense public IP>) }
inbound = { }
outbound = { }

[IKE]
ADDR: <pfsense public IP> 255.255.255.255
MODE: Aggressive
SEND_NOTIFICATION: TRUE
ID_TYPE: 11
FQDN: centerraPSK
GROUP_DESCRIPTION_II: MODP_1024
USE_COMMIT: FALSE
IPSEC_EXPIRE: FALSE
SEND_CERT: FALSE
INITIAL_CONTACT: FALSE
RESPONDER_LIFETIME: TRUE
REPLAY_STATUS: TRUE
USE_INTERNAL_ADDR: FALSE
USE_NAT_PROBE: FALSE
ESP_UDP_PORT: 0
NAT_KEEPALIVE: 60
USE_XAUTH: FALSE
USE_MODE_CFG: FALSE
REKEYING_THRESHOLD: 90
PROPOSALS: 1
ENC_ALG: 3DES-CBC
AUTH_METHOD: PRE-SHARED
HASH_ALG: SHA1
GROUP_DESCRIPTION: MODP_1024
GROUP_TYPE: DEFAULT
LIFETIME_KBYTES: 0
LIFETIME_SECONDS: 28800
PRF: NONE
PRESHARED_KEYS:
FORMAT: STRING_FORMAT
KEY: <length secret key> <secret key>

Wenn die Dateien im Ordner liegen mit makesis zusammenbauen und signsis signieren.

./makesis own_VPN.pkg own_VPN_unsigned.sis
./signsis own_VPN_unsigned.sis own_VPN.sis devcert.cer devcert.key

Das DevCert gibts bei symbiansigned. Nach dortiger Anmeldung und einem Offline-Windows Toll (doh!) kann man ein opensigned DevCert erhalten. Dabei wird der CertRequest vom Windows Programm (devcert.cer) hochgeladen und von SymbianSigned signiert. Danach ist er im persönlichen Bereich wieder herunterladbar und als devcert.cer verwendbar.

Nachdem die Hürde mit dem Nokia-SIS genommen war konnte ich die VPN-Verbindung in den Systemeinstellungen des Telefons vornehmen. Siehe dazu den LinuxJournal-Artikel und die Bilder darin.

Fazit: Ich habe was ich wollte. Das Nokia E61i / E65 macht nun IPSEC VPN zu pfsense über T-Mobile Germany. Mit der Datenoption kann ich nun eMails, Kalender, Aufgaben und Kontakte mit Zarafa / Exchange syncronisieren.

VMWare Server Install unter Ubuntu 6.06 LTS

January 15th, 2008

Ich verwende viel VMware Server unter Ubuntu 6.06 LTS. Immer vergesse ich die Bibliotheken auf die folgende Fehlermeldung:

The correct version of one or more libraries needed to run VMware Server may be missing. This is the output of ldd /usr/bin/vmware:
linux-gate.so.1 => (0xffffe000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7efd000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7ef9000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7ee0000)
libX11.so.6 => not found
libXtst.so.6 => not found
libXext.so.6 => not found
libXt.so.6 => not found
libICE.so.6 => not found
libSM.so.6 => not found
libXrender.so.1 => not found
libz.so.1 => /usr/lib/libz.so.1 (0xb7eca000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d80000)
/lib/ld-linux.so.2 (0xb7f27000)

Dann also hier als Gedankenstütze die apt-get Befehle vor der Installation von VMware.

apt-get install libx11-6 libxau6 libxext6 libxi6 libxrender1 libxt6 libxtst6
apt-get install g++ make linux-headers-server xinetd

Sollte ich was vergessen haben, dann reiche ich es nach der nächsten Installation nach :) Ihr könnt es auch in den Kommentaren hinterlassen.

Ein neues Jahr - ein neuer Mensch

January 5th, 2008

Am 25.12.2007 kam unsere Tochter Valerie zur Welt. Dem Weihnachtsengel und der Mutter gehts gut. Es sind nun schon ein paar Tage vergangen und wir alle drei lernen uns immer mehr kennen. Es möge die spannenste Zeit des Lebens beginnen ;)

im Bettchen valerie 1 Tag alt CIMG0021.JPG

Weitere Bilder gibts in der Gallery.

Die schöne neue Welt der Überwachung

December 21st, 2007

Hab ein recht nettes Überwachungs-Flash auf spiegel.de gefunden. Es wurde von Johannes Widmer an der Uni Ulm erstellt und zeigt, “welche Möglichkeiten der Überwachung es heutzutage schon gibt und wo die Gefahren liegen.” Viel Spass beim ansehen und durchklicken.