Następna strona Poprzednia strona Spis treści

4. Zadzwoń do Linuxa.

Pierwszym krokiem w udostępnieniu usługi callback na Linuxe jest ustawienie odpowiednich parametrów w jądrze systemu. W tym celu musimy sprawdzić czy nasze jądro systemu obsługuje protokół ppp. Jeżeli tak nie jest to powinno się w kompilować go w jądro systemu albo pozostawić jako moduł do ładowania. Nie jest to miejsce na przedstawiane tego problemu. Dlatego też proszę zapoznać się z Kernel-HOWTO.

Jeżeli już mamy odpowiednio przygotowane jądro czas zabrać się za konfigurację oprogramowania. W tym celu winniśmy zainstalować na naszym serwerze pakiet o nazwie mgetty-sendfax, ponieważ on zawiera w sobie program do oddzwaniania. Nie jest to jego jedyna możliwość, może także wysyłać fax-y oraz pracować jako access-server.

Tu warto wspomnieć o pracy callback-u. Kiedy inicjujemy połączenie z serwerem następuje pierwotna weryfikacja użytkownika. Poproszony jest on o wpisanie hasła a kiedy to uczyni następuje "zawieszenie" modemu po stronie dzwoniącego a serwer oddzwania pod wskazany numer związany z użytkownikiem. Jeżeli nastąpi połączenie następuje drugi monit o username oraz hasło. Jeżeliwszystko pójdzie dobrze to połączenie zostaje zestawione pomiędzy komputerem lokalnym i zdalnym (user uruchomi protokół ppp po stronie serwera).

Tak więc cała operacja składa się z dwóch elementów. Mamy więc do czynienia z dwoma rodzajami użytkowników: pierwszy to użytkownik do callbacku a drugi to ten kóry ma uruchomić protokół ppp po stronie serwera.

Najpierw zajmijmy się drugim z nich. Zakładamy konto o dowolnym username testowo niech to będzie user pppuser.

pppuser:klkIOM89mn65H:230:PPP Dialin:/home/pppuser:/etc/ppp/ppplogin

Następnie zmieniamy mu hasło. Jak można zauważyć nie ma on normalnego shall-a do logowania ale pliczek w /etc/ppp/ppplogin. Musimy go własnoręcznie przygotować.

Przechodzimy do tego katalogu i przy pomocy jakiegokolwiek edytora tworzymy plik i wprowadzamy odpowiednie parametry np.: vi ppplogin. Wewnątrz niego wpisujemy.

#!/bin/sh
exec /usr/sbin/pppd -detach 192.168.1.1:192.168.1.2

gdzie adres 192.168.1.1 to adres serwera w którym jest modem a adres 192.168.1.2 to adres jaki przypisaliśmy naszemu modemowi. Pamiętajmy nadać temu plikowi prawo wykonywania.

Ponieważ ppp domyślnie sprawdza co znajduje się w pliku /etc/ppp/options musimy go stworzyć aby wpisać odpowiednie wartości.

Podobnie jak w powyższym przypadku tworzymy plik przy pomocy dowolnego edytora i wpisujemy odpowiednio:

netmask 255.255.255.0
proxyarp
lock
crtscts
modem

Najważniejsza z powyższych opcji jest proxyarp, umożliwia on wyjście na świat poprzez modem w serwerze. Jej brak może być korzystny jeżeli nie chcemy aby nasi pracownicy używali Internetu a jedynie sieci lokalnej. Pozostałe z nich oprócz netmask (tego nie trzeba tłumaczyć), dotyczą kontroli modemu.

Teraz przechodzimy do konfiguracji modemu w systemie w taki sposób aby zaraz po jego starcie był gotowy do pracy czyli odbierania połączeń.

Uruchamiamy dowolny edytor a w nim plik /etc/inittab gdzie dopisujemy poniższą linę.

s1:2345:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1 vt100

jest ona prawidłowa dla modemów które znajdują się na com2, jeżeli jest inaczej poprawiamy ją. Np dla com-a 1 wyglądać powinna

s0:2345:respawn:/sbin/mgetty ttyS0 -D /dev/ttyS0 vt100

Wykonujemy teraz polecenie init q i jeżeli nie mamy informacji o błędach w logach sytemu przechodzimy do następnego etapu.

Wracamy do katalogu /etc/ppp gdzie tworzymy plik options.ttyS1 (jeżeli mamy modem na com 1 options.ttyS0) a w nim wpisujemy adesy IP.

IP_localne:IP_dla_modemu_zdalnego

dla naszej sieci będzie to 192.168.1.1:192.168.1.2

Mamy już wiele - przed zadzwonieniem do naszego systemu, sprawdzamy co znajduje się w pliku /etc/mgetty+sendfax/login.config

Najważniejsza jest linia podobna do tej:

/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login detach kdebug 7 debug

Pozostałe możemy zaznaczyć znakiem #. Ważną sprawą jest także nadanie odpowiedniego suida demonowi ppp, tak aby użytkownik pppuser mógł go uruchomić oraz podnieść na nim interfejs.


chmod u+s /usr/sbin/pppd

czego efektem będzie

-rwsr-xr-x 1 root root 106892 Jan 11 1999 /usr/sbin/pppd

Od tego momentu użytkownik pppuser będzie mógł uruchomić demona ppp. Warto dopisać zmianę preferencji pppd w cronie, u mnie po restarcie systemu dochodziło do samoczynnej zmiany preferencji. Aby zweryfikować nasze dokonania dzwonimy pod numer naszego serwera. Jeżeli robimy to z Windows-o'w wywołujemy okno terminala a jeżeli wykorzystujemy do tego Linuxa to poprawiamy skrypty z których korzystamy dzwoniąc do naszego provaidera. Logujemy się do systemu jako pppuser z haslem mu nadanym. Mam nadzieję że wszystko jest w porządku.


Następna strona Poprzednia strona Spis treści