Das folgende Kapitel wurde von Martin Hfner zur Verfgung gestellt.
Dieses Kapitel beschreibt die Konfiguration von Kppp fr Rckrufverbindungen. Die folgenden Server werden untersttzt:
Dieser Abschnitt ist eine Einfhrung in den Ablauf beim Aufbau einer Unix (Linux) Rckrufverbindung und wie Kppp eingestellt werden kann, um eine Verbindung mit einem Unix Rckruf-Server, speziell mit einen Skript-basierten Linux Rckruf-Server, zu erstellen.
Wenn Sie irgendwelche Fragen oder Probleme haben, scheuen Sie sich nicht, den Autor dieses Kapitels zu kontaktieren.
Um die Sicherheit Ihres lokalen Netzes zu verbessern oder die Kosten Ihrer auswrts arbeitenden Mitarbeiter zu senken, knnte ein Rckruf-Server Ihre erste Wahl sein. Machen Sie sich darber Sorgen, da jemand die Nummer Ihres Einwhlservers whlt, und versucht das Pawort zu knacken? Warum betreiben Sie dann berhaupt einen Firewall fr Ihre Internetverbindungen?
Rckrufsoftware fragt generell nach einem Namen und sucht die dazugehrige Telefonnummer in einer Datenbank. Dazu mu die Nummer auf dem Server gespeichert sein. Nach der Authentifizierung legt der Server auf und ruft Sie unmittelbar danach unter der Nummer aus der Datenbank zurck. Der Client nimmt den Anruf an und fhrt mit dem Verbindungsaufbau fort, als wenn nichts gewesen wre. Der Server wird Sie nach Ihrem Benutzernamen und Pawort fragen, dann steht die Verbindung und der pppd kann gestartet werden.
Nun, wie kann ich dem Client sagen, da er den Anruf annehmen soll? Brauche ich dazu ein Programm wie mgetty? Die Antwort ist "NEIN"! Sie brauchen kein spezielles Programm auf Ihrem Client. Allgemein gesagt, knnen alle Clients fr Rckrufverbindungen benutzt werden. Sie knnen sogar ein gewhnliches Terminalprogramm wie minicom dazu benutzen, eine Verbindung zu einem Rckruf-Server aufzubauen. Alles was Sie machen mssen, ist, Ihr Modem in den AutoAnswer-Modus zu schalten. Dies erreichen Sie durch ein spezielles Modemkommando:
ATS0=1 |
Das heit, Ihr Modem nimmt einen Anruf nach einem RING an. Erinnern Sie sich, dies passiert ohne Mitwirkung einer Software auf Ihrem Rechner.
Wie viele andere Whlprogramme auch, prft Kppp ob die Verbindung vom Server beendet wurde und beendet dann die Verbindung, wenn ein NO CARRIER registriert wurde. Und das ist das nchste Problem:
NO CARRIER wird auch registriert, wenn der Rckruf-Server auflegt, nachdem er wei unter welcher Nummer er zurckrufen soll. Manche Server benutzen dafr ein spezielles Anmeldeprogramm. Wie knnen Sie dieses Problem lsen? Sagen Sie Ihrem Modem, da es die ganze Zeit eine offene Leitung zeigen soll (was kein Problem bereitet, wenn der Client auflegt), indem Sie das Modemkommando
ATC0 |
Wenn Sie das testen wollen, knnen Sie zuerst ein normales Terminalprogramm wie minicom benutzen und Ihren Rckruf-Server anrufen.
Kppp einzustellen, um damit zu einem Linux Rckruf-Server zu verbinden, ist einfach.
Sie mssen Ihrem Modem nur mitteilen, da es Anrufe annehmen soll (siehe oben) und da es die Leitung nicht schliet, wenn der Rckruf-Server zum ersten Mal auflegt, um Sie zurckzurufen. Beides sind Modemeinstellungen, die auf der Karteikarte "Modem" in den Einstellungen eingestellt werden mssen. Stellen Sie sicher, da Ihre Einstellungen wie folgt aussehen:
Whlstring: ATC0S0=1DT |
Machen Sie sich jetzt ein paar Gedanken ber Ihren Server. Denken Sie daran, da Windows und Unix-Betriebssysteme unterschiedlicher Meinung sind, wie Zeilenenden in Textdateien (und Anmeldeprozeduren) aussehen: einfaches CR oder CR/LF oder LF. Falls Sie eine Verbindung zu einem Macintosh-Server aufbauen wollen, benutzen Sie CR als Zeilenende.
Der nchste Abschnitt beschreibt die Einstellung von Kppp auf der Basis eines Linux Rckruf-Pakets (siehe unten), das eine gewhnliche Anmeldeprozedur (kein PAP oder sonstiges) benutzt. Dafr mssen Sie die folgende Art der Authentifizierung auf der Karteikarte "Whlen" in den Zugangseinstellungen auswhlen:
Authentifizierung: Skript-basiert |
Nun mssen Sie das Login-Skript schreiben. Auf meinen Server, braucht der Benutzer "xyz" das folgende Skript, um zu Hause zurckgerufen zu werden (der Rckruf-Server hat eine Tabelle mit Namen und Nummern, so da Sie Ihre Telefonnummer ber einen Alias auswhlen mssen (Sicherheit!)):
Expect ogin: # denken Sie daran, wir melden uns auf einem Terminal an ID "" # Kppp sendet den Benutzernamen, den Sie im Hauptfenster # angegeben haben. Expect for xyz: # Eine Liste verfgbarer Nummern wird gezeigt, von denen # der Benutzer eine auswhlen mu Send xyz-home # Der Benutzer will zurckgerufen werden Expect ogin: # Der Rckrufproze luft. Eine neue Verbindung, eine neue Anmeldung ID Expect assword: Password # Jetzt Ihr Pawort Expect # warte auf die Eingabeaufforderung (das kann variieren) Send start_ppp # start_ppp startet den pppd |
#!/bin/sh stty -echo exec /usr/sbin/pppd -detach silent modem |
Alle anderen Einstellungen (z.B. pppd Konfiguration oder IP-Einstellungen) sind die gleichen wie sonst auch. Denken Sie daran, da keine spezielle Software ntig ist, um den Rckruf anzunehmen.
Hinweis: Kppp Rckruf und andere Programme wie mgetty oder andere faxgetty knnen auf die gleiche serielle Schnittstelle zugreifen. Dabei gibt es beim Einwhlen keine Probleme, da Kppp eine Sperrdatei erzeugt, die anderen getty-Programmen anzeigt, da gerade ein anderes Programm die Leitung benutzt. Wegen genereller Probleme mit mgetty lesen Sie den Abschnitt Problembeseitigung weiter unten.
Es gibt ein paar bekannte Probleme mit Kppp im Rckruf-Modus:
Da Sie das Modem mit AutoAnswer initialisieren, mssen Sie es nach dem Verbindungsabbruch zurcksetzen. Wenn Sie das nicht tun, wird das Modem alle Anrufe fr Sie annehmen.
Wie schon im Abschnitt Die Kppp Einstellungen beschrieben, mssen Sie das Modem mit dem Whlstring initialisieren. Der normale Kppp "Init-String" kann solche komplexeren Init-Strings, die fr Rckrufverbindungen bentigt werden, nicht aufnehmen.
Der nchste Punkt ist allgemeiner und nicht beschrnkt auf Rckrufverbindungen: Kppp hat leichte Problem, wenn die Modemschnittstelle mit einem anderen Programm wie mgetty gemeinsam benutzt wird. Wenn mgetty die gleiche Schnittstelle benutzt, kann Kppp das Modem nicht korrekt initialisieren. Das klappt erst beim zweiten Versuch.
Kppp kann whrend einer Skript-basierten Verbindung nach einer Benutzereingabe fragen. Leider fragt Kppp Sie auch nach dem Benutzernamen, wenn der Server zum zweiten Mal den Benutzernamen wissen will (siehe den Login-Skript Abschnitt oben). Wenn Sie das abstellen wollen, mssen Sie Ihren Benutzernamen direkt in das Login-Skript schreiben (nicht sehr schn, aber es hilft).
Linux Rckruf-Server Softwarepakete sind berall im Internet erhltlich. Natrlich gehrt auch das sehr bekannte und leistungsfhige mgetty dazu, mit dem man auch Rckrufverbindungen erstellen kann. Eine Beschreibung, wie man mgetty dafr konfigurieren mu, gibt es hier. Die Seite wird betreut von Colin Mc Kinnon, also fragen Sie bitte nicht mich, wenn Sie irgendwelche Probleme haben. Aber es ist auch ein fertig benutzbares Paket fr Linux Rckruf-Server hier erhltlich. Das Paket wird betreut von Frank B. Brokken. Weil das Paket nicht so leicht einzustellen ist (obwohl die Konfiguration eigentlich unkompliziert ist), habe ich eine kurze Einleitung dafr geschrieben. Schauen Sie dort ebenfalls nach, wenn Sie eine weitergehende allgemeine Einfhrung in Rckrufverbindungen wollen.