27.4. PPP kapcsolatok hibaelhárítása
Vissza | 27. fejezet - A PPP és a SLIP | Előre

## 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(R) 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.

Vissza | Fel | Előre
27.3. A rendszerszintű PPP alkalmazása | Főoldal | 27.5. A PPP használata Ethernet felett (PPPoE)

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>.