Zur Herstellung einer Tunnel-Verbindung werden folgende Komponenten benötigt:
- ein Kernel mit MPPE-Unterstützung
- eine Version des pppd mit MPPE-Unterstützung
- der pptp-client
Leider ist es von Distribution zu Distribution sehr unterschiedlich, welche dieser Komponenten standardmäßig vorhanden sind. Für genauere Informationen wenden Sie sich bitte an den Distributor oder informieren Sie sich unter
http://pptpclient.sourceforge.net/
Diese Seite ist zwar leider englischsprachig, bietet aber ausführliche Informationen zu verschiedensten Distributionen sowie Downloadmöglichkeiten für eventuell fehlende Software.
Nach dem Sie die benötigte Software installiert haben, müssen Sie folgende Dateien erstellen:
in /etc/ppp/ eine Datei options.pptp mit folgendem Inhalt:
lock
noauth
nobsdcomp
nodeflate
---
In /etc/ppp/peers/ eine Datei, die z.B. tunnel heißen kann und folgenden Inhalt hat:
pty "pptp ber.cryptoconnect.net --nolaunchpppd"
name testuser@cryptoconnect.net
remotename PPTP
require-mschap-v2
require-mppe-128
file /etc/ppp/options.pptp
ipparam tunnel
---
Wobei "testuser@cryptoconnect.net" durch Ihren persönlichen Benutzernamen zu ersetzen ist.
Ausserdem muß die Datei /etc/ppp/chap-secrets um folgende Zeilen ergänzt werden:
testuser@cryptoconnect.net PPTP passwort *
PPTP testuser@cryptoconnect.net passwort *
Auch hier muß natürlich "testuser@cryptoconnect.net" durch Ihren persönlichen Benutzernamen, und "passwort" durch Ihr Kennwort für cryptoconnect, ersetzt werden.
Jetzt können Sie bei bestehender Internetverbindung mit "pon tunnel" die Verbindung zum Cryptoconnect-Server aufbauen.
Als letztes müßen Sie noch die Routen auf die neue Verbindung setzen. Dabei können Sie die Verbindung zu bestimmten Servern durch die verschlüsselte Verbindung leiten, z.B. zu unserem Mailserver:
route add -host 213.73.102.4/32 gw y.y.y.y dev
wobei y.y.y.y Ihre Cryptoconnect-IP-Adresse und ihr Tunnel-Device also z.B. ppp1 ist.
Sie können aber auch den gesammten Internet-Verkehr durch die Tunnel-Verbindung leiten. Dazu können Sie z.B. folgendes Script in den Ordner /etc/ppp/ip-up.d/ legen:
#!/bin/sh
# pppd ip-up script for all-to-tunnel routing
# name of primary network interface
PRIMARY=ppp0
# address of tunnel server
SERVER=ber.cryptoconnect.net
# provided by pppd: string to identify connection aka ipparam option
CONNECTION=$6
if [ "${CONNECTION}" == "" ]; then CONNECTION=${PPP_IPPARAM}; fi
# provided by pppd: interface name
TUNNEL=$1
if [ "${TUNNEL}" == "" ]; then TUNNEL=${PPP_IFACE}; fi
# if we are being called as part of the tunnel startup
if [ "${CONNECTION}" = "tunnel" ] ; then
# direct tunnelled packets to the tunnel server
route add -host ${SERVER} dev ${PRIMARY}
# direct all other packets into the tunnel
route del default ${PRIMARY}
route add default dev ${TUNNEL}
fi
Dieses Script muß ausführbar sein, und ppp0 muß durch Ihr Standard-Internet-Device ersetzt werden. Wenn Sie also z.B. die Verbindung über das erste ISDN-Device herstellen, müßte ppp0 durch ippp0 ersetzt werden.
Soll nach dem Beenden der Tunnel-Verbindung die Standard-Route wieder auf dieses Device gesetzt werden, können Sie folgendes Script in dem Ordner etc/ppp/ip-down.d ablegen. Auch hier gilt, dass das Device ppp0 eventuell ersetzt werden muß.
#!/bin/sh
# pppd ip-down script for all-to-tunnel routing
# name of primary network interface
PRIMARY=ppp0
# provided by pppd: string to identify connection aka ipparam option
CONNECTION=$6
if [ "${CONNECTION}" == "" ]; then CONNECTION=${PPP_IPPARAM}; fi
# provided by pppd: interface name
TUNNEL=$1
if [ "${TUNNEL}" == "" ]; then TUNNEL=${PPP_IFACE}; fi
# if we are being called as part of the tunnel shutdown
if [ "${CONNECTION}" = "tunnel" ] ; then
# direct packets back to the original interface
route del default ${TUNNEL}
route add default dev ${PRIMARY}
fi