Martins Anleitung für eine PPP-Verbindung via
ISDN-Terminal-Adapter Zyxel omni.net unter Linux.
1. Allgemeines
Die komplette Administration des pppd erfolgt als Benutzer root!!!
Steht später die Verbindung, dann kann man natürlich auch als
normaler Linux-Benutzer das Internet benutzen. Auch so welche Programme
wie ftp und ping funktionieren dann weltweit.
Für die ppp-Verbindung muß man den pppd zum Laufen bringen.
Leider besitzt der eine Unmenge an Optionen und eine Unmenge von Konfigurationsdateien.
2. Datei -rw-r--r-- root "/etc/ppp/options"
Enthält bei mir nur die Option:
lock
3. Datei -rw------- root "/etc/ppp/pap-secrets"
Enthält bei mir das Paßwort für meine T-Online-Kennung.
(hier gebe ich d i r natürlich n i c h t
meine echte weiter)
# Secrets for authentication using PAP
# client server
secret
IP addresses
"00023456789005206920789#0001" * 03456789
4. Datei -rw------- root "/root/bin/t-online.chat"
Enthält meine Verbindungsaufbaubefehle für mein Modem zu T-Online.
TIMEOUT 40
ABORT "NO CARRIER"
ABORT BUSY
ABORT "NO DIALTONE"
ABORT ERROR
"" AT
"" +++ATZ
"" AT&FE0X5
OK ATB40
OK ATS84.4=1
OK ATS7=20S50=0L1M1&K3&K44&H3X4
OK ATS87.2=0
OK ATD0191011
CONNECT ""
Ein Timeout von 20 hat bei mir nicht gereicht, deshalb 40.
Vorher schicke ich meinem Modem ein paar AT-Befehle ohne auf eine Antwort
zu warten, damit sich die serielle Schnittstelle f"angt. Danach warte ich
immer auf das OK vom Modem und zuletzt auf das CONNECT-Zeichen vom Modem.
Danach endet das Chat-Script und der pppd "ubernimmt den weiteren Verbindungsaufbau.
Die AT-Befehle habe ich mir übrigens von meiner Windowskonfiguration
abgeschaut.
Stehen in "c:\windows\modemlog.txt" bei eingeschaltetem Log
und nach einem Verbindungsaufbau.
Bei Linux stehen ähnliche Meldungen in den syslogs unter "/var/log/messages".
5. Datei -rwx------ root "/root/bin/ppp-up"
Enthält mein persönliches Startscript für den pppd. Ein
Stopp-Script muß ich mir noch schreiben (pppd aus der Prozeßliste
heraussuchen bzw. Inhalt von "/var/run/ppp0.pid" und mit kill <id> ein
normales Signal senden).
#!/bin/sh
#
localip=0.0.0.0
remoteip=
# /dev/modem ist ein Link auf z.B. ln -s /dev/cua1 /dev/modem
device=/dev/modem
# Daten"ubertragungsrate zum Modem ausw"ahlen in Bit/s
# 9600, 19200, 38400, 57600, 115200, 230400
speed=115200
pppflags="crtscts defaultroute lock modem debug \
pcp-accept-remote ipcp-accept-local noipdefault \
-ac -pc passive \
user 00023456789005206920789#0001"
/usr/sbin/pppd $device $speed \
connect '/usr/sbin/chat -v -f /root/bin/t-online.chat'
\
$device $pppflags $localip:$remoteip
tail -f /var/log/messages
Die Optionen "localip=0.0.0.0", "ipcp-accept-local" und "noipdefault"
bewirken alle zusammen, daß nicht die lokale IP-Adresse des eigenen
Rechners an T-Online übermittelt wird, sondern es wird die lokale
IP-Adresse von T-Online übernommen.
Die Option "user" bewirkt, daß das Paßwort für diesen
User aus der Datei "/etc/ppp/pap-secrets" entnommen wird.
6. Der große Test
Gestartet wird der pppd mit dem Aufruf unseres Scripts "/root/bin/ppp-up".
Zur Kontrolle sollte man in einem extra Terminalfenster die syslog-Messages
anschauen:
"tail -f /var/log/messages" oder "more /var/log/messages"
Als erstes sieht man die Ausf"urung des chat-Scripts in dem Fenster.
Wenn ein Timeout auftritt, dann erscheint folgende Meldung:
...
Oct 11 14:37:52 pc2 pppd[565]: pppd 2.2.0 started by root, uid
0
Oct 11 14:37:53 pc2 chat[568]: timeout set to 20 seconds
...
Oct 11 14:37:55 pc2 chat[568]: expect (CONNECT)
Oct 11 14:37:55 pc2 chat[568]: ^M
Oct 11 14:38:15 pc2 chat[568]: alarm
Oct 11 14:38:15 pc2 chat[568]: Failed
Oct 11 14:38:15 pc2 pppd[565]: Connect script failed
Oct 11 14:38:15 pc2 pppd[565]: Exit.
Wenn das chat-Script erfolgreich war, sollte folgende Meldung erscheinen:
Oct 11 15:33:16 pc2 chat[905]: expect (CONNECT)
Oct 11 15:33:16 pc2 chat[905]: ^M
Oct 11 15:33:18 pc2 chat[905]: CONNECT -- got it
Oct 11 15:33:18 pc2 chat[905]: send (^M)
Oct 11 15:33:18 pc2 pppd[902]: Serial connection established.
Oct 11 15:33:19 pc2 pppd[902]: Using interface ppp0
Oct 11 15:33:19 pc2 pppd[902]: Connect: ppp0 <--> /dev/modem
Wenn der Benutzername oder das Paßwort falsch sind, erhält man
folgende Meldung:
Oct 11 14:58:54 pc2 pppd[649]: sent [PAP AuthReq id=0x1 user="000...815#0001"
password="01234567"]
Oct 11 14:58:54 pc2 pppd[649]: rcvd [PAP AuthNak id=0x1msg=""]
Oct 11 14:58:54 pc2 pppd[649]: Remote message:
Oct 11 14:58:54 pc2 pppd[649]: PAP authentication failed
Oct 11 14:58:54 pc2 pppd[649]: rcvd [LCP TermReq id=0x1]
Oct 11 14:58:54 pc2 pppd[649]: LCP terminated at peer's request
Oct 11 14:58:54 pc2 pppd[649]: sent [LCP TermAck id=0x1]
Oct 11 14:58:57 pc2 pppd[649]: Connection terminated.
Oct 11 14:58:57 pc2 pppd[649]: Exit.
Man sieht die Remote message: "PAP authentication failed" und die empfangene
(rcvd) Abbruch-Anforderung "TermRequest". Mein Rechner bestätigte
die Abbruch-Anforderung mit der gesendeten (sent) Meldung "TermAcknowledge".
Wenn der Benutzer und das Paßwort stimmen, bekommt man keine Remote
message:
Oct 11 14:56:32 pc2 pppd[633]: sent [PAP AuthReq id=0x1 user="000...984#0001"
password="87654321"]
Oct 11 14:56:33 pc2 pppd[633]: rcvd [PAP AuthAck id=0x1msg=""]
Oct 11 14:56:33 pc2 pppd[633]: Remote message:
Oct 11 14:56:33 pc2 pppd[633]: sent [IPCP ...
Jetzt werden die IP-Adressen ausgetauscht. Wenn alles stimmt, wird als
eigene Adresse die 0.0.0.0 gesendet:
Oct 11 15:33:22 pc2 pppd[902]: sent [IPCP ConfReq id=0x1 <addr
0.0.0.0> <compress VJ 0f 01>]
Oct 11 15:33:22 pc2 pppd[902]: rcvd [CCP ConfReq id=0x1 < 11
06 00 01 01 03>]
Oct 11 15:33:22 pc2 pppd[902]: sent [CCP ConfReq id=0x1]
Oct 11 15:33:22 pc2 pppd[902]: sent [CCP ConfRej id=0x1 < 11
06 00 01 01 03>]
Oct 11 15:33:22 pc2 pppd[902]: rcvd [IPCP ConfReq id=0x1 <compress
VJ 0f 01> <addr 193.158.138.141>]
Oct 11 15:33:22 pc2 pppd[902]: sent [IPCP ConfAck id=0x1 <compress
VJ 0f 01> <addr 193.158.138.141>]
Oct 11 15:33:22 pc2 pppd[902]: rcvd [IPCP ConfNak id=0x1 <addr
193.159.66.22>]
Oct 11 15:33:22 pc2 pppd[902]: sent [IPCP ConfReq id=0x2 <addr
193.159.66.22> <compress VJ 0f 01>]
Oct 11 15:33:22 pc2 pppd[902]: rcvd [CCP ConfRej id=0x1]
Oct 11 15:33:22 pc2 pppd[902]: rcvd [IPCP ConfAck id=0x2 <addr
193.159.66.22> <compress VJ 0f 01>]
Oct 11 15:33:22 pc2 pppd[902]: local IP address 193.159.66.22
Oct 11 15:33:22 pc2 pppd[902]: remote IP address 193.158.138.141
Nun steht die Verbindung. Geschafft!!!
Wenn eine eigene IP-Adresse übermittelt wird, verweigert t-online
diese.
Es folgt ein Abbruch mit ConfReject:
Oct 11 14:56:33 pc2 pppd[633]: sent [IPCP ConfReq id=0x1 <addr
192.168.128.1> <compress VJ 0f 01>]
Oct 11 14:56:33 pc2 pppd[633]: rcvd [CCP ConfReq id=0x1 < 11
06 00 01 01 03>]
Oct 11 14:56:33 pc2 pppd[633]: sent [CCP ConfReq id=0x1]
Oct 11 14:56:33 pc2 pppd[633]: sent [CCP ConfRej id=0x1 < 11
06 00 01 01 03>]
Oct 11 14:56:33 pc2 pppd[633]: rcvd [IPCP ConfReq id=0x1 <compress
VJ 0f 01> <addr 193.158.138.141>]
Oct 11 14:56:33 pc2 pppd[633]: sent [IPCP ConfAck id=0x1 <compress
VJ 0f 01> <addr 193.158.138.141>]
Oct 11 14:56:33 pc2 pppd[633]: rcvd [IPCP ConfAck id=0x1 <addr
192.168.128.1> <compress VJ 0f 01>]
Oct 11 14:56:33 pc2 pppd[633]: local IP address 192.168.128.1
Oct 11 14:56:33 pc2 pppd[633]: remote IP address 193.158.138.141
Oct 11 14:56:33 pc2 pppd[633]: rcvd [CCP ConfRej id=0x1]
Oct 11 14:56:33 pc2 pppd[633]: rcvd [CCP TermReq id=0x2]
Oct 11 14:56:33 pc2 pppd[633]: sent [CCP TermAck id=0x2]
Oct 11 14:56:33 pc2 pppd[633]: Hangup (SIGHUP)
Oct 11 14:56:33 pc2 pppd[633]: Modem hangup
Oct 11 14:56:33 pc2 pppd[633]: Connection terminated.
Oct 11 14:56:33 pc2 pppd[633]: Exit.
7. Eintragen des DomainNameServers
Ohne DomainNameServer-Eintrag war Internet ein wenig langweilig, weil
man
dann nur die direkten IP-Adressen verwenden kann. "ping 194.25.2.129"
funktioniert beispielsweise auch ohne DomainNameServer.
Das Eintragen habe ich mit dem Installationstool von Linux gemacht,
obwohl man die eine Datei auch schnell von Hand hätte erstellen können.
Natürlich habe ich hier den NameServer von T-Online eingetragen.
Es ist möglich mehrere NameServer einzutragen.
SEARCHLIST=de
NAMESERVER=194.25.2.129
Die Angaben werden in die Datei -rw-r--r-- root "/etc/resolv.conf"
geschrieben:
search de
nameserver 194.25.2.129
8. Damit das Mailen auch noch funktioniert, muß man noch bestimmte
Eintragungen in dem Netscape-Mail-Preferencen machen.
Es muß die eigene Mailadresse eingetragen werden: "Martin.Both at t-online.de"
Der Name des Mailservers zum Absenden (SMTP) von Mails: "mailto.btx.dtag.de"
Der Name des POP3-Servers zum Abholen seiner Mails: "pop.btx.dtag.de"
Name des Mail-Users: Einfach einen Punkt eintragen, ebenso für
das Paßwort
(T-Online benutzt ein anderes Verfahren zum überprüfen der
Berechtigung)
9. Proxies sollte man nicht unbedingt eintragen. Manchmal verlangsamen sie
das System, manchmal beschleunigen sie es.
Beim Netscape Communicator die Option "Direct connection to internet" anwählen,
um keinen Proxie zu benutzen.
www-proxy.btx.dtag.de
Martins Homepage
Martin.Both at t-online.de