sۆ^gͯ#<@@COaWU!?1j?1B3V_.R'RmWA)K
W dzisiejszych czasach popularnym sposobem udostepniania zasobow serwera obok polaczen TELNETowych jest polaczenie telefoniczne. Uzytkownicy dzwoniacy pod odpowiedni numer serwera moga uzyskac normalne polaczenie terminalowe (tzn. zalogowac sie i pracowac identycznie jak uzytkownicy podlaczeni do fizycznych terminali). Popularna usluga jest rowniez udostepnianie tzw. polaczen typu SLIP czy PPP - polaczen sluzacych w praktyce do przegladania WWW i korzystania z FTP. Odpowiednie ustawienie mechanizmu terminali umozliwia nam skonfigurowanie naszej maszyny do obslugi innych uzytkownikow w ten wlasnie sposob.
Jak wspomniano juz przy omawianiu rozpoczynania pracy w systemie, za rozpoczecie pracy odpowiedzialny jest proces getty. W Linuxie mozemy sie spotkac z jedna z jego trzech odmian: getty_ps, agetty albo mgetty. Proces getty przy rozpoczeciu pracy korzysta z pliku-skryptu, ktory powinien znajdowac sie w odpowiednim katalogu w zaleznosci o odmiany procesu. Zawartosc skryptu okresla szczegolowe czynnosci jakie ma podjac serwer, starajac sie umozliwic uzytkownikowi rozpoczecie pracy.
W skrypcie tym mozemy stosowac jezyk podobny do jezyka skryptow programow komunikacyjnych, np.:
CONNECT <number> - polacz sie z numerem <number>
INIT <string> - ustawienie stringu inicjujacego modem
WAITFOR <zdarzenie> - czekaj na <zdarzenie>, np. WAITFOR=RING
RINGBACK - oddzwon
TIMEOUT = n - stala okreslajaca czas na uzyskanie polaczenia
MAXRINGS = n - stala okreslajaca ilosc "dzwonkow" do odebrania
telefonu
Za uruchomienie procesow getty odpowiedzialny jest proces init. W pliku inittab, okreslajacym zadania procesu init, mozemy dopisac odpowiednia linie startujaca nasz proces, np.:
S3:456:respawn:/sbin/uugetty ttyS3 38400 vt100
// JAKO PARAMETRY PODAJEMY
// * nazwe urzadzenia (ttyS3)
// * max. predkosc transmisji (38400)
// * typ emulacji terminala (vt100)
Standardowo Linux konfiguruje przy starcie cztery porty komunikacyjne ttyS0-ttyS3, uzywajace standardowo przerwan 3 i 4. Do zmian tych ustawien, badz rozwiazywania innych problemow zwiazanych z konfiguracja modemu, sluzy program setserial - aplikacja do monitorowania i zmiany konfiguracji urzadzen podlaczanych do portow komunikacyjnych (COM ports). Chodzi tu glownie o adresy portow, wybor przerwan przypisanych do portow, etc. Najnowsza wersje 2.10 mozna znalezc na Linux FTP sites.
W przypadku, gdy proces "getty" uzyska polaczenie telefoniczne z uzytkownikiem, urzadzeniem przypisanym do terminala staje sie modem. Jego unikatowy numer zostaje przypisany na pole device struktury tty_struct.
PPP (The Point to Point Protocol) to mechanizm sluzacy do stworzenia i utrzymywania protokolu IP i innych protokolow sieciowych pomiedzy dwoma komputerami, polaczonymi za pomoca lacza komunikacyjnego (np. polaczenia telefonicznego). Z punktu widzenia protokolow sieciowych obydwa komputery sa wtedy widziane jako polaczone siecia. Dzieki temu mozemy korzystac z roznych uslug sieciowych, takich jak WWW czy FTP. PPP jest protokolem Peer-to-peer co oznacza, ze nie ma zadnej roznicy pomiedzy polaczonymi komputerami (zamiast relacji serwer-klient mamy relacje "komputer-komputer").
Protokol PPP moze sluzyc nam glownie albo do podlaczenia sie do serwera udostepniajacego dostep do Internetu, badz tez dysponujac takim serwerem udostepniac innym uzytkownikom dostep do Internetu poprzez modem. Z punktu widzenia protokolu nie ma jednak tutaj takich pojec jak klient i serwer. Po uzyskaniu polaczeniana obydwu komputerach rozpoczecie protokolu wyglada identycznie. Uzyskanie polaczenia nastepuje, tak jak wyzej opisalem, za pomoca procesu getty.
Do stworzenia protokulu sluzy demon pppd (The Point to Point Protocol Daemon). Jako parametry musimy podac 2 numery IP (nasz i tego komputera do ktorego sie podlaczamy / ktory sie podlacza), nazwe urzadzenia do komunikacji (np. modem), predkosc komunikacji. Np.:
pppd -detach crtscts lock <local IP>:<remote IP> /dev/cua4 38400 &
Wiecej informacji mozna znalezc w artykule PPP HOWTO.