> Inhalt: Technik, Anwendungsprogramme und Organisation

Installation des pptp-Clients für die Verbindung zu einem Internet-Service-Provider mit Ethernet-Modem

* Bitte beachten Sie die Hinweise und Bestimmungen bezüglich Urheberrecht, Haftungsausschluß und geschützte Marken oder Warenzeichen die für dieses Web-Dokument und möglicherweise auch für 'verlinkte' Dokumente gelten.

  • Der Betreiber dieser Web-Site (www.javascout.biz) ist nicht verantwortlich für den Inhalt von Web-Sites, die innerhalb dieses Web-Dokumentes oder anderer Dokumente von www.javascout.biz verlinkt sind.

  • Wenn dieses Web-Dokument oder andere Dokumente dieser Web-Site (www.javascout.biz) Rechte von Ihnen verletzen, oder sie glauben, daß Rechte Anderer (Dritter Personen) dadurch verletzt werden, informieren Sie bitte den Betreiber dieser Web-Site.
    Eine E-Mail können Sie ganz einfach durch anklicken des Symbols oder Textes im Frame rechts oben senden.

Dieses Dokument drucken.

 Letzte Bearbeitung dieses  Dokuments:
2009-06-03

Voraussetzungen für das Verständnis dieses Dokuments:

* Generelle Kenntnisse über die Bedienung von Personal-Computer (PC).
* Prüfung auf aktualisierte Version des ppp-Paketes; siehe Dokument 
Prüfung ob das ppp-Paket in Version 2.4.2 (oder höher) installiert ist; Anleitung zur Installation der aktuellen Version .
* Kenntnisse, wie Dateien mit Linux auf eine Diskette oder einen USB-Stick bzw. von dort wieder auf die Festplatte kopiert werden können.

Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:

Arbeitszeit: ca. 1 bis 2 Stunden; abhängig von der vorhandenen Linux-Routine.

Dieses Dokument enthält eine Anleitung zur Installation der notwendigen Software, um einen Internet-Zugang über das Point to Point Tunneling Protocol (pptp) einzurichten.

Bedingt durch den technischen Fortschritt ist diese Anleitung jetzt (Mai 2009) für Standard-Installationen überholt.

Die in diesem Dokument beschriebene Methode ist nur mehr dann sinnvoll wenn

Diese Installation wurde über die Leitung der Telekom Austria mit einem Alcatel-SpeedTouch-510 Modem getestet.
Vermutlich wird die Anleitung auch für andere Modems mit Ethernet-Schnittstelle und andere Telekoms, die pptp verwenden, zutreffen.

Danke für Vorarbeiten an:

Inhaltsverzeichnis

Vorbedingungen 
Netzwerk-Schnittstelle konfigurieren (wenn notwendig) 
Download und Installation des pptp-Paketes 
Für Debian-basierte Distributionen (z.B. UBUNTU) 
Für RedHat-basierte Distributionen (z.B. Fedora) 
Dateien mit User-ID und Passwort erstellen 
Konfigurationsdatei erstellen 
Script zum Starten der ADSL-Verbindung 
Periodisches Prüfen der Verbindung mit crontab
 
Abschließender Test
 

Vorbedingungen:

zum Inhaltsverzeichnis

Netzwerk-Schnittstelle konfigurieren (wenn notwendig)

Das Ausführen der Anleitungen in diesem Abschnitt wird vermutlich nur notwendig sein, wenn Sie eine ältere Distribution von Linux (auf einem leistungsschwachen Computer) verwenden.
Wenn Sie bei der Installation des Routers bereits beide Netzwerk-Schnittstellen konfigurieren konnten (z.B. wie unter
Installation eines Routers mit dem Betriebs-System Ubuntu Linux Version 8.1 > Statische TCP/IP-Adresse festlegen beschrieben) dann können Sie gleich mit dem Abschnitt Download und Installation des pptp-Paketes fortsetzen.

Die Konfiguration der Netzwerk-Schnittstelle konnte bei der Standard-Installation möglicherweise aus folgenden Gründen nicht ausgeführt werden:
* Die Netzwerk-Karte wurde zwar erkannt aber die Konfigurations-Daten waren noch nicht bekannt.
* Bei Verwendung eines Notebooks wurde die Netzwerk-Karte nicht erkannt weil der Treiber für den PC-Card-Socket noch nicht funktionsfähig war.

Wenn Sie einen Notebook verwenden und nicht sicher sind, ob die PC-Cards korrekt erkannt wurden und verfügbar sind, lesen Sie bitte das Dokument Problemlösung für PC-Cards (PCMCIA)

In diesem Schritt wird die Netzwerk-Schnittstelle, die den Router mit dem Internet-Service-Provider (ISP) verbindet, konfiguriert.
Unter der Annahme, daß diese Netzwerk-Schnittstelle den symbolischen Namen 'eth0' (Ethernet 0) hat, ist die Konfiguration in der
/etc/sysconfig/network-scripts/ifcfg-eth0
erfaßt.

DEVICE=eth0
IPADDR=10.0.0.140
NETMASK=255.255.255.0
ONBOOT=yes

Dieses Beispiel ist unter der Annahme, daß die TCP/IP-Adresse des Modems für die Verbindung zum ISP im Bereich 10.0.0.x liegt.
Das ist bei den von der Telekom Austria ausgelieferten Alcatel-SpeedTouch-510 der Fall (10.0.0.138).
Wenn Sie die Verbindung für einen anderen Leitungsbetreiber oder ein anderes Modem einrichten wollen, beachten Sie bitte die relevante Dokumentation und adaptieren Sie die Werte in diesem Beispielen.

Wenn Sie nicht so sehr mit Linux vertraut sind, und sich jetzt fragen, wie ein Editor aufgerufen wird:
Entweder vi /etc/sysconfig/network-scripts/ifcfg-eth0 auf der Kommando-Zeile
oder mit der Auswahl Menu (Roter Hut) – Zubehör – Texteditor wenn eine GUI gestartet ist.

Die Konfiguration wird erst nach einem Restart von Linux wirksam und kann durch die Eingabe des Kommandos
ifconfig eth0
in der Kommandozeile überprüft werden.

Wenn das Modem verfügbar ist, kann es mit der Netzwerkkarte verbunden und mit dem Kommando
[root]# ping 10.0.0.138 (wobei 10.0.0.138 jene TCP/IP-Addresse ist, auf die das Modem eingestellt ist)
die Verbindung getestet werden.

Als Reaktion auf dieses Kommando sollte folgende Ausgabe angezeigt werden:
PING 10.0.0.138 (10.0.0.138) from 10.0.0.140 : 56(84) bytes of data
64 bytes from 10.0.0.138: icmp_seq=0 ttl=255 time=0.730 ms
64 bytes from 10.0.0.138: icmp_seq=1 ttl=255 time=0.721 ms
64 bytes from 10.0.0.138: icmp_seq=2 ttl=255 time=0.690 ms
64 bytes from 10.0.0.138: icmp_seq=3 ttl=255 time=0.716 ms

Der Test kann durch Drücken der Tasten-Kombination Strg-C unterbrochen werden

zum Inhaltsverzeichnis

Download und Installation des pptp-Paketes

Bei der Installation der Programmpakete für die Verbindung zu einem Internet Service Provider (ISP) besteht ein 'Henne und Ei' Problem.
Wenn noch kein Zugang zum Internet möglich ist, kann das erforderliche Programmpaket nicht aus dem Internet heruntergeladen und installiert werden – und ohne dieses Programmpaket kann die Verbindung zum Internet nicht hergestellt werden.

Besonders die UBUNTU-Distributionen sind davon betroffen weil auf der Installations-CD nur die für eine Basisinstallation notwendigen Programmpakete platz finden und zusätzliche Programmpakete bei Bedarf direkt über das Internet geladen und installiert werden.
Das notwendige Programmpaket kann aber auf einer Diskette oder einem USB-Stick gespeichert werden und von dort auf dem betroffenen Computer installiert werden.

Bei Fedora-Distributionen werden alle Programmpakete auf DVD oder mehreren CDs ausgeliefert und das verlangte Paket kann von der DVD oder der entsprechenden CD installiert werden.
Bei älteren Versionen der Fedora-Distribution (für die eine automatische Aktualiesierung nicht mehr möglich ist) kann es aber sinnvoll sein, die neueste Version des Programmpakets für eine pptp-Verbindung zu verwenden.

Wenn Sie diesen Text lesen, müssen Sie aber eine Verbindung zum Internet haben und können die notwendige Dabei herunterladen ;-).

zum Inhaltsverzeichnis

Für Debian-basierte Distributionen (z.B. UBUNTU)

Begonnen wird die Suche nach der aktuellsten Version auf der Internet-Site
http://packages.ubuntu.com .

Für Debian finden Sie die Such-Funktion unter http://www.debian.org/distrib/packages#search_packages; das Herunterladen und Installieren des passenden Programmpaketes ist ähnlich wie bei Ubuntu.



Benötigt wird das Programmpaket pptp-linux - geben Sie diesen Namen bitte im Feld 'Keyword' ein.
Wenn Sie den Spitznamen Ihrer Distribution kennen, können Sie diese aus der Combobox 'Distribution' sofort auswählen – sonst wählen Sie bitte
any.

Nach dem Anklicken der Schaltfläche [  Search  ] wird die Suche begonnen.



In der Liste sehen Sie die für die jeweiligen Versionen der Distribution zutreffenden Versionen des Programmpakets.

Wählen Sie die entsprechende Version (durch Anklicken des 'Spitznamens' der Distribution) aus.



Als nächstes sehen Sie eine Information über die Voraussetzungen für die Installation des Programmpakets.
Wenn Sie die richtige Version der Distribution gewählt haben, sind diese Voraussetzungen erfüllt.

Im unteren Bereich ist die Liste der Dateien des Programmpakets für die verschiedenen CPU-Architekturen zu sehen.

Klicken Sie mit der linken Maustaste die entsprechende 'Architektur' an.



Anschließend werden Sie aufgefordert, einen Spiegelserver auszuwählen.
Empfohlen ist, einen Server in geografischer Nähe zu wählen – da ist eine hohe Übertragungsgeschwindigkeit zu erwarten.



Es erscheint noch eine Rückfrage, ob die gewählte Datei sofort geöffnet oder gespeichert werden soll.

Nachdem die Datei auf einem anderen Computer installiert werden soll wählen Sie bitte Datei speichern aus.

Klicken Sie bitte mit der linken Maustaste die Schaltfläche [  OK  ] an um mit dem Herunterladen zu beginnen.



Die heruntergeladene Datei wurde in einem Verzeichnis gespeichert, das abhängig von den Einstellungen in Ihrem Webbrowser ist.

Von diesem Verzeichnis aus können Sie die heruntergeladene Datei mit dem Programmpaket auf eine Diskette oder einen USB-Stick kopieren.

Auf dem Computer, auf dem Sie das Programmpaket installieren wollen, öffnen Sie die Diskette oder den USB-Stick und lassen sich die enthaltenen Datei(en) anzeigen.

Klicken Sie mit der rechten Maustaste auf die Datei mit dem Programmpaket und wählen Sie aus dem Kontext-Menu Mit >>GDebi Paket-Installer<< öffnen.



Im darauf hin geöffneten Fenster werden Informationen zum Programmpaket angezeigt.

Nach dem Anklicken der Schaltfläche [  Paket installieren  ] wird die Installation begonnen.


  

Der Fortschritt der Installation kann über den Balken verfolgt werden.
Wenn die Installation komplett ist erscheint die Fertigstellungsmeldung.

Nach dem Anklicken der Schaltfläche [  Schließen  ] wird das Fenster mit dem Fortschrittsbalken geschlossen.

Anschließend muss noch das Fenster mit den Informationen zum Paket (ohne Abbildung) geschlossen werden.





Die Installation des Programmpakets pptp-linux ist jetzt abgeschlossen.
Setzen Sie bitte mit dem Abschnitt
Dateien mit User-ID und Passwort erstellen fort.

zum Inhaltsverzeichnis

Für RedHat-basierte Distributionen (z.B. Fedora)

Die aktuelle Version kann als rpm-Datei (RedHat-Packet-Manager) von der Internet-Site
http://switch.dl.sourceforge.net/sourceforge/pptpclient/pptplinux-1.5.0-1.i386.rpm geladen werden.
Speichern Sie die Datei in einem Unterverzeichnis Ihrer Wahl; dieses wird in den weiteren Anweisungen als
download_directory bezeichnet.

Nach Beendigung des Herunterladens kann das Paket mit folgenden Kommando installiert werden:
[root]# rpm -Uvh /download_directory/pptp-linux-1.5.0-1.i386.rpm

(Dabei ist download_directory durch jenes Unterverzeichnis zu ersetzen, in dem Sie die heruntergeladene Datei gespeichert haben.

zum Inhaltsverzeichnis

Dateien mit User-ID und Passwort erstellen

Vorbemerkung:
Es gibt zwei verschiedene Methoden, mit denen Internet-Service-Provider die Identität ihrer Kunden prüfen. Die Methoden werden als 'pap' und 'chap' bezeichnet.
Das im vorigen Schritt installierte Programm kann beide Methoden behandeln – deswegen muss nicht bekannt sein, welche Methode der ISP verwendet.

Um auf beide Anforderungen vorbereitet zu sein, wird je eine Datei für jedes Identifizierungsverfahren erstellt.

In diesem Beispiel werden User-ID und Passwort nur symbolisch dargestellt. Bitte verwenden Sie für Ihre Installation jene Werte, die Sie von Ihrem ISP erhalten haben.

Für die PAP-Methode tragen Sie bitte User-ID und Passwort in die Datei /etc/ppp/pap-secrets ein.
# Secrets for authentication using PAP
# client server secret IP adresses
user-id * password

Für die CHAP-Methode tragen Sie bitte User-ID und Passwort in die Datei /etc/ppp/chap-secrets ein.
# Secrets for authentication using PAP
# client server secret IP adresses

user-id * password

zum Inhaltsverzeichnis

Konfigurationsdatei erstellen

Die 'Anwahl' des ISP wird durch die Parameter in der Datei /etc/ppp/options gesteuert.

Hier der Inhalt der Datei /etc/ppp/options:
#
# Debug-option; empfohlen für die Test-Phase.
# Kann auskommentiert werden wenn die Verbindung stabil funktioniert.
#debug
#
# Der Computer des ISP (Internet-Service-Provider) muß eine temporäre TCP/IP-Adresse
# zur Verfügung stellen.
noipdefault
#
# Der Computer des ISP (Internet-Service-Provider) braucht sich nicht gegenüber
# dem einwählenden Computer identifizieren.
noauth
#
# Diese Verbindung ist die Standard-Verbindung vom internen Netzwerk zum Internet.
defaultroute
#
# Benutzer, dessen Passwort aus den Dateien 'pap-secrets' oder 'chap-secrets'
# für die Identifizierung beim Verbindungsaufbau ausgelesen wird.
user
"user-id"
#
# Ende der Datei

Jetzt kann mit einem weiteren Test geprüft werden, ob die bisherige Installation fehlerfrei erfolgte.
Dazu muß das ADSL-Modem angeschlossen und betriebsbereit sein.

Mit dem Kommando
[root]#
pptp 10.0.0.138 (wobei 10.0.0.138 jene TCP/IP-Adresse ist, auf die das Modem eingestellt ist)
wird die Verbindung zum Internet-Service-Provider (ISP) aufgebaut.
Nach einigen Sekunden sollte der Befehl abgeschlossen sein und nach weiteren 10 Sekunden kann geprüft werden, ob vom ISP eine TCP/IP-Adresse zugewiesen wurde.

Nach Eingabe des Kommandos
[root]# ifconfig ppp0
wird der Status der Verbindung ausgegeben und in der zweiten Zeile ist die zugewiesene TCP/IP-Adresse zu sehen:
ppp0      Protokoll:Punkt-zu-Punkt Verbindung
          inet Adresse:88.117.74.25  P-z-P:62.47.95.239
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST MTU:1500 Metric:1
          
... weitere Zeilen mit statistischen Daten der Verbindung ...

Die angezeigte TCP/IP-Adresse ist nur ein Beispiel; der Adressenbereich ist vom ISP abhängig und nachdem die Adresse dynamisch vergeben wird, wird mit jeder Einwahl eine andere Adresse zugewiesen.

Problemlösungen:
Wenn nicht das gewünschte Ergebnis angezeigt wird, kann das folgende Ursachen haben:

zum Inhaltsverzeichnis

Script zum Starten der ADSL-Verbindung

Voraussetzung für die korrekte Ausführung des beschriebenen Scripts ist, daß das Script für Linux – Firewall und Masquerading eingerichtet ist.
Wenn Sie diese Installation noch nicht durchgeführt haben, tun Sie dies bitte jetzt.
Alternativ können Sie auch im folgenden Script den Aufruf von
/etc/opt/rc.firewall-iptables auskommentieren.
Dann funktioniert aber die Weiterleitung (routing) nicht und der abschließende Test kann nicht korrekt ausgeführt werden.

Hier der Inhalt der Datei /etc/opt/adsl:

#!/bin/bash
#
# /etc/opt/adsl
#
# Script für start / stop /restart des ADSL-Modems für eine pptp-Verbindung
#
# Getestet mit RedHat-Linux 8.0.
# Oktober 2004
# Kurt Gstoettner
#
# Dieses Script basiert auf Beispielen von
# Sebastian C.B. Sauer <scbATenemyDOTorg>
# Nicolas Croiset <ncroisetATvdldiffussionDOTcom>
# Philippe Jouguet <pjouguetATvdldiffusionDOTcom>
#
# Das Kopieren dieses Script ist erlaubt (und erwünscht) unter der Voraussetzung,
# dass die obigen Urheber erwähnt werden.
#
# Keine Garantie für die Richtigkeit und Funktionsfähigkeit;
# Verwendung auf eigene Gefahr !!
#
start() {
# Starten des PPTP-Client (Pont to Point Tunneling Protocol)
# auf dem ADSL-Modem mit TCP/IP-Adresse 10.0.0.138
/usr/sbin/pptp 10.0.0.138
# touch der Prozesse um sie zu gegen Zugriff anderer Scripts zu sperren
touch /var/lock/subsys/pptp
touch /var/lock/subsys/pppd
echo -n "adsl:procedure start()."
# 15 Sekunden warten bis dem PPTP-Client vom Internet-Service-Provider eine
# dynamische TCP/IP-Adresse zugeteilt wurden.
sleep 15s
# Prozedur aufrufen zum Starten der Firewall mit Native Adress Translation.
firewall
return 1
}
#
stop() {
echo -n "Shutting down PPTP tunnel. "
# Prozesse für das ppp (Point-to-Point-Protocol) und
# das pptp (Point-to-Point-Tunneling-Protocol) 'killen'
# damit die Schnittstellen für einen neuen Start verfügbar sind.
killall /usr/sbin/pppd
killall /usr/sbin/pptp
rm -f /var/loc/subsys/pptp
echo -n "adsl:procedure stop()."
return 1
}
#
firewall()
{
# Script zum aktivieren der Firewall ausführen
/etc/opt/rc.firewall-iptables
return 1
}
#
#
case "$1" in
start)
# Prüfen ob das ADSL-Modem angesprochen werden kann.
if ping -c 1 -w 1 10.0.0.138 > /dev/null
then
echo -n "Starting PPTP/PPP tunnel. "
start
else
# Wahrscheinlich synchronisiert sich das ADSL-Modem gerade; 45 Sekunden warten.
echo -n "Waiting for ADSL-modem, start delayed ..."
sleep 45s
start
fi
;;
#
stop)
stop
;;
#
restart)
# Stoppen, 15 Sekunden warten bis alle asynchron laufenden Prozesse beendet sind, Starten.
stop
sleep 15s
start
;;
#
*)
echo -n "Usage: adsl {start|stop|restart}"
exit 1
;;
esac
exit $?
### Ende des Scripts ###

zum Inhaltsverzeichnis

Periodisches Prüfen der Verbindung mit crontab

Wie schon im Danke für Vorarbeiten an erwähnt, hat Martin Großhauer eine einfache Methode entwickelt, wie periodisch geprüft werden kann, ob die Verbindung zum Internet-Service-Provider (ISP) noch aktiv ist – und bei Bedarf die Verbindung neu aufgebaut werden kann.
Dazu periodisch der Domänen-Namen-Server des ISP 'pinged' und wenn keine Reaktion erfolgt, wird die Internet-Verbindung neu aufgebaut.

Der ganze Vorgang wird nur über eine einzige Zeile in der Datei /etc/crontab gesteuert:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
# Alle 6 Minuten pruefen, ob die Internet-Verbindung noch aufrecht ist;
# Wenn keine Antwort auf das ping, dann wird der pptp-client neu gestartet.
1
,7,13,19,25,31,37,43,49,55 * * * * root ping -c 1 195.3.96.67 || /etc/opt/adsl restart

Dabei ist die TCP/IP-Adresse des Domänen-Namen-Servers (DNS) des ISP, über den die Verbindung zum Internet erfolgt, beim 'ping' zu verwenden.
Im obigen Beispiel erfolgt der Internet-Zugang über die Telekom Austria; diese betreibt einen DNS mit der Adresse 195.3.96.67.

zum Inhaltsverzeichnis

Abschließender Test

Die folgenden Anleitungen und Hinweise setzen voraus, daß die vorgeschlagenen Tests in den vorigen Schritten mit den erwarteten Ergebnissen beendet wurden.
Beim Auftreten von unerwarteten Ergebnissen in diesem Schritt wird empfohlen, die vorigen Tests noch einmal zu wiederholen.