Skip to content

CryptoTunnel: Wie unter Debian/Ubuntu

Ich habe seit Oktober ein UMTS-fähiges Handy und hatte dann natürlich auch geschaut ob und wie ich damit ins Internet gehen kann.
Mit O2 geht das "relativ" einfach - ein paar Chatscripte für /etc/ppp/ bzw. /etc/chatscripts und schon kann man surfen. Macht auch Spass.
Nun habe ich aber Sachen wie dieses Blog (oder Mails) wo ich verschicken oder eintragen will von wo aus ich gerne möchte - nur mein Laptop muss dafür sich ja irgendwie als berechtigt authentifizieren.

Die Lösung dafür bietet Snafu an: Ihr Produkt Cryptoconnect bietet mir ein VPN an, über das ich dann eine feste IP habe. Sehr praktisch.
Nach der Online-Anmeldung bekommt man Username und Paßwort und den Cryptotunnel-Endpunkt per Post zugeschickt; mit einem blickdichten Umschlag, vorbildlich.
Nun muss man auf dem Laptop "pptp" installieren und entweder händisch oder per pptpconf konfigurieren.

In der /etc/ppp/chap-secrets trägt man den Usernamen, Server, Paßwort und "*" ein, also:


user@crypt PPTP passwort *
PPTP user@crypt passwort *


Dann brauche ich eine Datei /etc/ppp/options.pptp, wo auch die Verschlüsselungen angeneben werden:


lock
noauth

refuse-eap
refuse-chap
#refuse-mschap

nobsdcomp
nodeflate

# Encryption
# (There have been multiple versions of PPP with encryption support,
# choose with of the following sections you will use. Note that MPPE
# requires the use of MSCHAP-V2 during authentication)

require-mppe-128




Nun erstelle ich eine neue Datei /etc/ppp/peers/tunnel in der folgendes steht:

unit 5
pty "pptp ber.cryptoconnect.net --nolaunchpppd"
name user@crypt
remotename PPTP
#require-mschap-v2
require-mppe-128
file /etc/ppp/options.pptp
ipparam tunnel
# bei einem reconnect 90sc warten
holdoff 90
#
# nach 40 Versuchen (1h) aufgeben
maxfail 40
# nicht alles über das vpn routen
nodefaultroute


Als letztes brauche ich noch ein Script was alles - durch den Tunnel schickt bis auf den Tunneltraffic selbst. Dafür habe ich eine Datei /etc/ppp/ip-up.d/tunnel, in der folgendes steht:


#!/bin/bash
PPP_IFACE="$1"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
OLDDEFAULT=$(ip route list | awk '($1=="default"&&$2=="via"){print $3}')
PPTP_REMOTE=$(host -t A ber.cryptoconnect.net | sed 's/^.*[\ \t]\([0-9\.]*\)$/\1/')

if [ "tunnel" == "$PPP_IPPARAM" ]
then
ip route add $PPTP_REMOTE via $OLDDEFAULT
ip route change default via $PPP_REMOTE dev $PPP_IFACE
fi
#last line intentionally left blank



Das wars. Wenn ich jetzt "pon tunnel" sage wird der VPN-Tunnel aufgebaut und ich kann darüber arbeite.