File: Callback.pl.html

package info (click to toggle)
doc-linux-pl 2002.06.14-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, jessie, jessie-kfreebsd, lenny, squeeze, wheezy
  • size: 6,900 kB
  • ctags: 968
  • sloc: makefile: 66
file content (393 lines) | stat: -rw-r--r-- 15,372 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>Callback-miniHOWTO</TITLE>


</HEAD>
<BODY>
<H1>Callback-miniHOWTO<BR></H1>

<H2>Pawe Skonecki, 
<A HREF="stona@fizyka.umcs.lublin.pl">e-mail: stona@fizyka.umcs.lublin.pl</A><BR>
v1.0, Marzec 2000<BR></H2>
<P><HR>
<EM>Dokument ten opisuje, jak za pomoc Linuxa ustawi poczenie zwrotne
przy pomocy modemu.
Program callbeck opracowa Gert Doering, &lt;gert@greenie.muc.de>.
Chciabym podzikowa Annie za wyrozumiao dla pingwinw.</EM>
<HR>
<H2><A NAME="s1">1. Wstp.</A></H2>

<P>
<P>
<H2>1.1 Opinie.</H2>

<P>
<P>Czekam na wszystkie opinie, czy to dobre,
czy ze, na temat zawartoci tego dokumentu. Staraem si, aby informacje
w nim umieszczone byy jak najbardziej pewne i dokadne. Daj mi zna gdy
znajdziesz jakie bdy.
<P>Dzikujemy ludziom ktrzy przysali by
poprawki lub sugestie. Ich wkad uczyni ten dokument o wiele lepszym,
ni gdybym tworzy go sam. Wysyaj komentarze, sugestie i poprawki
na adres email autora podany powyej. Nie mam nic przeciwko odpowiadaniu
na pytania, jednak radz najpierw przeczyta dokument w caoci.
<P>
<H2>1.2 Rozpowszechnianie.</H2>

<P>
<P>Copyright ? 1999 by Pawe Skonecki. Ten
dokument moe zosta rozpowszechniany na warunkach ustalonych przez Licencj
Linux Documentation Project. Skontaktuj si z autorem, jeli nie jeste
w stanie otrzyma licencji.
<P>Ta dokumentacja jest darmowa. Jest rozpowszechniana
z nadziej, e okae si uyteczna, jednak bez adnej gwarancji.
<P>
<H2><A NAME="s2">2. A moe sie w domu ...</A></H2>

<P>
<P>Wikszo z nas uywa sieci korporacyjnych lub uczelnianych w swoim
miejscu pracy. Pojawia si jednak potrzeba skorzystania z sieci w domu
lub w innym miejscu. Moe przecie okaza si i pracownicy bdcy w terenie
musz mie dostp do danych znajdujcych si w Internecie lub te
w sieci firmowej. Moemy mie te do czynienia z sytuacj kiedy firmie
bdzie opaca si zapaci pracownikom za poczenia telefoniczne aby
pracowali w domach. Sdz e optymalnym rozwizaniem jest zainstalowanie
na serwerze z Linuxem i oprogramowania typu callback.
<P>Callback to nic innego jak oddzwanianie
pod wskazany numer na koszt firmy. Sprbuj przedstawi jego dziaanie.
Osoba posiadajca odpowiednie uprawnienia dzwoni pod numer modemu bdcego
w serwerze z Linuxem, tam weryfikuje si po raz pierwszy. Wtedy po stronie
uytkownika nastpuje "zawieszenie modemu" na stan oczekiwania. W tym czasie
serwer dzwoni po wskazany numer. Uytkownik weryfikuje si powtrnie. Nastpuje
zestawienie poczenia a impulsy bij po stronie serwera (czyli w firmie),
osoba do ktrej oddzwania serwer paci jedynie za zainicjowanie poczenia.
<P>Podwjna weryfikacja oraz dodatkowe parametry
w programie callback uniemoliwiaj by osoby nie powoane wtargny na nasz
rachunek. Mona take ograniczy osobom korzystajcym z tej usugi do dostp
do sieci wewntrznej lub te caego Internetu. Callback jest elastyczny
i pozwala na wiele opcji w stosunku do osb go uywajcych.
<P>W poniszym mini-HOWTO postaram si przedstawi
konfiguracj serwera callback na Linuxe wytumacz jak dostosowa swoj
maszyn do odbierania pocze.
<P>
<H2><A NAME="s3">3. Pierwsze kroki z modemem.</A></H2>

<P>
<P>Aby wszystko zadziaao jak naley potrzebujemy
niezego modemu do naszego serwera z Linuxem. W tej mierze istniej ,a rne
preferencje administratorw i nie mona wskaza tutaj adnej marki jako
faworyta. Warto jednak pamita przyzakupie o pewnych zasadach jakimi naley
si kierowa.
<P>
<UL>
<LI>Nie powinnimy kupowa pod adnym pozorem
modemw typu WinModem poniewa nie zadziaaj one z Linuxem.</LI>
<LI>Modem zewntrzny jest szybszy od urzdzenia
wewntrznego poniewa w ograniczonym zakresie korzysta z zasobw komputera.
Ich wad natomiast jest to i zajmuj one com-a co moe potem utrudnia
podczanie nastpnych urzdze korzystajcych z com-w.</LI>
<LI>Warto zainwestowa modem w standardzie
v.90 poniewa daje on moliwo szybszej pracy chocia nie zawsze si to
udaje to udaje na sabych czach.</LI>
<LI>Jeeli ju modem wewntrzny to lepiej
z szyna ISA jak PCI poniewa szkoda zcza PCI na modem</LI>
<LI>Nie zaleca si take modemw typu Plug&amp;Play,
jeeli ju jest taki naley wyczy opcj Plug&amp;Play i nastawi w nim
wzorki na nastpnego wolnego coma.</LI>
</UL>
<P>Jeeli mamy ju modem ktry bdziemy wykorzystywa
do komunikacji pomidzy serwerem a osobami do niego dzwonicymi. Musimy
go zainstalowa go w systemie. Aby to zrobi musimy sprawdzi na jaki com-ie
jest nastawiony modem i czy nie pokrywa si z ju wykorzystywanym. Jeeli
tak jest to trzeba przestawi modem na kolejny wolny com.
<P>Instalacja jest prosta i nie powinna nastrcza
problemw. Wystarczy e bdziemy si trzyma zasad jakie istniej ,a w systemie.
<P>Aby Linux "zobaczy" modem naley poprowadzi
poczenie symboliczne z com-a do urzdzenia /dev/modem. Przykadowo jeeli
mamy modem na com 2 piszemy:
<P>
<HR>
<PRE>
ln -s /dev/cua1 /dev/modem
</PRE>
<HR>
<P>sprawdzamy teraz komend <CODE>ls -l</CODE> czy wszystko jest w porzdku:
<P>
<PRE>
lrwxrwxrwx 1 root root 4 Dec 28 15:28 modem -> cua1
</PRE>
<P>Jeeli wynik jest jak powyej to oznacza
e tak wanie si stao. Jeeli modem znajduje si na innym com-ie winnimy
zastosowa si do poniszych zasad i poprowadzi odpowiednie poczenie
symboliczne.
<P>
<UL>
<LI>/dev/cua0 to com1</LI>
<LI>/dev/cua1 to com2</LI>
<LI>/dev/cua2 to com3</LI>
<LI>/dev/cua3 to com4</LI>
</UL>
<P>Sprawdzamy teraz czy wszystko chodzi przy
pomocy minicoma, ktry powinien znajdowa si w wikszoci dystrybucji.
Przy jego pomocy dzwonimy pod jakikolwiek numer gdzie znajduje si modem.
Teraz czas na dzwonienie do nas ....
<P>
<H2><A NAME="s4">4. Zadzwo do Linuxa.</A></H2>

<P>
<P>Pierwszym krokiem w udostpnieniu usugi
callback na Linuxe jest ustawienie odpowiednich parametrw w jdrze systemu.
W tym celu musimy sprawdzi czy nasze jdro systemu obsuguje protok
ppp. Jeeli tak nie jest to powinno si w kompilowa go w jdro systemu
albo pozostawi jako modu do adowania. Nie jest to miejsce na przedstawiane
tego problemu. Dlatego te prosz zapozna si z Kernel-HOWTO.
<P>Jeeli ju mamy odpowiednio przygotowane
jdro czas zabra si za konfiguracj oprogramowania. W tym celu winnimy
zainstalowa na naszym serwerze pakiet o nazwie mgetty-sendfax, poniewa
on zawiera w sobie program do oddzwaniania. Nie jest to jego jedyna moliwo,
moe take wysya fax-y oraz pracowa jako access-server.
<P>Tu warto wspomnie o pracy callback-u.
Kiedy inicjujemy poczenie z serwerem nastpuje pierwotna weryfikacja
uytkownika. Poproszony jest on o wpisanie hasa a kiedy to uczyni nastpuje
"zawieszenie" modemu po stronie dzwonicego a serwer oddzwania pod wskazany
numer zwizany z uytkownikiem. Jeeli nastpi poczenie nastpuje drugi
monit o username oraz haso. Jeeliwszystko
pjdzie dobrze to poczenie zostaje zestawione pomidzy komputerem lokalnym
i zdalnym (user uruchomi protok ppp po stronie serwera).
<P>Tak wic caa operacja skada si z dwch
elementw. Mamy wic do czynienia z dwoma rodzajami uytkownikw: pierwszy
to uytkownik do callbacku a drugi to ten kry ma uruchomi protok ppp
po stronie serwera.
<P>Najpierw zajmijmy si drugim z nich. Zakadamy
konto o dowolnym username testowo niech to bdzie user pppuser.
<P>
<PRE>
pppuser:klkIOM89mn65H:230:PPP Dialin:/home/pppuser:/etc/ppp/ppplogin
</PRE>
<P>Nastpnie zmieniamy mu haso. Jak mona
zauway nie ma on normalnego shall-a do logowania ale pliczek w /etc/ppp/ppplogin.
Musimy go wasnorcznie przygotowa.
<P>Przechodzimy do tego katalogu i przy pomocy jakiegokolwiek edytora
tworzymy plik i wprowadzamy odpowiednie parametry
np.: vi ppplogin. Wewntrz niego wpisujemy.
<P>
<PRE>
#!/bin/sh
exec /usr/sbin/pppd -detach 192.168.1.1:192.168.1.2
</PRE>
<P>gdzie adres 192.168.1.1 to adres serwera w ktrym jest modem a adres
192.168.1.2 to adres jaki przypisalimy naszemu
modemowi. Pamitajmy nada temu plikowi prawo wykonywania.
<P>Poniewa ppp domylnie sprawdza co znajduje
si w pliku /etc/ppp/options musimy go stworzy aby wpisa odpowiednie
wartoci.
<P>Podobnie jak w powyszym przypadku tworzymy
plik przy pomocy dowolnego edytora i wpisujemy odpowiednio:
<P>
<PRE>
netmask 255.255.255.0
proxyarp
lock
crtscts
modem
</PRE>
<P>Najwaniejsza z powyszych opcji jest proxyarp,
umoliwia on wyjcie na wiat poprzez modem w serwerze. Jej brak moe by
korzystny jeeli nie chcemy aby nasi pracownicy uywali Internetu a jedynie
sieci lokalnej. Pozostae z nich oprcz netmask (tego nie trzeba tumaczy),
dotycz kontroli modemu.
<P>Teraz przechodzimy do konfiguracji modemu
w systemie w taki sposb aby zaraz po jego starcie by gotowy do pracy
czyli odbierania pocze.
<P>Uruchamiamy dowolny edytor a w nim plik
/etc/inittab gdzie dopisujemy ponisz lin.
<P>
<PRE>
s1:2345:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1 vt100
</PRE>
<P>jest ona prawidowa dla modemw ktre znajduj si na com2, jeeli
jest inaczej poprawiamy j. Np dla com-a 1 wyglda
powinna
<P>
<PRE>
s0:2345:respawn:/sbin/mgetty ttyS0 -D /dev/ttyS0 vt100
</PRE>
<P>Wykonujemy teraz polecenie <CODE>init q</CODE> i jeeli
nie mamy informacji o bdach w logach sytemu przechodzimy do nastpnego
etapu.
<P>Wracamy do katalogu /etc/ppp gdzie tworzymy
plik options.ttyS1 (jeeli mamy modem na com 1 options.ttyS0) a w nim wpisujemy
adesy IP.
<P>
<PRE>
IP_localne:IP_dla_modemu_zdalnego
</PRE>
<P>dla naszej sieci bdzie to 192.168.1.1:192.168.1.2
<P>Mamy ju wiele - przed zadzwonieniem do naszego
systemu, sprawdzamy co znajduje si w pliku /etc/mgetty+sendfax/login.config
<P>Najwaniejsza jest linia podobna do tej:
<P>
<PRE>
/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login detach kdebug 7 debug
</PRE>
<P>Pozostae moemy zaznaczy znakiem #. Wan
spraw jest take nadanie odpowiedniego suida demonowi ppp, tak aby uytkownik
pppuser mg go uruchomi oraz podnie na nim interfejs.
<P>
<HR>
<PRE>
chmod u+s /usr/sbin/pppd
</PRE>
<HR>
<P>czego efektem bdzie
<P>
<PRE>
-rwsr-xr-x 1 root root 106892 Jan 11 1999 /usr/sbin/pppd
</PRE>
<P>Od tego momentu uytkownik pppuser bdzie
mg uruchomi demona ppp. Warto dopisa
zmian preferencji pppd w cronie, u mnie po restarcie systemu dochodzio
do samoczynnej zmiany preferencji. Aby
zweryfikowa nasze dokonania dzwonimy pod numer naszego serwera. Jeeli
robimy to z Windows-o'w wywoujemy okno terminala a jeeli wykorzystujemy
do tego Linuxa to poprawiamy skrypty z ktrych korzystamy dzwonic do naszego
provaidera. Logujemy si do systemu jako pppuser z haslem mu nadanym. Mam
nadziej e wszystko jest w porzdku.
<P>
<H2><A NAME="s5">5. Teraz Linux dzwoni do mnie ...</A></H2>

<P>
<P>Moemy dodzwania si ju do naszego Linuxa.
Pora teraz na to aby on do nas zadzwoni. Nie wymaga to specjalnego ju
wysiku wystarczy wyedytowa jeden plik. Zanim jednak to zrobimy musimy
zebra numery telefonw od osb ktre maj ,a korzysta z tej usugi. Sprawdzamy
teraz czy w katalogu /etc/mgetty+sendfax znajduje si plik o nazwie callback.config.
Jeeli tam si znajduje to pozostawiamy
go w spokoju. Mona wypeni go treci ale nie ma najmniejszej potrzeby
poniewa jego pusta zawarto nie ma wpywu na funkcjonowanie callbacku.
Wane tylko aby tam by.
<P>Teraz czas na wpisanie numerw telefonw
jakie wczeniej zebralimy. Bdziemy kreowa pseudo uytkownikw powizanych
z numerami ich telefonw.
<P>W tym celu wpisujemy do pliku /etc/mgetty+sendfax/login.conf
linijk tekstu podobn do poniszej
<P>
<PRE>
call - - /usr/sbin/callback - S 123456
</PRE>
<P>gdzie <I>call</I> to pseudo uytkownik potrzebny
do zainicjowania poczenia zwrotnego, a linia
<I>/etc/mgetty+sendfax/</I> uruchamia
program ktry oddzwania pod wskazany numer (w tym przypadku jest to 123456).
Podobnie czynimy z innymi uytkownikami przypisujc pseudo uytkownikom
poszczeglne numery telefonw. Postaram si teraz wytumaczy jak ca
operacja wyglda w praktyce. Gdy dzwonimy do naszego serwera ten prosi
nas o weryfikacj. Wtedy to logujemy si jako pseudo uytkownik, w tym
przypadku call. Skrypt w naszym komputerze zawesza modem w oczekiwaniu
a poczenie zostaje przerwane. Program callbeck zaczyna dziaa i oddzwania
do nas. Weryfikujemy si powtrnie jako pppuser zestawiamy poczenie oraz
postawienie interfejsu ppp na serwerze. I to ju wszystko.
<P>Czeka nas teraz skonfigurowanie stacji roboczych
pracujcych z naszym serwerem.
<P>W przypadku Windows operacja jest do
prosta. Instalujemy Dial-up dla naszego numeru dostpowego a nastpnie
we waciwociach modemu znajdujemy zakadk "Waciwoci" --> Rozszerzone
---> Ekstra gdzie wpisujemy
<P>
<PRE>
&amp;c0 s0=1
</PRE>
<P>Zamykamy okienko i dzwonimy. Logujemy si
wedug opisu powyej. Gdy chcemy zastosowa Linux-a, to musimy odwoa
si do skryptw. Trudno jest poda jaki jeden dobry skrypt dla naszego
Linuxa. Wane jest to aby mie dobrze skonfigurowane ppp w systemie (sprawd
to dzwonic jako pppuser najpierw przez skrypty).
<P>Poniej skrypty napisane przez A. Gdzia.
Najlepiej jak wsadzisz wszystko do katalogu /etc/ppp i tam bdziesz odpala
swoje skrypty. Nie musisz tego koniecznie robi tego w tym miejscu jest
to tylko moja sugestia. Dokadnie o pisaniu skryptw pod Linuxem moesz
poczyta w PPP-HOWTO.
<P>Najpierw jednak plik konfiguracyjny dla
demona ppp (przykad dla modemu na comie 2).
<P>
<PRE>
/etc/options
lock
defaultroute
noipdefault
modem
/dev/cua1
33600
crtscts
debug
passive
asyncmap 0
</PRE>
<P>I waciwe skrypty:
<P>
<UL>
<LI>Pierwszy o nazwie ppp-call

<PRE>
#!/bin/bash
teksta="Polaczenie nieudane"
tekstb="Chyba bedziesz polaczony"
# /sbin/setserial /dev/cua1 spd_vhi
killall -INT pppd 2>/dev/null
rm -f /var/lock/LCK* /var/run/ppp*.pid
(/usr/sbin/pppd -detach /dev/ttyS1 115200 \
connect "/usr/sbin/chat -v -f /etc/ppp/pppcallback" &amp;) || \
(echo $teksta; ls marsss >/dev/null; exit 1)
echo $tekstb
exit 0
</PRE>
</LI>
<LI>Drugi nazwany pppcallback

<PRE>
TIMEOUT 60
ABORT 'ERROR'
ABORT 'BUSY'
ABORT 'NO ANSWER'
ABORT 'NO DIALTONE'
ABORT '\nVOICE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
'' AT&amp;FH0
'OK-+++\c-OK' 'AT&amp;C0S0=1'
TIMEOUT 75
OK ATDT5376443
CONNECT ''
ogin:-ogin: ppp_pseudouser
'\nNO CARRIER\r' ''
TIMEOUT 180
'\nRING\r' AT&amp;C1A
CONNECT ''
TIMEOUT 20
ogin:-ogin: pppuser
sword:-sword ppp
</PRE>
</LI>
</UL>
<P>Powysze dwa skrypty powinny
wystarczy dla prawidowego funkcjonowania caoci. Pozostaje teraz odpali
ppp-call :)
<P>
<H2><A NAME="s6">6. Podsumowanie.</A></H2>

<P>
<P>Jak wida konfiguracja oddzwaniania nie
jest skomplikowana i polega gwnie na prawidowym zestawieniu serwera
ppp na Linuxie. Nie znam lepszej drogi na zrobienie acces-servera. Przedstawiona
konfiguracja jest wynikiem prb i bdw, mona zrobi j cakowicie inaczej.
Dlatego proponuj przejrzenie wszelkiej dokumentacji do tego zagadnienia
to jest man pppd, NET3-HOWTO oraz PPP-HOWTO.
<P>Callback moe by przyjemn alternatyw w pracy zdalnej.
<P>Inne moje dokumenty znajdziesz
<A HREF="ftp://ftp.fizyka.umcs.lublin.pl/pub/priv/stona">ftp://ftp.fizyka.umcs.lublin.pl/pub/priv/stona</A><P>Pawe Skonecki
<P>e-mail: 
<A HREF="mailto:stona@fizyka.umcs.lublin.pl">stona@fizyka.umcs.lublin.pl</A></BODY>
</HTML>