Tárcsázással az Internetre !  
    azaz PPP kapcsolat Linux alól


    A címben említett dologról eddig már több, igen jó, minden 
    részletre kiterjedő, mind angol, mind magyar nyelvű leírás 
    született. Az alábbi korántsem lesz ilyen; itt kizárólag arra 
    szorítkozunk, hogy egy kezdő a lehető legkönnyebben 
    kapcsolódhasson az Internetre friss Linux operációs rendszerével. 
    Alapul valamely újabb disztribúciót feltételezünk (amellyel 
    adott kernelben nyilván van PPP support, de a kernel fordításakor 
    ezt ki kell választani!).

    Hogy van-e a jelenlegi kernelünkben PPP támogatás, azt 
    kipróbálhatjuk a  pppd  parancs beírásával. 
    
    Ha van PPP támogatás, akkor kb. 5-6 sor zagyvaság jelenik meg 
    a képernyőn. Ha nincs, akkor kernelt kell fordítani, és ki kell
    választani a PPP támogatást (egy csomó más lehetőség mellett).
    (a kernelfordítás menetét ebben a leírásban nem tárgyaljuk).

Elöljáróban még annyit, hogy az itt leírt műveleteket egytől egyig
root-ként kell elvégezni. 
(A parancsokat csak az olvashatóság javítása érdekében írjuk beljebb.)
Azokon a helyeken, ahol 'nevem', 'jelszavam', 'gepnev' vagy 'freemail.hu'
szerepel, ott a saját adatainkat kell beírni!


Amire szükség van

   * Linux ;-)
   * A kernelben PPP támogatás 
   * PPP csomag, benne a chat nevű program


Mit kell beállítani ?

Lépjünk be a /dev könyvtárba :
    
    cd /dev
    
Ha még nem tettük volna meg, készítsünk egy linket a /dev/modem-ről 
arra a soros portra, amelyre modemünk csatlakozik.
Az első soros port a /dev/ttyS0. Tehát ha a modemünket DOS alól a 
COM2-n érjük el, akkor a következő parancsot használjuk:

    ln -sf ttyS1 /dev/modem

Ezután ha csak egyedül használjuk a gépet, a tulajdonunkba vehetjük
a most létrehozott /dev/modem -et :

    chown felhasználói_név /dev/modem
    
A szolgáltatótól remélhetőleg kaptunk legalább kettő darab 
IP címet a névszervereikhez (DNS megnevezést keressünk). 
Ha ezeket az IP cimeket nem mondta meg a szolgáltató, valahonnan
ki kell derítenünk.
Ezeket az IP címeket az /etc/resolv.conf fájlba kell beírni, 
a következőképpen (az itt használt címek freemail-es példák):

# /etc/resolv.conf
nameserver 194.38.96.80
nameserver 194.38.96.90


Az /etc/hosts fájlban legyenek benne az alábbiak:

127.0.0.1	localhost
0.0.0.0		gepnev.localhost	gepnev 


A pppd programot tegyük futtathatóvá bármely felhasználó számára :

    chmod +s /usr/sbin/pppd


Készítsünk egy szkriptet tetszőleges névvel, amely elindítja a PPP 
démont, majd tegyük futtathatóvá a  chmod +x szkript_neve  paranccsal.
Legyen ez például az /usr/local/bin/ppp-on:

#!/bin/sh
# /usr/local/bin/ppp-on
# Telefonos PPP kapcsolat felépítése az Internet szolgáltatóval
# (Freemail-es beállítások).
#
# Más szolgáltatóhoz a TELEFONszámot és a SERVER-t mindenképpen át kell
# írni. Ha a szolgáltató nem 'Username:' és 'Password:' jelsorozattal 
# kérdez, akkor a megfelelő sorokat módosítani kell.
# A LOGIN-ban és PASSWORD-ben szereplő jelsorozatokat értelemszerűen 
# a saját beállításainkkal kell helyettesíteni.

TELEFON=06-51-201-201	# az Internet kapcsolathoz szükséges tel.szám
LOGIN=nevem@freemail.hu	# login nevem a szolgáltatónál
PASSWORD=jelszavam	# jelszó a szolgáltatónál
LOCAL_IP=0.0.0.0	# helyi IP cím. Dinamikusan = 0.0.0.0
REMOTE_IP=0.0.0.0	# tavoli IP cím. Általában 0.0.0.0
NETMASK=255.255.0.0	# a megfelelő 'netmask', ha kell
SERVER=freemail.hu
MODEM=/dev/modem	# kézzel létesítendő szimbolikus link a 
			# megfelelő ttyS-re
SPEED=115200		# az elérhető adatátviteli sebesség
PPP=/usr/sbin/pppd	# 'pppd' program helye
CHAT=/usr/sbin/chat	# 'chat' program helye

 tail -f --lines 0 /var/log/messages &	# rendszerüzenetek figyelése

echo "/usr/local/bin/ppp-on: PPP indítása..."
$PPP $MODEM $SPEED	\
connect "$CHAT -v		\
    ''		\ATZ		\
    TIMEOUT	90		\
    OK		ATDT$TELEFON	\
    CONNECT	''		\
    ABORT	BUSY		\
    ABORT	'NO CARRIER'	\
    sername:	$LOGIN		\
    assword:	$PASSWORD"	\
    lcp-max-configure 30 noipdefault modem lock crtscts defaultroute 
    asyncmap 0

# ppp-on szkript vége

(az 'asyncmap 0' még az utolsó hosszú sorhoz tartozik)

A beállításunk szerint a PPP a /dev/modem-en keresztül fog 
kommunikálni, 115200 bps sebességgel (ez a beállítás 28.8 kbps 
modemet feltételez). 
A kapcsolat létrehozásához a chat programot használjuk, amely 
először inicializálja a modemet, beállítja a time-out értékét, 
aminek letelte után megszakad a folyamat, ha nem jön össze addig
a kapcsolat. 
Ezután tárcsáz, megvárja a kapcsolódást, a szerver login promptját, 
ekkor elküldi a login nevet és a jelszót. 
A pppd opcióit most nem részletezzük, lényeg az, hogy a magyar 
szolgáltatókkal működnek...

Ha a kapcsolat azért nem sikerül, mert a szolgáltató vonala foglalt 
(BUSY), vagy esetleg nálunk nincs telefon-tárcsahang (NO CARRIER), 
akkor a tárcsázási folyamat megszakad. Ilyenkor érdemes  
Ctrl-C-vel kilépni a tárcsázó szkriptből, és egy ppp-off 
szkripttel kézzel kilőni a tail programot, különben a tail több 
példányban fog futni és az zavaró.

A ppp-off (vagy egyszerűen csak 'poff') tartalma a következő lehet :

    killall pppd
    killall tail

Ahhoz, hogy a pppd elinduljon, léteznie kell az  /etc/ppp/options  nevű
fájlnak. Esetünkben ez akár üres is lehet, de mindenképpen legyen 
meg. Amennyiben nem létezik, hozzuk létre a  touch /etc/ppp/options 
paranccsal.


Ha a szolgáltató PAP azonosítást használ

(ezt a /var/log/ppp.log fájlból is megtudhatjuk, ha a fájl vége felé
az első 'rcvd' sorban az 'auth pap' szöveg szerepel)

Ekkor az etc/ppp/options fájlban szerepelnie kell egy 

  name nevem@freemail.hu

sornak (más szolgáltatónál: name login_nev), valamint szükséges 
az  /etc/ppp/pap-secrets  fájlban is egy sor:

  nevem@freemail.hu  *  jelszavam 

(más szolgáltatóknál elég lehet a  nevem * jelszavam  sor).


A kapcsolat tesztelése

Indítsuk el a fenti szkriptet a következőképpen:

    ppp-on

Majd figyeljük meg a kiírásokat a képernyőn.

Amint megjelenik a kiosztott IP címünk, használhatjuk a hálózati
alkalmazásokat. Ellenkező esetben figyeljük meg a pppd vagy a chat 
által jelzett hibát. Ha minden rendben működik, akkor a 'ppp-on' 
szkriptben megszüntethetjük a chat '-v' opcióját, így jelszavunk 
nem kerül be minden alkalommal a syslog fájlba.

Ha nem jön össze a kapcsolat egyből (ez gyakori eset :-),
tanulmányozzuk a  /var/log/ppp.log  fájlt, ebben megtaláljuk azokat
az üzeneteket, amiket a 'chat' és a 'pppd' program vált az ISP-vel.

Továbbá olvasgathatjuk az /usr/doc/HOWTO/ könyvtárban általában 
megtalálható NET-3-HOWTO, PPP-HOWTO  fájlokat, amikben a PPP
beállításával kapcsolatban további információkat találhatunk.

Amennyiben valakinek a fenti leíráshoz hozzáfűznivalója, megjegyzése 
lenne, esetleg valami miatt nem boldogul a dologgal, ne fogja vissza 
magát és keressen meg bennünket az alábbi címeken.
 ------------------------------------------------------------------------
Készítette    : Nagy András   nagya@telnet.hu
Kiegészítette : Gyulai Mihály gyulai@my-deja.com
 ------------------------------------------------------------------------
Utolsó módosítás : 2000-05-20