27.4. PPP kapcsolatok hibaelhárítása

Készítette: Rhodes, Tom.

Figyelem:

A FreeBSD 8.0 kiadásától kezdődően a sio(4) meghajtó szerepét a uart(4) veszi át. Emiatt a soros vonali eszközöket /dev/cuadN és /dev/cuauN helyett /dev/ttydN és /dev/ttyuN néven lehet elérni. A FreeBSD 7.X változatok felhasználóinak ennek megfelelően kell olvasniuk ezt a leírást.

Ebben a szakaszban összefoglalunk néhány olyan problémát, ami a PPP modemen keresztüli használata során keletkezhet. Például pontosan tisztában kell lennünk azzal, hogy a tárcsázott rendszer milyen adatokat és hogyan fog tőlünk bekérni. Egyes szolgáltatók egy ssword promptot, míg mások egy password promptot adnak. Ha a ppp szkript nem illeszkedik ezekhez az elvárásokhoz, akkor nem tudunk bejelentkezni. A ppp csatlakozások nyomonkövetésének egyik leggyakoribb módja a manuális kapcsolódás. A következőkben ezért a manuális csatlakozásokra vonatkozó legszükségesebb ismereteket mutatjuk be lépésről lépésre.

27.4.1. Az eszközleírók ellenőrzése

Ha saját rendszermagot használunk, ne felejtsük el felvenni a következő sort a konfigurációs állományba:

device   uart

A GENERIC rendszermag az uart eszközt már alapértelmezés szerint tartalmazza, ezért ilyenkor már nincs több teendőnk. Egyszerűen csak a dmesg parancs kimenetében keressük meg a modemes eszközhöz tartozó adatokat:

# dmesg | grep uart

Ennek eredményeképpen kapunk egy rövid összefoglalást a uart típusú eszközökről. Ezek lesznek a számunkra fontos COM portok. Amennyiben a modemünk egy szabványos soros portként működik, akkor a uart1 vagy COM2 néven kell keresnünk. Ha megtaláltuk, akkor nem kell új rendszermagot fordítanunk. Amikor a soros vonali modemünk a uart1 vagy COM2 porton csatlakozik DOS-ban, akkor itt a neki megfelelő eszköz a /dev/cuau1 lesz.

27.4.2. Kapcsolódás manuálisan

A ppp kézi irányításával gyorsan, egyszerűen és minden fájdalomtól mentesen tudunk csatlakozni az internethez, de olyankor is hasznos, ha ki akarjuk deríteni, hogy az internet-szolgáltatónk milyen módon kezeli a kliensek ppp csatlakozásait. Nos, akkor ehhez indítsuk is el a PPP alkalmazást a paranccsorból. Az alábbi példákban rendre a pelda névvel hivatkozunk a PPP-t működtető gépre. A ppp tehát a ppp parancs begépelésével indítható:

# ppp

Ezzel elindítottuk a ppp programot.

ppp ON pelda> set device /dev/cuau1

Beállítjuk a modemünket, ami ebben az esetben a cuau1.

ppp ON pelda> set speed 115200

Beállítjuk a csatlakozás sebességét, ami ebben az esetben 115 200 kbit/mp.

ppp ON pelda> enable dns

Azt mondjuk a ppp programnak, hogy állítsa be a névfeloldót és az /etc/resolv.conf állományt egészítse ki a megfelelő névszerverekkel. Ha a ppp nem képes megállapítani a gépünk nevét, akkor később ezt még kézzel is be tudjuk állítani.

ppp ON pelda> term

Váltsunk terminál módba, így mi irányítjuk a modemet.

deflink: Entering terminal mode on /dev/cuau1
type '~h' for help
at
OK
atdt123456789

Az at paranccsal hozzuk alaphelyzetbe a modemet, majd a atdt paranccsal és egy telefonszám megadásával megkezdjük a szolgáltató tárcsázását.

CONNECT

Ezzel jelez vissza a kapcsolódás megkezdéséről. Ha itt bármilyen hardvertől független csatlakozási probléma merülne fel, akkor ezen a ponton tudunk ellene tenni valamit.

ISP Login:felhasznalonev

Itt kell megadnunk a felhasználói nevünket, ami megegyezik a szolgáltató által adott azonosítónkkal.

ISP Pass:jelszo

Ezúttal a jelszavunkat kell megadni, amit szintén a szolgáltató bocsátott rendelkezésünkre az azonosító mellett. Akárcsak amikor bejelentkezünk a FreeBSD-be, itt sem fog látszódni a jelszavunk.

Shell or PPP:ppp

Szolgáltatótól függően előfordulhat, hogy ez a sor soha nem is jelenik meg. Itt kérdezik meg, hogy a szolgáltatónál egy shellt akarunk használni, vagy csak elindítani egy ppp kapcsolatot. Ebben a példában természetesen a ppp opciót választjuk, mivel egy internet-előfizetés birtokosai vagyunk.

Ppp ON pelda>

Figyeljük meg, hogy az első p nagybetűssé vált. Ezzel jelzi a program, hogy sikeresen csatlakoztunk a szolgáltatónkhoz.

PPp ON pelda>

Sikeresen azonosítottuk magunkat a szolgáltató felé és várjuk az IP-címünket.

PPP ON pelda>

Megkaptuk az IP-címünket és ezzel sikeresen felépült a kapcsolat.

PPP ON pelda>add default HISADDR

Itt adjuk hozzá az alapértelmezett útvonalat, amire mindenképpen szükségünk van ahhoz, hogy a külvilággal is kapcsolatban tudjunk lépni, mivel jelenleg csak a vonal másik végén lévő gépet érjük el. Ha ezt bizonyos, már meglevő útvonalak miatt nem sikerül felvenni, akkor az add elé tegyünk egy ! jelet. Ezt viszont a kapcsolat felépítése előtt is megtehetjük, így menet közben az új útvonalat felveszi a többi közé.

Ha eddig minden remekül ment, akkor ezen ponton már egy élő internet-kapcsolattal rendelkezünk, és a programot a CTRL+z lenyomásával a háttérbe is tehetjük. Ha a PPP felirat ismét a ppp feliratra váltana, akkor az arra utal, hogy elvesztettük a kapcsolatot. Erre nem árt figyelni, mivel ezzel jelzi az aktuális kapcsolat állapotát. A nagybetűs P-k jelölik, hogy az adott szinten megvan a kapcsolat a szolgáltató felé, a kisbetűs p-k pedig arra utalnak, hogy azon a szinten a kapcsolat valamiért megszűnt. A ppp csak ezt a két állapotot ismeri.

27.4.2.1. Nyomkövetés

Ha közvetlen vonalunk van és mégsem sikerül kapcsolatot létesíteni, akkor tiltsuk le a hardveres CTS/RTS forgalomirányítást a set ctsrts off paranccsal. Ez leginkább akkor fordul elő, ha csatlakoztunk egy olyan terminálszerverhez, amely valamennyire képes kezelni a PPP kapcsolatokat, de a PPP megáll, mikor adatot próbál írni a kommunikációs csatornára, mivel arra a CTS (Clear To Send — lehet küldeni) jelzésre vár, amely soha nem fog megérkezni. Ha mégis ezt a beállítást akarjuk használni, akkor a set accmap beállításra is szükségünk lesz, mivel ez kell bizonyos karakterek hardverfüggő átküldésének felülbírálásához, legtöbb esetben a XON/XOFF miatt. A ppp(8) man oldalon találhatunk erről és ennek használatáról részletesebb leírást.

Ha egy régebbi gyártmányú modemünk van, akkor a set parity even beállítás alkalmazása is javasolt. Alapértelmezés szerint ugyanis nincs paritás, de a régebbi modemek és (a forgalom növekedésével) egyes szolgáltatók még használják hibaellenőrzésre. Ha Compuserve előfizetésünk van, mindenképpen kapcsoljuk be.

Amikor a PPP nem tér vissza parancs módba, akkor gyaníthatóan az egyeztetésben lesz valahol probléma, mivel a szolgáltató a kliensüktől várja a kezdeményezését. Ezen a ponton a ~p paranccsal utasíthatjuk a ppp programot a konfigurációs információk átküldésének megkezdésére.

Ha egyáltalán nem kapunk promptot a bejelentkezéshez, akkor nagy a alószínűsége, hogy az iménti UNIX® stílusú hitelesítés helyett PAP vagy CHAP protokollt kell használnunk. A PAP vagy CHAP használatához mindössze a következő beállításokat kell megadnunk PPP programnak a terminál mód aktiválása előtt:

ppp ON pelda> set authname felhasznalonev

ahol a felhasznalonev helyett a szolgáltatótól kapott azonosítót kell beírnunk.

ppp ON pelda> set authkey jelszo

ahol a jelszo helyett a szolgáltatótól kapott jelszót kell megadnunk.

Ha sikeresen csatlakoztunk, de még nem találunk semmilyen tartománynevet, akkor a ping(8) és IP-cím segítségével tudjuk megvizsgálni, hogy működőképes-e a kapcsolat. Ha 100 százalékos (100%) csomagvesztést (packet loss) tapasztalunk, akkor szinte biztos, hogy nincs meg az alapértelmezett útvonal. Nézzük meg újra, hogy az add default HISADDR beállítást megadtuk-e a kapcsolat felépítésekor. Ha viszont már el tudunk érni egy távoli IP-címet, akkor nagyon valószínű, hogy az /etc/resolv.conf állományba nem került bele a megfelelő névfeloldó címe. Az említett állománynak valahogy így kellene kinéznie:

domain minta.com
nameserver x.x.x.x
nameserver y.y.y.y

Ahol az x.x.x.x és y.y.y.y címeket a szolgáltatónk névszervereinek címével kell behelyettesíteni. Ez nem minden esetben található meg az előfizetői szerződésben, de ha felhívjuk a szolgáltatónkat, akkor minden bizonnyal elárulják ezeket a címeket.

A syslog(3) is alkalmas a PPP kapcsolatok naplózására. Ehhez csupán ennyit kell megadnunk az /etc/syslog.conf állományban:

!ppp
*.*     /var/log/ppp.log

A legtöbb esetben ez a lehetőség már eleve adott.

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <questions@FreeBSD.org>.

Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.