Home Dokumente Bilder Anleitungen Links Impressum

PPTP-Server einrichten

Von Microsoft wurde schon vor geraumer Zeit das Protokoll PPTP entwickelt, das mobilen Endgeräten extern Zugriff auf ein LAN ermöglichen kann. Inzwischen existieren für alle gängigen Betriebssysteme (Linux, MacOS, Linux, Unix) allgemein verfügbare und kostenlose Clients. Das ganze Konzept entspricht dem, was man gemeinhin als eine VPN-Verbindung (Virtual Private Network) bezeichnet. Der Unterschied liegt darin, dass bei PPTP die IP-Adresse des Client nicht vorher schon bekannt sein muss - die Authentifizierung erfolgt allein über einen Usernamen und ein Passwort.

Dieses Konzept ist hervorragend geeignet, um zum Beispiel von Unterwegs auf die Daten des heimischen Netzes zugreifen zu können. Außerdem lassen sich so nette Multiplayer Spiele realisieren ohne mühsam Rechner durch die Gegend zu schleppen. Man sollte sich jedoch bewusst sein, dass mit dieser Lösung eine Tür zum gesamten heimischen Netz gebaut wird. Jede Tür ist trotz aller Absicherung immer ein möglicher Angriffspunkt.

Eine gute und weitaus ausführliche Anleitung zu dem Thema liegt auf der Homepage von Robert Berzerke. In der c't 2003, Heft 6, gibt es einen Artikel zu dem Thema, der auch auf das Thema Firewall via iptables und VPN eingeht.

Rahmenbedingungen

ei dieser Lösung gehe ich davon aus, dass für den Zugang zum Internet ein DSL-Router mit zumindestens simplen Firewall-Funktionen vorhanden ist. Hinter dem DSL-Router bedindet sich ein lokales Netz mit mehreren Rechnern. Einer davon ist ein SuSE Linux 8.1 Professional Server, der als PPTP-Server fungieren soll. Als Clients dienen Windows 2000 (ab Service Pack 2) und/oder Windows XP.

Nach meinen Erfahrungen reicht ein recht schwachbrüstiger 200 MHz Prozessor bei weitem für diese Anwendung aus. Die Prozessorlast war auch auch bei hohen Verschlüsselungsraten bei laufenden PPTP-Verbindungen beinahe lächerlich. Einzig mit Arbeitsspeicher sollte man bei Linux niemals knauserig sein.

Einrichten des PPTP-Servers

Bei SuSE-Linux 8.1 Professional wird der PPTP-Server (PPTPD) gleich mit geliefert. In der Standardinstallation ist er jedoch nicht mit dabei. Als ersten Schritt sollte man also das PPTPD-Paket auswählen und installieren.

Wesentlich für die Konfiguration sind folgende Dateien: Die Einstellungen des PPTPD finden sich unter /etc/pptpd.conf. Diese beziehen sich wiederum auf die Einstellungen des PPP-Servers, die sich unter /etc/ppp/options befinden. In der Datei /etc/ppp/chap-secrets werden schließlich die Benutzer und Passwörter für die verschlüsselte Verbindung verwaltet.

/etc/pptpd.conf

# TAG: speed
speed 115200
# TAG: option
# Die Vorgabedatei ist an dieser Stelle falsch. Unter SuSE-Linux 8.1
# befindet sich die "options"-Datei des PPP-Servers unter diesem Pfad.
option /etc/ppp/options
# TAG: debug
debug
# TAG: localip
# TAG: remoteip
# In diesem Beispiel werden 3 IP-Adressen (192.168.0.235 bis 192.168.0.238
# für PPTP-Verbindungen zur Verfügung gestellt. Ein PPTP-Client erhält also eine dieser Adressen.
localip 192.168.0.234
remoteip 192.168.0.235-238
# TAG: ipxnets
# Für die meisten Anwendungen wird IPX wahrscheinlich nicht mehr benötigt.
# Entsprechend ist es hier ausgeklammert
#ipxnets 00001000-00001FFF
# TAG: listen
#listen 192.168.0.1
# TAG: pidfile
pidfile /var/run/pptpd.pid
  
/etc/ppp/options
# /etc/ppp/options

debug
lock
# Aktiviert die Passwortabfrage. Ohne auth wäre keine Authentifizierung notwendig.
auth
# Fügt das Microsoft-spezifische CHAP-Protokoll für die Authentifizierung mit ein
+chapms-v2
# Aktiviert die 128-bit Verschlüsselung. Verbindungen lassen sich nur verschlüsselt aufbauen
mppe-128
mppe-stateless
#mru 1440
#mtu 1490
#nodetach
#lcp-echo-interval 30
#lcp-echo-failure 4
#lcp-max-configure 60
#lcp-restart 2
#idle 600
# Disable the IPXCP and IPX protocols.
noipx
# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system. {proxyarp,noproxyarp}
proxyarp
# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
# Two Servers can be remotely configured
ms-dns 192.168.0.1
#ms-dns 192.168.1.2
# Specify which WINS Servers the incoming connection Win95 or WinNT should use
ms-wins 192.168.0.2
#ms-wins 192.168.1.51

/etc/ppp/chap-secrets

# INBOUND CONNECTIONS
#client hostname 192.168.1.1
# In dieser Datei werden die Passwörter für die PPTP-Verbindung gepflegt.
# Bei diesem Beispiel gibt es den Benutzer "AlfredMustermann", der das Passwort
# "LangesMusterpasswort" hat. Er darf von jeder beliebigen IP-Adresse (*) auf den
# PPTP-Server zugreifen und erhält die feste interne IP-Adresse 192.168.0.235
# zugewiesen.
AlfredMustermann * LangesMusterpasswort 192.168.0.236

Starten des PPTP-Servers und des IP-Forwarding

Ein Nachteil von SuSE 8.1 ist, dass man nicht mehr so einfach über YaST das IP-Forwarding aktivieren kann. IP-Forwarding sorgt dafür, dass aus dem Linux Server ein Router wird, der zwischen verschiedenen Netzen Daten austauscht. Ohne aktiviertes IP-Forwarding könnten PPTP-Clients nur auf den PPTP-Server zugreifen und nicht auf das dahinter liegende Netz.

Ich persönlich habe den PPTP-Server nicht immer aktiviert. Daher habe ich mir ein kleines Shell Script geschrieben, das zunächst den PPTPD startet und danach IP-Forwarding aktiviert. Der PPTPD lässt sich danach mit dem Befehl "rcpptpd stop" wieder beenden.

startpptp.sh

#!/bin/sh
echo Startet die PPTP-Lösung
rcpptpd start
echo "1" >/proc/sys/net/ipv4/ip_forward

Freigabe des PPTP-Servers auf dem DSL-Router

Nachdem nun der PPTPD eingerichtet und gestartet worden ist, sollte nun natürlich dafür gesorgt werden, dass von Außen auch auf diesen zugreifen kann. Fast alle DSL-Router bieten die Möglichkeit zur Aktivierung eines "Virtuellen (Applikations-)Servers". Hierbei werden alle Anfragen auf einem bestimmten Port vom Router an einen internen Rechner weitergeleitet.

Bei PPTP muss der Port 1723 sowohl für TCP als auch für GRE feigeschaltet werden. Als Zieladresse muss die feste IP-Adresse des internen PPTP-Servers angegeben werden.

Nach einem Neustart des Routers müsste dann die Weiterleitung der einkommenden PPTP-Verbindungen an den internen Server eingerichtet sein.

Konfiguration des PPTP-Clients

Unter Windows 2000 und XP ist die Konfiguration des PPTP-Clients sehr einfach. Unter "Netzwerkverbindungen" einfach eine "Neue Verbindung" erstellen. Im Assistenten dann auf "Verbindung mit dem Netzwerk am Arbeitplatz herstellen" gehen.

Als Zielserver muss die öffentliche IP-Adresse angegeben werden, die vom Internet-Provider zugewiesen wurde (lässt sich in der Regel in den Status-Anzeigen des DSL-Routers herausfinden). Da sich diese IP-Adresse jedoch alle 24 Stunden ändert, empfiehlt sich der Einsatz von Dynamic DNS (z.B. DynDNS). Man könnte so z.B. "meinprivateslokalesnetz.dyndns.org" als Zieladresse angeben und müsste nicht bei jedem Verbindungsversuch die neue öffentliche IP-Adresse des PPTP-Servers bzw. DSL-Routers herausfinden.

Alle weiteren Einstellungen beim Verbindungsassistenten sind selbsterklärend und benötigen keine besondere Anpassungen.

Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehme ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Besuchen Sie auch meine Bildergalerie unter gallery.plogmann.net.
© Stefan Plogmann, 1996-2008

druckversion switch to english homepage suche
aktuelles