PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : An Andree, meine Modem Geschichte :o)



Holger Krause
29.04.99, 16:06
Huhu Andree und wer sonst das hier noch liest ;-)

Ich hab SuSE Version 6.0 und ein 56k Modem der Firma US Robotics.
Wegen dem PPP Zugang zu meinem provider
privat.kkf.net muss ich Dich nochmal was Fragen.

Du sagtest im SuSE Handbuch steht das drinne, ich hab aber nur das SuSE Handbuch der Version 4.4.1 und jetzt will ich wissen ob ich das auch nehmen kann oder ob das bei Version 6.0 nicht Funktionieren wird oder ob da was anderes steht ?

Muss ich eigentlich alles per Texteditor machen oder geht das ganze auch ganz einfach per YaST ?

Danke Dir
Holger

modernart
29.04.99, 17:07
Hallo,

hier Aleitung, die wir unseren Linux Kunden geben:

Internetzugang mit Linux


1. Vorrausetzungen
1.1. Testumgebung
1.2. Kernel- und ppp-Version
1.3. Protokolle
1.4. Benutzerrechte

2. Konfigurationsdateien
2.1. pap-secrets
2.2. options
2.3. ppp-on
2.4. ppp-on-dialer
2.5. resolv.conf
2.6. ppp-off

3. Fehlersuche
3.1. Tail -f
3.2. Ifconfig
3.3. Ping

4. E-Mail

1. Voraussetzungen
1.1. Testumgebung


Der Internetzugang wurde unter folgender Testumgebung eingerichtet:

-Intel PC (120 Mhz, 65 MB ...)
-Standard Fax Modem (14k) an /dev/ttyS1 = com2
-Linux S.u.S.E. 4.0 (Kernel 2.0.29), benutzt SysV system Initialisierung
-ppp v.2.2

Möglicherweise können auf anderen Systemen andere Bedingungen herrschen, insbesondere
Beim Einsatz der Slackware-, bzw. von Slackware-basierten Linux-Distributionen, die die
BSD-System-initialisation benutzen.


1.2. Kernel- und ppp-version


Man sollte unbedingt darauf achten, die richtigen Versionen einzusetzen:
Bei Kernel 2.x.x und höher sollte man die ppp-version 2.2 benutzen.
Bei Kernel 1.2.x sollte man die ppp-version 2.1 benutzen.
Überprüfen Sie das in der mitgelieferten Dokumentation Ihrer Distribution.


1.3. Protokolle


Ihr Kernel sollte die Protokolle TCP/IP und PPP unterstützen.
Sie können das überprüfen, indem Sie an der console (oder einem Xterminal) den Befehl
ifconfig eingeben. ifconfig sollte dann in etwa folgende Meldung ausgeben:

lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0
TX packets:0 errors:0 dropped:0 overruns:0

Wichtig ist, das UP BROADCAST LOOPBACK RUNNING erscheint. Wenn nicht, müssen
Sie die entsprechenden Kernelmodule laden. Wenn Ihr Kernel das dynamisch Dazuladen von
Modulen unterstützt, können Sie folgende Befehle benutzen:
insmod tcpip <ret>
insmod ppp <ret>
evtl. insmod slhc <ret> (serial module support)

Wenn Ihr Kernel keinen "loadable module support" bietet, müssen Sie Ihren Kernel neu kompilieren.
Studieren Sie dazu unbedingt die mitgelieferte Dokumentation (/usr/doc/...), bzw. Ihr Handbuch.
Außerdem müssen Sie sich über die in Ihrem Rechner eingebaute Hardware informieren.

-wechseln Sie in das Verzeichniss /usr/src/linux
-geben Sie ein: make config <ret>
-beantworten Sie alle Fragen korrekt, insbesondere zu ppp und TCP/IP
-wenn die Konfiguration beendet ist, geben Sie den Befehl make ein.
-jetzt wird der neue Kernel compiliert und im root- verzeichniss abgelegt (vmlinux)
-diesen Kernel können Sie nun installieren
-benutzen Sie dazu am besten den Bootmanager lilo, um Ihre Originalkonfiguration zu erhalten.
-fügen Sie in der Datei /etc/lilo.conf einen weiteren Eintrag ein und installieren Sie lilo neu.
-booten Sie Ihren Rechner mit diesem neuen Kernel


1.4. Benutzerrechte


Das Programm, das die Verbindung aufbaut heißt pppd (ppp-daemon). Dieses Programm kann
In der Regel nur der Superuser (root) ausführen. Da aber eine Internetverbindung als root einige
Gefahren in sich birgt (zB: Einlesen von Benutzerdaten durch Hacker o.ä.), sollte man eine
Gruppe namens ppp erzeugen und die einzelnen Benutzer auf Ihrem System dieser Gruppe zu-
weisen. Anschließend müssen Sie die Rechte für /usr/sbin/pppd mit chgrp, bzw. chmod andern:
-rwx-x-x 1 root pppd
Ebenso sollten Sie mit Ihren ppp-scripten verfahren.

Z.B.: Befehl: chmod u+s /etc/ppp/ppp-on


2. Konfigurationsscripte
2.1. pap-secrets


Der Einwahl-Server benutzt zur Identifizierung von Usern PAP-autentifikation.
Deshalb benötigt man eine Datei namens pap-secrets, in der die Zugangsdaten (Benutzername und Kennwort) gespeichert sind. Diese Datei muß in einem speziellen Format im Verzeichniss /etc/ppp vorliegen. Wenn dieses Verzeichniss noch nicht existiert, dann erstellen Sie es jetzt.
Die Einträge in pap-secrets müssen in einer Zeile vorgenommen werden und mit TABs getrennt werden. Das heißt, in den Zwischenräumen dürfen keine Leerzeichen enthalten sein.
Hier ein Beispiel für eine Datei für einen Benutzer namens "harald" mit dem Kennwort "pupsi":

# /etc/ppp/pap-secrets
# Zugangsdaten für PAP-autentifikation
# Einträge trennen durch TAB, nicht mit Leerzeichen
# client server secret IP addresses
harald * pupsi

Diese Datei muss auf jeden Fall lese- und schreibgeschützt sein! (-rw------- 1 root root).


2.2. options


In dieser Datei werden die Parameter für pppd eingetragen. Man kann diese Parameter zwar auch
Als Komandozeilenparameter an pppd anhängen aber in einer extra Datei sind sie leichter zu pflegen.
Diese Datei muss den Namen options haben. Wenn pppd im /etc/ppp Verzeichniss eine solche Datei findet, verwendet es die darin enthaltenen Parameter.
Für eine einfache Verbindung zu Cybernet kann man zum Beispiel folgende options-Datei verwenden:

# /etc/ppp/options
# Parameter Datei für ppp daemon
#
#
debug # I/O nach syslog schreiben (später entfernen!)
lock # exklusiver Zugriff auf Modem für pppd
crtscts # hardware flow control
modem # modem control lines(Modembefehle)
defaultroute # Aufgebaute Verbindung = default route
noipdefault # bei dynamischer IP-adresse
user harald # Cybernet-Benutzername für PAP-authentifikation

Wenn der Parameter debug angegeben ist, schreibt pppd den gesamten I/O, (d.H. alle Meldungen,
die pppd vom Einwahl-Server erhält und alle Meldungen, die pppd sendet) ins syslog.
Das heißt alle Meldungen werden in die Datei /var/log/messages geschrieben. Deshalb sollte man
nach erfolgreichem Verbindungsaufbau diesen Parameter wieder entfernen, damit die Datei messages
nicht unendlich anschwillt.


Der Parameter noipdefault wird angegeben, wenn man seine IP-adresse dynamisch zugewiesen bekommt.
Der Parameter user ist für die PAP-autentifizierung nötig. Wenn man diesen Parameter nicht ver-
Wendet, wird pppd möglicherweise den Rechnernamen zur Autentifizierung verwenden. Durch
user harald weist man ppp explizit darauf hin, den in der Datei pap-secrets eingetragenen Namen
Zu verwenden.


2.3 ppp-on


Die Datei /etc/ppp/ppp-on wird zum Starten der Verbindung benutzt:

#!/bin/sh
# /etc/ppp/ppp-on
# ppp-on Script zum Aufbauen der ppp-Verbindung
#
TELEPHONE=93930303 # Telefonnummer zum Einwahl-server
LOCAL_IP=0.0.0.0 # Lokale IP-nummer; Dynamisch = 0.0.0.0
REMOTE_IP=0.0.0.0 # Server IP-adresse; nicht nötig
#NETMASK=255.255.255.0 # netzwerkmaske, falls nötig(z.B.im LAN)
export TELEPHONE # Variable für ppp-on-dialer exportieren
#
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer # chat Script
#
#Initialisieren der Verbindung:
exec /usr/sbin/pppd /dev/ttyS1 38400 $LOCAL_IP:$REMOTE_IP connect $DIALER_SCRIPT

In diesem Script werden einige Umgebungsvariablen initialisiert, die Telefonnummer des
Einwahlknotens, die locale IP-adresse(0.0.0.0 bei dynamischer Adressvergabe) und die IP-adresse
des Servers (i.d.R. 0.0.0.0). Die Variable TELEPHONE muß exportiert werden, damit sie für das
chat-script(ppp-on-dialer) verfügbar ist.
Anschließend wird pppd aufgerufen und es werden einige weitere Parameter übergeben:
/dev/ttyS1 - der COM-port an dem Ihr Modem angeschlossen ist, hier können Sie auch den
Symbolischen Link eintragen, der auf Ihren Modem-device zeigt: /dev/modem
COM1 = /dev/cua0 oder ttyS0
COM2 = /dev/cua1 oder ttyS1 u.s.w.
38400 - Modemgeschwindigkeit (stellen Sie hier das Maximum ein)
connect $DIALER_SCRIPT - Modemverbindung herstellen mit dem angegebenen Script.


2.4. ppp-on-dialer


Das Script ppp-on-dialer ruft das programm chat auf, das die eigentliche Modemverbindung aufbaut.
chat initialisiert das Modem und wählt den Einwahl-server an. Bei evtl. auftretenden Fehlern bricht
chat die Verbindung mit einer Fehlernummer ab. Die Bedeutung der Fehlernummern kann man in der
man-page von chat (man chat) nachschlagen.

#!/bin/sh
# /etc/ppp/ppp-on-dialer
# ppp-on-dialer Script für chat (zum Aufbauen der Modemverbindung)
/usr/sbin/chat -v \
TIMEOUT 3 \
ABORT '\nBUSY\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nNO DIALTONE\r' \
ABORT '\nRING\r\n\r\nRING\r' \
'' '+++ATZ' \
OK 'AT&F0E0' \
TIMEOUT 30 \
OK ATDP$TELEPHONE \
CONNECT '' \
TIMEOUT 30
#
# Parameter -v : I/O nach syslog schreiben(Später entfernen!)
#
# BUSY - Belegt
# NO ANSWER - Keine Antwort
# NO DIALTONE - Kein Wählton
# RING - Eingehender Anruf
# Modem-initialisierung: ATZ (Reset: +++)
# Pulswahl: ATDP$TELEPHONE
# Tonwahl : ATDT$TELEPHONE
# $TELEPHONE - Importierte Variable aus ppp-on

Der Parameter -v sorgt wieder dafür, daß chat den gesamten I/O ins syslog schreibt. Diesen Parameter
sollte man also bei erfolgreichem Aufbau wieder entfernen.
Alle Prarameter, die chat übergeben werden sollen, müssen in einer Zeile stehen. Um die Datei in einem lesbaren Zustand zu halten, kann man den backslash benutzen.
Zu beachten ist der eigentliche Wählstring. Beim Tonwahlverfahren muß man ATDT... benutzen und
Bei Pulswahl ATDP....


2.5. resolv.conf


In der Datei resolv.conf müssen die Domain Name Server Adressen von Cybernet und der Cybernet- Domainname eingetragen werden.

#/etc/resolv.conf
# Eintrag der Domain Name Server
search provider.de
nameserver 000.000.000.000 (IP des Nameservers 1)
nameserver 000.000.000.000 (IP Namesever 2)


2.6. ppp-off


Dieses Script beendet die Internetverbindung. Sie können es so übernehmen, wie es ist.


#!/bin/sh
#
# file: /etc/ppp/ppp-off
#
################################################## ####################
#
# Determine the device to be terminated.
#
if [ "$1" = "" ]; then
DEVICE=ppp0
else
DEVICE=$1
fi

################################################## ####################
#
# If the ppp0 pid file is present then the program is running. Stop it.
if [ -r /var/run/$DEVICE.pid ]; then
kill -INT `cat /var/run/$DEVICE.pid`
#
# If the kill did not work then there is no process running for this
# pid. It may also mean that the lock file will be left. You may wish
# to delete the lock file at the same time.
if [ ! "$?" = "0" ]; then
rm -f /var/run/$DEVICE.pid
echo "ERROR: Removed stale pid file"
exit 1
fi
#
# Success. Let pppd clean up its own junk.
echo "PPP link to $DEVICE terminated."
exit 0
fi
#
# The ppp process is not running for ppp0
echo "ERROR: PPP link is not active on $DEVICE"
exit 1


Die Scripte ppp-on, ppp-off und ppp-on-dialer müssen Sie nun noch ausführbar machen:
chmod +x ppp-on usw. In der ersten Zeile muß stehen: #!/bin/sh
Außerdem müssen Sie den Pfad /etc/ppp in Ihre PATH-Variable eintragen.
(In der Datei /etc/.profile)


3. Fehlersuche
3.1. Tail -f


Um die Verbindung nun zu testen, geben Sie als root an der Console (oder Xterminal) folgenden Befehl ein: tail -f /var/log/messages Dadurch werden alle Meldungen ins syslog auf den
Bildschirm umgeleitet. So können Sie den Verbindungsaufbau detailiert verfolgen und leichter
Auftretende Fehlerquellen finden. Wenn Sie den Befehl eingegeben haben, wechseln Sie auf eine
Andere Console (ALT+F2), bzw. öffnen Sie ein neues Xterm-fenster.
Loggen Sie sich nun als Normal-User ein (z.B. login: harald), bzw. benutzen Sie im Xterminal
den Befehl su harald. Starten Sie nun den Verbindungsaufbau mit ppp-on.
Wechseln Sie nun wieder an die root-Console (ALT+F1), bzw. das root-Xterminal. Hier können
Sie nun den Aufbau der Verbindung verfolgen. Falls Probleme auftreten, können Sie nun erkennen,
ob der Fehler bei pppd oder chat aufgetreten ist und an welcher Stelle es passiert ist.
Wenn alles gut geht, sollte die letzte Meldung erscheinen: Connection established...
Falls die Verbindung nicht aufgebaut werden konnte, dann müssen Sie noch einmal Ihre Einstellungen überprüfen(Tippfehler! / Rechte!).


3.2. ifconfig


Sie können die Verbindung außerdem mit dem Befehl ifconfig testen. Bei erfolgreichem Verbindungsaufbau sollte in etwa folgende Ausgabe auf Ihrem Bildschirm erscheinen:

lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0
TX packets:0 errors:0 dropped:0 overruns:0

ppp0 Link encap:Point-Point Protocol
inet addr:194.221.86.202 P-t-P:194.221.86.35 Mask:255.255.255.0
UP POINTOPOINT RUNNING MTU:1524 Metric:1
RX packets:9 errors:0 dropped:0 overruns:0
TX packets:12 errors:0 dropped:0 overruns:0

Wichtig ist der zweite Teil der Meldung. Dort sollte unbedingt in der 2. Zeile die IP-adresse angezeigt werden, die Ihnen dynamisch zugewiesen wurde (z.B.: inet addr: 194.221.86.202). Und in der 3.Zeile
MUSS stehen: UP POINTOPOINT RUNNING. Das heißt, daß die ppp-Verbindung zu Cybernet läuft. Wenn bei Ihnen nur der erste Teil der Meldung erscheint, dann ist keine Verbindung aufgebaut
worden.


3.3. ping


Nun können Sie testen,ob Sie TCP/IP-pakete im Internet senden/empfangen können. Geben Sie dazu
An der Console den Befehl ping ein. Als Parameter für ping können Sie entweder eine Ihnen bekannte
IP-adresse eingeben oder Sie können auch einen Domainnamen verwenden (z.B.: server.de).
Ping gibt dann fortlaufend Meldungen aus. Beenden Sie nach einer Weile ping (STRG+C). Sie sollten dann in etwa folgende Ausgabe sehen:


PING 141.1.1.1 (141.1.1.1): 56 data bytes
64 bytes from 141.1.1.1: icmp_seq=0 ttl=58 time=362.4 ms
64 bytes from 141.1.1.1: icmp_seq=1 ttl=58 time=330.0 ms
64 bytes from 141.1.1.1: icmp_seq=2 ttl=58 time=230.0 ms
64 bytes from 141.1.1.1: icmp_seq=3 ttl=58 time=350.0 ms
64 bytes from 141.1.1.1: icmp_seq=4 ttl=58 time=290.0 ms
64 bytes from 141.1.1.1: icmp_seq=5 ttl=58 time=350.0 ms
64 bytes from 141.1.1.1: icmp_seq=6 ttl=58 time=320.0 ms
64 bytes from 141.1.1.1: icmp_seq=7 ttl=58 time=220.0 ms
64 bytes from 141.1.1.1: icmp_seq=8 ttl=58 time=310.0 ms
64 bytes from 141.1.1.1: icmp_seq=9 ttl=58 time=290.0 ms

--- 141.1.1.1 ping statistics ---
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max = 220.0/305.2/362.4 ms


In obigen Beispiel wurde der Cybernet-DNS-server "angepingt". Interessant ist der letzte Teil der
Meldung: ... ping statistics. Hier wird angezeigt, wieviele Pakete gesendet, wieviele Pakete empfangen wurden und wieviele Pakete verloren wurden. Wenn alles in Ordnug ist, sollten keine Pakete verlorengegangen sein (0% packet lost).


4.E-Mail


Nachdem die Verbindung zum Internet erfogreich aufgebaut wurde, sucht pppd automatisch im
Verzeichniss /etc/ppp nach einer ausführbaren Datei namens ip-up. In dieser Datei können Sie nun
Einige Befehle einfügen, die immer ausgeführt werden sollen, wenn die Internetverbindung aufgebaut
wurde. So können Sie zum Beispiel Ihre Email abholen. Interessant ist die Tatsache, daß ip-up fünf
Parameter übergeben werden, die man in dem script verwenden kann.

Beispiel:
#!/bin/sh
#
#/etc/ppp/ip-up
#
# Folgende Parameter stehen zur Verfügung:
# $1 Der Interfacename von ppp (z.B.: ppp0)
# $2 Devicename über den die Verbindung geht (z.B.: /dev/ttyS1)
# $3 Geschwindigkeit der Leitung (z.B.: 28000 bps)
# $4 Die Locale IP-adresse (dynamisch, z.B.: 194.221.86.205)
# $5 Die Server IP-adresse
# $6 Der parameter ‚ipparam' aus der options-datei
popclient -3 -c -u harald -p pupsi pop.cybernet-ag.de | formail -s procmail


Beachten Sie, daß das nur ein Beispiel ist. Sie können hier auch andere Programme aufrufen, wie z.B.
Sendmail o.ä.
Wenn Sie bei Beendigung der Verbindung programme ausführen oder beenden wollen, so können Sie
Diese Anweisungen in das Script ppp-off einfügen.
Internetzugang mit Linux 2.0.x und ppp 2.2 Seite 1 von 1
Stand: 15.9.97

Deine Nameserver haben die ip:

212.63.32.10 ns.kkf.net
195.122.128.66 ns.mik.net

Gruß


[This message has been edited by modernart (edited 29 April 1999).]

Andree
01.05.99, 21:48
Hi!

Ich weiss natürlich nicht, was in deinem Linuxhandbuch ( Version 4.*** ) steht und kann so nicht vergleichen mit meinem 6.0 Handbuch.

Ich habe zunächst meinen Inet Zugang zu GermanyNet mit Yast konfiguriert. Ich bin danach zwar ins Netz gekommen, aber flog gleich wieder raus. Kann aber sein, das das Problem hier bei Germanynet liegt. Der Provider ist oft übervoll.

Ich habe auch kppp versucht, was aber nicht funktioniert hat.

Ich habe schließlich die vorgegebenen Scripte, die man auf der GermanyNet HP findet, einfach mit einem Editor abgetippt. Das hat funktioniert.

Als Editor habe ich den KDE - Editor ( unter Anwendungen ganz oben im Pulldown - Menü ) genommen. Der ist leicht zu bedienen und deutsch.

Ciao
Andree