Hier wird beschrieben, wie ein Linux-Server (SuSE 6.4) für einen verschlüsselten ppp-Tunnel mit Windows-Clients eingerichtet werden kann. Verwendet wird dabei das pptp-Protokoll.
Der Server (test02) erhält die IP-Adresse 192.168.0.1, die Clients stammen aus dem Bereich 192.168.1.100-199.
Auf dem Linux-Server müssen die Pakete pppssl (Serie sec) und pptpd (Serie n) installiert sein.
Der pptpd-Dämon wird mittels /etc/pptpd.conf konfiguriert:
# Sample PoPToP configuration file # for PoPToP version 1.0.0 speed 115200 option /etc/ppp/options.ppp0 debug localip 192.168.0.1 remoteip 192.168.1.100-199
die entsprechenden Zeilen sind in der Datei zu ändern bzw. auszukommentieren.
Die Datei /etc/ppp/options.ppp0 sollte wie folgt aussehen:
lock debug auth +chap +chapms +chapms-v2 mppe-40 mppe-128 mppe-stateless name test02 proxyarp
Die Datei /etc/ppp/chap-secrets sollte folgende Zeilen enthalten:
# INBOUND CONNECTIONS #client hostname <password> 192.168.1.1 pptptest100 test02 pptptest 192.168.1.0/24 pptptest101 test02 pptptest 192.168.1.0/24 pptptest102 test02 pptptest 192.168.1.0/24
Durch Erstellen eines rcpptpd-Scripts unter sbin/init.d und durch Anlegen von links S20rcpptpd/K20rcpptpd auf dieses in den Unterverzeichnissen rc2.d und rc3.d kann das Starten/Herunterfahren des pptpd automatisiert werden.
Ein rc-Script könnte so aussehen:
#! /bin/sh . /etc/rc.config # Determine the base and follow a runlevel link name. base=${0##*/} link=${base#*[SK][0-9][0-9]} # The echo return value for success (defined in /etc/rc.config). return=$rc_done case "$1" in start) echo -n "Starting PPTP daemon:" startproc /usr/sbin/pptpd || return=$rc_failed echo -e "$return" ;; stop) echo -n "Shutting down PPTP daemon:" killproc -TERM /usr/sbin/pptpd || return=$rc_failed echo -e "$return" ;; restart) $0 stop && $0 start || return=$rc_failed ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac # Inform the caller not only verbosely and set an exit status. test "$return" = "$rc_done" || exit 1 exit 0