|
Letzte
Bearbeitung dieses Dokuments: |
Voraussetzungen für das Verständnis dieses Dokuments:* Generelle
Kenntnisse über die Bedienung von Personal-Computer (PC). |
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.
Für
Standard-Zugänge zum Internet kann das, in neueren
Linux-Distributionen enthaltene, Programm 'Network Manager Applet'
verwendet werden.
Mit diesem Programm sind nur mehr die
Zugangsdaten, die Sie von Ihrem Internet Service Provider (ISP)
erhalten, zu erfassen.
Nachteil dieser Methode ist, dass die
Verbindung zum Internet erst aufgebaut wird wenn ein Benutzer
angemeldet ist.
Ethernet-Modems
(die Sie üblicherweise von Ihrem ISP erhalten) neuerer
Generation enthalten bereits die Software für die 'Einwahl' zu
Ihrem ISP und auch die Möglichkeit das Modem als 'Router' zu
konfigurieren und damit von mehreren Arbeitsplatz-Computern aus eine
Verbindung zum Internet herzustellen.
Nachteil dieser Lösung
ist, dass in den Internet-Modems eine 'Firewall' nicht oder nur mit
sehr hohem Aufwand eingerichtet werden kann. Eine Firewall gleich
bei der Verbindung zum Internet ist aber für einen hohen
Sicherheitsgrad notwendig weil damit Angriffe aus dem Internet
abgewehrt werden können bevor schädliche Software in das
interne Netzwerk eindringen kann.
Die in diesem Dokument beschriebene Methode ist nur mehr dann sinnvoll wenn
ein kleines internes Netzwerk gegen Angriffe aus dem Internet geschützt werden soll und
davon ausgegangen werden kann, dass innerhalb des internen Netzwerks keine schädliche Software eingeschleust wird.
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.
Manual
Capellari, dessen Dokument 'ADSL unter Linux'
(http://www.gnustuff.com/pub/doc/adsl-howto/adsl-howto.html)
eine
wertvolle Hilfe bei der Einrichtung der Internet-Verbindung über
ADSL war.
Weiters
an Heimo Schöns HowTo
(http://howto.htlw16.ac.at/at-highspeed-howto.html
);
und darin besonders der Hinweis von Martin Großhauser, wie mit
crontab geprüft werden kann, ob die Vervindung zum ISP noch
aufrecht ist – bzw. wie die Verbindung nach einem Abbruch
wieder aufgebaut werden kann.
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
Angemeldet (logged in) als Benutzer 'root'.
Das
installierte ppp-Paket ist Version 2.4.2 oder höher; siehe
Dokument
Prüfung
ob das ppp-Paket in Version 2.4.2 (oder höher) installiert ist;
Anleitung zur Installation der aktuellen Version .
Eine
ältere Version kann nur mehr auftreten wenn ein Betriebssystem
vor Fedora Core 5 (erschienen im Jahr 2006) verwendet wird –
sie also vermutlich einen sehr leistungsschwachen Computer als
Router verwenden wollen.
Kenntnisse der Betriebssystem-Version und der Prozessor-Version (z.B. Intel x86, Intel IA64, AMD64) des Computers, auf dem das entsprechende Programmpaket installiert werden soll.
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
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
;-).
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
Die
Installation des Programmpakets pptp-linux ist jetzt
abgeschlossen.
Setzen Sie bitte mit dem Abschnitt Dateien
mit User-ID und Passwort erstellen
fort
.
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.
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
adressesuser-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
adressesuser-id
* password
Die
'Anwahl'
des ISP wird durch die Parameter in der Datei
/etc/ppp/options
gesteuert.
Laden
Sie die Datei
options
herunter
(z.B. auf eine Diskette oder einen USB-Stick) und speichern Sie
diese Datei im Verzeichnis
/etc/ppp
des
Computers der für die Verbindung mit dem Internet vorgesehen
ist.
Tragen
Sie Ihren gültigen User-ID (der Ihnen vom ISP mitgeteilt wurde)
ein; dieser steht im Parameter
user
(im folgenden Muster fett geschrieben).
Dabei ist der User-ID
innerhalb der Anführungszeichen (") zu schreiben.
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:
Das
ADSL-Modem ist nicht angeschlossen oder außer Betrieb.
Ob
das Modem erreicht werden kann, kann mit (dem in einem vorherigen
Schritt näher beschriebenen)
ping
10.0.0.138
geprüft
werden.
Die
Eintragungen in den Dateien
/etc/ppp/options
,
etc/ppp/chap-secrets
und
/etc/ppp/pap-secrets
sind
fehlerhaft.
Zur Überprüfung wird empfohlen, die
Eintragungen in den Dateien komplett zu löschen und neu zu
tippen.
Besonders empfehlenswert ist es, die Eintragungen in
/etc/ppp/options
ohne
die Kommentare zu schreiben.
Damit wird erreicht, dass vom Editor
nicht angezeigte Sonderzeichen, die sich eventuell nach einem
Kopieren in der Datei verbergen, gelöscht werden.
Möglicherweise
ist auch die Netzwerkkarte ungeeignet; das kann vorwiegend bei der
Verwendung von PC-Cards in einem Notebook vorkommen.
Wenn es
Ihnen möglich ist, tauschen Sie die Netzwerkkarte gegen ein
Modell eines anderen Herstellers.N.B.:
Gerade dieses ist dem Autor beim Schreiben dieser Dokumentation
passiert. Ein 'IBM EtherJet II CreditCardAdapter' funktioniert
(unter Fedora Core 5) im internen Netzwerk einwandfrei – kann
aber die Verbindung mit dem ADSL-Modem nicht aufbauen weil
'Timeouts' in der Verbindung auftreten.
Nach dem Austausch gegen
eine PC-Card von HP funktioniert die Verbindung zum ADSL-Modem
einwandfrei.
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.
D
ie
Verbindung zum Internet-Service-Provider und die Aktivierung von
Firewall und Masquerading kann mit Hilfe eines Scripts automatisch
aufgebaut werden.
Laden Sie die Datei
adsl
herunter
(z.B. auf eine Diskette oder einen USB-Stick) und speichern Sie
diese Datei im Verzeichnis
/etc/opt
des
Computers der für die Verbindung mit dem Internet vorgesehen
ist.
Wenn
das Modem für die ADSL-Verbindung
nicht
mit
der TCP/IP-Adresse 10.0.0.138 konfiguriert ist ändern Sie die
Adresse in der Datei.
Damit
das Script automatisch ausgeführt werden kann, ist folgende
Berechtigung zu setzen:
[root]#
chmod
4711 /etc/opt/adsl
Mit
dem Kommando
[root]# /etc/opt/adsl
restart
wird
die Verbindung zum Internet-Service-Provider aufgebaut.
Nach
einigen Sekunden sollte der Befehl abgeschlossen sein und nach
weiteren 10 Sekunden kann mit
ifconfig
ppp0
geprüft
werden, ob vom ISP eine TCP/IP-Adresse zugewiesen wurde.
Weiters
ist es auch möglich einen Domänen Namen Server (z.B.
195.3.96.67) zu 'pingen'.
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 ###
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.
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.
Der
Router, auf dem der Internet-Zugang eingerichtet wurde, wird neu
gestartet.
Nach 10 Minuten wird geprüft, ob ein DNS des ISP
auf ein 'ping' antwortet.
Ist das nicht möglich, ist
wahrscheinlich ein Tippfehler in der Datei /etc/crontab
die
Ursache.
Von
einem anderen Computer im internen Netzwerk wird über den
Web-Browser eine bekannte URL (Unique Ressource Locator) aufgerufen
– z.B. www.javascout.biz
;-).
Dazu muß aber beim anderen Computer die Adresse des
Routers (192.168.0.254 in diesem Beispiel) als 'Gateway' eingetragen
sein.