Indstil KPPP til at ringe tilbage |
forrige | næste |
Indholdsfortegnelse
Dette kapitel er baseret på materiale der skyldes Martin Häfner, <mh@ap-dec717c.physik.uni-karlsruhe.de>
Dette afsnit introducerer UNIX® (Linux®) tilbagekald, og hvordan KPPP kan indstilles til at forbinde til en UNIX® tilbagekaldsserver, især til en script-baseret Linux® tilbageringsningserver
Der er adskillige grunde til at overveje tilbagekald. Nogle af dem er:
For at forøge sikkerheden i dit lokale netværk
For at reducere udgifterne for eksterne medarbejdere
For at kontrollere telefonomkostninger hvor opkald erklæres som forretningsudgifter
Tænk på om nogen kunne ringe til nummeret på den server du ringer til, og så bryder et kodeord. Hvorfor bekymre sig om at vedligeholde en brandmur for din internetforbindelse hvis det er så let at få adgang til dit netværk?
Tilbagekaldsprogrammer beder generelt om dit navn, og hænger så op. Det ringer så tilbage til dig, sædvanligvis til et nummer der er opbevaret på serveren i en database. Klienten tager så telefonen og fortsætter med at komme på som om intet var hændt. Serveren beder nu om brugernavn og kodeord, med sikkerhed for at du er den du siger du er da du først ringede, eller i det mindste at du er der hvor du sagde du var. Forbindelsen etableres normalt, og pppd startes.
Nu er det store spørgsmål hvordan klienten skal bedes om at tage telefonen, når serveren ringer tilbage. Har du brug for et specielt program, såsom mgetty? Svaret er nej, du har ikke brug for et specielt klient-program. I almindelighed kan en vilkårlig klient bruges til tilbagekald, du kan endog bruge et almindeligt terminalprogram såsom minicom til forbindelsen.
Det eneste du skal gøre er at bede dit modem om at AutoAnswer telefonen når et RING
detekteres af modemet. Dette gøres med følgende modem-kommando:
AT&SO=1
Dette beder modemet om at tage telefonen efter et RING
.
Som en masse andre klientprogrammer, tjekker KPPP for at se om forbindelsen bliver lukket af serveren, og standser så den aktuelle session hvis en NO CARRIER
detekteres. Dette er derfor det egentlige problem når tilbagekald skal indstilles. NO CARRIER
vil naturligvis blive detekteret det øjeblik tilbagekaldsserveren lægger på. Nogle servere bruger derfor et speciel login-program. Så hvordan løser du dette problem? Du fortæller dit modem at det skal vise CARRIER UP
altid (hvilket ikke giver problemer hvis du beder klienten om at lægge på.) Du kan gøre dette med følgende modem-kommando:
AT&C0
Hvis du ønsker at teste dette, kan du først bruge et almindeligt terminalprogram såsom minicom, og ringe til din tilbagekaldsserver, for at se hvad der sker.
Så nu da du har set teorien i det virkelige liv, hvordan skal du nu indstille KPPP til at tage sig af forbindelsen?
Proceduren er helt ligetil som følger.
Bed først modemet om at acceptere forbindelser og ikke standse forhandlingerne når tilbagekaldsserveren lægger på første gang. Du kan tilføje begge disse valg i Modem-fanebladet i KPPP-indstillingen ved at tilføje til Opkaldsstreng strengen AT&C0S0=1DT
Der er ingen andre ændringer i indstillingen af KPPP. hvis du har besvær med modem init og nulstil, så tjek Problemløsning-afsnittet for yderligere oplysninger.
Tænk på din server et øjeblik. Husk at UNIX®, Windows® og Macintosh operativsystemer har forskellige meninger om hvordan en linje skal afsluttes i en tekstfil, og derfor også i procedurer til at logge på. Hvis du forbinder til en Windows® server, bruges CR/LF
, hvis du forbinder til en UNIX® server, bruges CR
og hvis du forbinder til en Macintosh server, bruges LF
Vi antager for disse instruktioner at du ringer til en Linux® tilbagekalds-pakke som bruger en almindelig måde at logge på (ikke PAP eller sådant).
Sæt Godkendelse-stil i Ring op-fanebladet for kontoens indstilling til Script-baseret
Nu skal du opbygge et script til at logge på. Redigering af script til at logge på er en af KPPP's meget smarte egenskaber. Du kan finde det i Login-Script-fanebladet for Redigér konto- dialogen.
I dette eksempel har brugeren userxyz
brug for at følgende script bliver kaldet. Tilbagekaldsserveren kender allerede tabellen med navne og deres anvendelige telefonnumre, så du vælger telefonnummeret der skal bruges med et alias, af sikkerhedsgrunde.
For hver linje vælges kriterier fra dropned-listen til venstre for dialogen, og du skriver handlingen i tekstfeltet til højre for den. Vælg for at tilføje hver linje til scriptet. Du kan bruge for at tilføje en linje i midten af scriptet, og for at slette en linje hvis du lavede en fejl.
Hele scriptet skal se ud som noget i denne retning (uden kommentarerne vist her der starter med et #)
Expect ogin: # husk vi laver almindelig terminal login ID "" # kppp sender det id du indstillede i hoveddialogen Expect for userxyz: # en liste af de tilgængelige numre bliver vist, brugeren skal vælge et Send userxyz-home # brugeren ønsker at blive ringet tilbage på sin hjemmetelefon Expect ogin: # Tilbagekaldsprocessen kører nu, en ny forbindelse derfor en ny login. ID Expect assword: # Send dit kodeord nu Expect > # Vent på kommandolinjen (tegnet kan variere) Send start_ppp # denne kommando starter pppd
Efter at have ventet på forespørgslen til at logge på, sender brugeren sin ID og venter på en liste af telefonnumre for dette brugernavn. Så fortælles serveren hvilket af de tilbudte numre der skal ringes tilbage til. KPPP kan åbne en dialog for dette hvis det ofte sker du er et andet sted, f.eks. hvis du for eksempel er handelsrejsende og flytter fra hotel til hotel. Nu forventer serveren at du logger på og giver dit kodeord til godkendelse, men i mellemtiden lægger serveren på og ringer tilbage til brugeren. Godkendelsesinformationen sendes og KPPP venter på et kommandolinjetegn, og starter så et lille script (her kaldet start_ppp
som får gang i pppd på serveren.
start_ppp
scriptet kunne se ud som noget i retning af følgende:
#!/bin/sh stty -echo exec /usr/sbin/pppd -detach silent modem
Opsætning af en PPP-server er naturligvis ikke inden for dette dokuments muligheder. For detaljeret information, se pppd's man-sider. En glimrende beskrivelse af en tilbagekaldsserver kan findes på http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback
Alle andre indstillingsspørgsmål, såsom indstilling af pppd eller IP virker som normalt, og der er ikke brug for nogen specielle programmer til at tage linjen.
KPPP tilbagekald og andre programmer såsom mgetty eller et vilkårligt andet faxgetty kan køres på den samme serielle port. Der er ingen problemer med at ringe ind, da KPPP laver en låsefil som vil fortælle getty-programmet at et andet program (i dette tilfælde KPPP naturligvis,) bruger linjen på dette tidspunkt.
Der er nogle kendte problemer med KPPP i tilbagekaldstilstand:
Når du initialiserer modemet til auto-svar, må du nulstille modemet efter din forbindelse er lukket. Ellers vil dit modem fortsætte med at tage telefonen for dig, hvilket ikke er en god idé hvis det drejer sig om din eneste telefonlinje.
KPPP har nogle små problemer når den skal dele en linje med et andet program, såsom mgetty. Hvis mgetty kører på samme modem-linje, er KPPP ikke i stand til at initialisere modemet rigtigt.
KPPP kan ikke spørge om visse bruger-inddata når der logges på script-baseret. Uheldigvis spørger KPPP også om brugernavnet anden gang tilbagekaldsserveren beder om det, i eksempelscriptet ovenfor. Du kan slippe for det ved at skrive dit bruger-id ind i login-scriptet (ikke særlig pænt eller portabelt, men det virker).
Linux® programmer for tilbageringsservere findes mange steder.
Det velkendte mgetty er et meget stærkt program, og det kan også klare tilbagekaldsforbindelser En beskrivelse af hvordan mgetty skal sættes op til dette formål findes på http://www.dyer.demon.co.uk/slug/tipscrip.htm, ved Colin McKinnon, <colin@wew.co.uk>
.
Der er også en brugsklar pakke for Linux® på http://www.icce.rug.nl/docs/programs/callback/callback.html. Denne pakke vedligeholdes af Frank B. Brokken, <frank@icce.rug.nl>
. Da opsætningen ikke er særlig nem, har jeg skrevet en kort introduktion for den på http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback/, som også indeholder en mere generel introduktion til tilbagekald.
forrige | hjem | næste |
Hurtigere tonevalgsopkald | op | Windows® NT RAS tilbagekald |