Realizácia call-back serveru

15.07.2002 20:13 | blackhole

V tomto návode budeme vychádzať zo schémy na obrázku. Na začiatok si povieme, na čo taký call-back server slúži. Potom si ukážeme, ako nakonfigurovať mgetty, callback a pppd na Linuxe, ktorý bude slúžiť ako server, a klienta pod Microsoft? Windows? 98.Call-back server sa používa vtedy, keď sa potrebujeme cez modem spojiť so vzdialeným počítačom a nechceme platiť telekomunikačným spoločnostiam za prevolané impulzy

V tomto návode budeme vychádzať zo schémy na obrázku. Na začiatok si povieme, na čo taký call-back server slúži. Potom si ukážeme, ako nakonfigurovať mgetty, callback a pppd na Linuxe, ktorý bude slúžiť ako server, a klienta pod Microsoft? Windows? 98.

###################################
# Praktické využitie call-back serveru
###################################

Call-back server sa používa vtedy, keď sa potrebujeme cez modem spojiť so vzdialeným počítačom a nechceme platiť telekomunikačným spoločnostiam za prevolané impulzy. Vtedy necháme server, aby on zavolal nám a prebral na seba povinnosť platiť za nami prevolané impulzy. Lákavá to predstava ;-).

###################################
# Konfigurácia linuxového serveru
###################################

V tomto príklade bola použitá konfigurácia pre RedHat. Pre iné distribúcie sa bude pravdepodobne líšiť len v cestách ku konfiguračným súborom. Je potrebné skontrolovať si prítomnosť mainštalovaných balíčkov s mgetty a pppd. Nachádzajú sa na inštalačných CD RedHatu.
#### Konfigurácia mgetty + callback

Mgetty sa stará o to, aby modem zdvihol linku v tom prípade, že sa nám niekto snaží dovolať. Konfiguračné súbory sa nachádzajú v adresári /etc/mgetty+sendfax.
Teraz si preberieme jednotlivé konfiguračné súbory, ktoré je treba k úspešnému nakonfigurovaniu upraviť.

## /etc/mgetty+sendfax/mgetty.config

Tu potrebujete mať napísané len tieto riadky:

debug 4
speed 115200
data-only y
rings 1

Položka debug znamená, že koľko informácií sa bude do logov zapisovať. Čím väčšie číslo použijete, tým ich bude viacej.
speed vyjadruje rýchlosť, na akú mgetty nastaví rýchlosť sériového portu. Tu občas nastávajú problémy so staršími typmi modemov. Obyčajne pomôže, keď sa rýchlosť nastaví na 38400.
data-only znamená, že sa budú vykonávať len dátové prenosy, to znamená, že modem nebude prijímať žiadne faxy.
rings označuje, po koľkých zvoneniach mgetty zdvihne linku.

## /etc/mgetty+sendfax/login.config

V tomto súbore vám stačia tieto tri riadky:

zavolajmi - - /usr/sbin/callback -S 5646846846
/AutoPPP/ - - /usr/sbin/pppd
* - - /bin/login @

Presný popis jednotlivých položiek si môžete pozrieť v manuálovej stránke mgetty. Ale filozofia je asi taká, že klient sa prihlási užívateľským menom zavolajmi. To je signál pre server, aby položil linku a zavolal na číslo 5646846846. Medzi tým klient iba čaká, kedy mu server zavolá. Keď sa tak stane, klient zodvihne linku a pokračuje v nadväzovaní spojenia. Ale nentoraz sa naprihlási ako zavolajmi, ale uvedie normálne username a password.
Potom pokračuje spojenie ako obyčajne, keď sa prihlasujete cez modem k ISP.

## callback

Aby sa callback spustil potrebuje mať vytvorený súbor callback.config v konfiguračnom adresári mgetty. Tento súbor môžete nechať prázdny. Pretože callback používa linku, ktorú obhospodaruje mgetty. Nastavenia v tomto konfiguráku sa použijú len vtedy, keď sa volá klientovi. Keď sa callback dovolá klientovi, tak sa ukončí a vtedy sa spojenia zmocní mgetty a pošle prihlasovací prompt.

Parameter -S znamená, že zavolať sa má cez tu istú linku, cez ktorú prišiel hovor od klienta.
Ak sa vynechá v parametroch callbacku telefónne číslo, na ktoré sa má zavolať, tak sa server na toto číslo opýta volajúceho klienta.
Príklad:

zavolajmi - - /usr/sbin/callback -S

## init a mgetty

Keďže sa mgetty po nadviazaní spojenia ukončuje, tak je potrebné, aby ho niekto spúšťal. Môžeme to robiť ručne, alebo si na túto robotu najmeme init. Do /etc/inittab pridajte tento riadok:

SX:2345:respawn:/sbin/mgetty ttySX -D /dev/ttySX

X je potrebné nahradiť správnym číslom portu, na ktorý je modem pripojený. Aby sa zmeny uplatnily, tak je potrebné napísať: init q.

#### Konfigurácia pppd

Ak už nám server úspešne zavolal na naše číslo, tak je potrebné nadviazať spojenie cez PPP protokol. A na túto úlohu použijeme démona pppd. Jeho konfiguračné súbory sa nachádzajú v /etc/ppp. Budeme potrebovať editovať tri súbory.

## /etc/ppp/options

Prevdepodobne vám bude stčiť, ak do tohto konfiguračného súboru napíšete nasledujúce riadky:

lock
require-pap
refuse-chap
crtscts
modem
proxyarp
ms-dns 168.192.1.1

lock - pppd vytvorí lock súbor pre modem
require-pap - bude po klientovi požadovať PAP autentifikáciu
refuse-chap - bude odmietať autentifikáciu cez CHAP
crtscts - použije sa hardwarová kontrola prenosu
modem - použijú sa modem control lines
proxyarp - povolí smerovanie do vonkajšej siete
ms-dns - povie klientovi, aké je IP DNS serveru, ktorý má používať

## /etc/ppp/options.ttySX

X je potrebné nahradiť správnym číslom portu, na ktorý je modem pripojený.

V tomto konfiguračnom súbore sa určujú IP čísla, ktoré dostane modem pripojený na server a aké IP dostane modem na strane klienta. Ak by sme sa riadili podľa schémy na obrázku, tak by sme v tomto súbore mali napísané:

192.168.10.1:192.168.1.20

## /etc/ppp/pap-secrets

Tu sa nachádza meno a heslo, ktoré bude musieť klient zadať, keď sa bude pokúšať o vytvorenie spojenia cez PPP protokol. Syntax tohoto súboru je: username, server, heslo a IP.
Za username treba napísať meno, pod ktorým sa bude klient prihlasovať. Za položku server je treba dopísať lokálne hostname, ale v pohode to funguje aj keď sa použije *. Položku heslo je potrebné uzavrieť do dvojitých úvodzoviek. IP je zoznam IP adries, ktoré sa budú klientovi priraďovať. Aj tu môžete použiť *.
Príklad:

jozko52 * \"tajNeheSlo\" *

Ak by ste chceli, aby sa username a heslá overovali pomocou passwd a shadow, tak by ste do súboru /etc/ppp/options mohli pridať položku login. Vtedy by vám stačilo, ak by ste v tomto súbore mali napísané:

* * \"\" *

Posledná vec, ktorú potrebujete mať na serveri urobenú, je zapnutie forwardovania packetov.

###################################
# Nastavenie klienta
###################################

Ako klienta použijeme obyčajné PC s modemom a nainštalovanými Windows 98. Predpoladám, že konfiguráciu modemu zvládne každý.

Je potrebné vytvoriť si položku s novým spojením. Tu vyberieme konfigurovať -> pripojenie -> spresniť. Do položky špeciálne nastavenia napíšeme: &c0s0=1

Prvý parameter hovorí, aby modem naposielal NO CARRIER vtedy, keď mu callback server položí. Druhý parameter hovorí, že modem má zodvihnúť po prvom zazvonení.

Ďalej je potrebné v konfigurovať -> možnosti zaškrknúť položku Okno terminálu zobraziť po vytočení čísla.

Potom je potrebné ešte nastaviť telefónne číslo serveru. V našom prípade je to číslo 0800123321. Nezabudnite vyplniť username (jozko52) a password (tajNeheSlo). Potom môžete začať vytáčať.

Po vytočení by sa mala zjaviť obrazovka terminálu. Je nutné počkať, až kým sa nezjaví výzva na prihlásenie. Vtedy sa prihlásite ako zavolajmi. Ak ste nenastavili čísla, na ktoré sa má zavolať, tak sa na toto číslo server opýta.

Server zloží a vy teraz budete musieť chvíľu čakať. V mojom prípade sa doba čakania pohybovala okolo 30 až 35 sekúnd. Po krátkej výmene informácií znovu nabehne požiadavka o prihlásenie sa do systému. Vtedy stlačte tlačítko Pokračovať (F7). Potom nasleduje štandardné prihlásenie do siete cez PPP protokol.

A to je asi tak všetko ;-)sumo