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