VPN Konfiguration Linux Drucken E-Mail
Geschrieben von: Administrator   
Sontag, 01. Juli 2007 13:09

In diesem Beitrag wird beschrieben, wie man Linux so konfigurieren kann, dass man damit eine PPTP Verbindung zu einem PPTP Server aufbauen kann. Die angegebenen Beispiele beziehen sich auf die Distribution Debian Etch

 

Pakete

Folgende Pakete müssen installiert sein:

  • pptp-linux
  • ppp
  • iproute
  • die Kernelmodule ppp_mppe und ip_gre

die betreffenden Kernelmodule sollten in der /etc/modules eingetragen werden, so dass diese bei jedem Boot automatisch geladen werden.

Konfiguration

Damit der pptp Zugang funktioniert, müssen einige Konfigurationsdateien und Skripte angelegt werden. Die betreffenden Dateien befinden sich alle unter /etc/ppp.

options.pptp

Es soll nur starke Verschlüsselung verwendet werden, die anderen Verfahren werden deaktiviert. 

lock
noauth
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
require-mppe-128

Es können auch noch andere Optionen, wie z.B. debug gesetzt werden. 

chap-secrets

Hier sind die Passwörter zu finden,auf diese Datei sollt außer root niemand zugreifen können.

# Secrets for authentication using CHAP
# client        server          secret                  IP addresses

Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können. PPTP SchlechtesPasswort *

peers/wlan

Hier wird eine Verbindung mit dem Namen wlan definiert. Damit weiss das System, welches Protokoll und welcher User zu benutzen sind. 

pty "pptp 192.168.111.1 --nolaunchpppd"
name Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können.
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam wlan

Die IP-Adresse 192.168.111.1 ist der PPTP Server, der über den taunusstein.net Hotspot erreichbar ist. Bei anderen Hotspots ist hier evtl. eine andere Adresse einzutragen. 

Die folgenden Skripte sind notwendig, damit die Defaultroute entsprechend angepasst wird: 

ip-up.d/00000defaultroute

Hier wird davon ausgegangen, dass die Verbindung den Namen wlan hat. 

#!/bin/sh
# pppd ip-up script for all-to-tunnel routing

TYPE=wlan
IP=/sbin/ip

SAVED_ROUTE=/tmp/saved-route.sh
CONNECTION=$6
NEW_DEFAULT=$5
if [ "${CONNECTION}" = "${TYPE}" ]; then
  OLD_DEFAULT=`$IP route | grep "default"`
  rm $SAVED_ROUTE 2> /dev/null
  echo "${OLD_DEFAULT}" | awk '{print "ip route add " $1 " " $2 " " $3;}' >> $SAVED_ROUTE
  $IP route del default
  $IP route add default via $NEW_DEFAULT
fi

Das Skript sichert die alte Default-Route und setzt eine neue Route auf das ppp Interface. 

ip-down.d/00000defaultroute

Diese Skript macht die Änderung der Defaultroute wieder rückgängig, wenn die VPN Verbindung beendet wird.

#!/bin/sh
# pppd ip-down script for all-to-tunnel routing

# provided by pppd: string to identify connection aka ipparam option
CONNECTION=$6

if [ "${CONNECTION}" = "wlan" ]; then
  ip route del default
  . /tmp/saved-route.sh
  rm /tmp/saved-route.sh
fi

Die vorher gesicherte Defaultroute wird wiederhergestellt. 

Start

mit pon wlan wird die Verbindung aktiviert und poff wlan wieder deaktiviert.

Hat alles geklappt, so sollte ip route folgenden Output liefern:

193.138.96.2 dev ppp0  proto kernel  scope link  src 193.138.96.226
192.168.111.0/24 dev ath0  proto kernel  scope link  src 192.168.111.250
default via 193.138.96.2 dev ppp0

In diesem Fall hat der PC die Adresse  193.138.96.226 bekommen und das Gateway ist die 193.138.96.2. Als letzter Test sollte ein

$ ping www.denic.de
PING www.denic.de (81.91.161.19) 56(84) bytes of data.
64 bytes from www.denic.de (81.91.161.19): icmp_seq=1 ttl=245 time=16.2 ms
64 bytes from www.denic.de (81.91.161.19): icmp_seq=2 ttl=245 time=14.6 ms
64 bytes from www.denic.de (81.91.161.19): icmp_seq=3 ttl=245 time=27.9 ms
64 bytes from www.denic.de (81.91.161.19): icmp_seq=4 ttl=245 time=13.0 ms

--- www.denic.de ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 13.090/17.983/27.972/5.875 ms

den Erfolg prüfen. Hier funktioniert also alles und der Linux PC ist via WLAN im Internet sichtbar.

Hinweis

Es sei noch darauf hingewiesen, dass der PC im WLAN eine RIPE IP-Adresse hat, also direkt im Internet sichtbar und ansprechbar ist wie ein Server. Es gibt hier keine Firewall, also kommen auch Angriffe ungefiltert durch, wie es bei einem normalen Internetanschluss auch der Fall ist. Es ist Sache des Users, eine geeigenete Firewall aufzusetzen.