Figyelem: A FreeBSD 8.0 változatától kezdődően a soros portokhoz tartozó eszközök nevei /dev/cuadN helyett /dev/cuauN, illetve /dev/ttydN helyett /dev/ttyuN lettek. A FreeBSD 7.X felhasználóknak ezeknek a változásoknak megfelelően kell olvasniuk az itt szereplő dokumentációt.
A leírás feltételezi, hogy rendelkezünk a következőkkel:
Olyan internet-előfizetés, ahol PPP-n keresztül csatlakozunk
Egy modem vagy más olyan rendszerünkhöz csatlakozó eszköz, amelyen keresztül el tudjuk érni az internet-szolgáltatónkat
Az internet-előfizetés betárcsázásához szükséges telefonszámok
A bejelentkezési nevünk és jelszavunk. (Vagy a megszokott UNIX®-os felhasználói név és jelszó páros, vagy egy PAP esetleg CHAP bejelentkezési név és jelszó.)
Egy vagy több névszerver IP-címe. Ehhez az internet-szolgáltatók általában két IP-címet adnak meg. Ha egyet sem kaptunk, akkor a ppp.conf állományban erre a célra használhatjuk az enable dns parancsot, és ekkor a ppp majd automatikusan be fogja állítani nekünk a névszervereket. Ezt a lehetőséget az befolyásolja, hogy az internet-szolgáltató oldalán működő PPP implementáció támogatja-e a névfeloldás egyeztetését (DNS negotiation).
A következő információkat is megkaphatjuk az internet-előfizetésünkhöz, de nem feltétlenül szükségesek:
Az internet-szolgáltató átjárójának IP-címe. Az átjáró az a gép, amelyen keresztül a gépünk csatlakozik és számára ez lesz az alapértelmezett átjáró. Ha nem rendelkezünk ezzel az információval, akkor csak állítsunk be valamit, és majd a csatlakozáskor a szolgáltató PPP szervere felülírja a megfelelő beállításokkal.
Erre a címre a ppp HISADDR néven hivatkozik.
A használandó hálózati maszk. Amennyiben a szolgáltató ezt nem adta meg, nyugodtan használjuk erre a 255.255.255.255 értéket.
Ha a szolgáltatónk statikus IP-címet és rögzített hálózati nevet is biztosít nekünk, ezt is megadhatjuk. Minden más esetben egyszerűen csak hagyjuk, hogy a rendszer automatikusan válasszon nekünk egyet.
Ha a szükséges információknak nem vagyunk birtokában, akkor vegyük fel a kapcsolatot az internet-szolgáltatókkal.
Megjegyzés: Ebben a szakaszban a példákban szereplő konfigurációs állományok sorait számozva láthatjuk. Ezek a sorszámok a bemutatás és a tárgyalás megkönnyítése érdekében szerepelnek, és nem az eredeti állományok részei. Mindezek mellett a tabulátorok és szóközök megfelelő használata is fontos.
A ppp és a pppd (a PPP rendszerszintű megvalósítása) egyaránt az /etc/ppp könyvtárban található konfigurációs állományokat használja. A felhasználói PPP-hez ezenkívül még a /usr/share/examples/ppp/ könyvtárban vannak példák.
A ppp parancs beállítása az igényeinktől függően számos állomány módosítását igényelheti. A tartalmukat nagyban befolyásolja, hogy a szolgáltatónk részéről a címeket kiosztása statikus (vagyis egy adott címet kapunk és folyamatosan azt használjuk) esetleg dinamikus (vagyis az IP-címünk minden egyes kapcsolódáskor más és más).
Ebben az esetben az /etc/ppp/ppp.conf konfigurációs állományt kell átszerkesztenünk. Tartalma az alábbi példához hasonlítható.
Megjegyzés: A : karakterrel végződő sorok mindig az első oszlopban kezdődnek (tehát a sor elején), míg az összes többi sort tabulátorok vagy szóközök használatával bentebb kell raknunk.
1 default: 2 set log Phase Chat LCP IPCP CCP tun command 3 ident user-ppp VERSION (built COMPILATIONDATE) 4 set device /dev/cuau0 5 set speed 115200 6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ 7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" 8 set timeout 180 9 enable dns 10 11 szolgaltato: 12 set phone "(123) 456 7890" 13 set authname ize 14 set authkey mize 15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp" 16 set timeout 300 17 set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0 18 add default HISADDR
Ez azonosítja be az alapértelmezett bejegyzést. Az itt szereplő parancsok a ppp minden egyes futásakor magukból végrehajtódnak.
Beállítja a naplózás paramétereit. Amikor a beállításaink már kifogástalanul működnek, akkor ezt a sort érdemes átírni a következőre:
set log phase tun
Ezzel jelentős mértékben vissza tudjuk fogni a naplózás mértékét.
Ezzel mondjuk meg a PPP-nek, hogy a többiek felé miként azonosítsa magát. A PPP akkor azonosítja magát a társak felé, ha valamilyen gondja akad az egyeztetésekkel és a kapcsolat beállításával. Az így továbbított információk a másik oldal rendszergazdái számára nyújthatnak segítséget az ilyen jellegű problémák felderítésében.
Itt adjuk meg az eszközt, amelyre a modem csatlakozik. A COM1 neve /dev/cuau0, a COM2 neve pedig /dev/cuau1.
A csatlakozás sebességét adjuk meg. Ha a 115 200-as érték itt nem működne (ez egyébként minden újabb gyártmányú modem esetében elfogadható), akkor helyette használjuk a 38400-as beállítást.
A híváshoz használt karakterlánc. A felhasználói PPP a chat(8) programhoz hasonló “küldök-várok” típusú szerkesztést alkalmaz. A kihasználható lehetőségekről a man oldalán olvashatunk részletesebben.
Az olvashatóság kedvéért a parancs a következő sorban folytatódik. A ppp.conf állományban bármelyik parancs, ahol a \ karakterrel zárjuk a sort, az ugyanígy folytatható a következőben.
A kapcsolathoz tartozó üresjárati időt állítja be. Ennek értéke alapból 180 másodperc, így ez a sor pusztán csak az érthetőséget szolgálja.
Arra utasítja a PPP-t, hogy a többiektől kérdezze le a helyi névfeloldó beállításait. Ha saját névszervert futtatunk, akkor ezt a sort tegyük inkább megjegyzésbe vagy töröljük ki.
Ez az üres sor az átláthatóság kedvéért került bele. A PPP az összes üres sort figyelmen kívül hagyja.
Itt kezdődik a “szolgaltato”
nevű szolgáltatóhoz tartozó
bejegyzés. Ezt később akár
ki is cserélhetjük az
internet-szolgáltatónk nevére,
így a load
szolgáltató
beállítással tudjuk majd
beindítani a kapcsolatot.
Beállítjuk a szolgáltatóhoz tartozó telefonszámot. A kettőspont (:) vagy a csővezeték (|) karakterekkel elválasztva több telefonszámot is meg tudunk adni. A ppp(8) oldalon olvashatunk a két elválasztó közti különbségekről. Röviden ezeket úgy foglalhatnánk össze, hogy ha váltogatni akarunk a számok között, akkor használjuk a kettőspontot. Ha mindig az elsőként megadott számot akarjuk hívni és a többit csak akkor, ha ez nem működik, akkor a csővezeték karakterre lesz szükségünk. Ahogy a példa is mutatja, az összes telefonszámot tegyük mindig idézőjelek közé.
Ha a telefonszámban egyébként is szerepelnek szóközök, akkor is idézőjelek (") közé kell tennünk. Ennek elhagyásával egy egyszerű, ámde kényes hibát ejtünk.
A felhasználói nevet és jelszót tartalmazza. Amikor egy UNIX fajtájú bejelentkezést kapunk, akkor ezekre az értékekre a set login parancsban \U és \P változókkal tudunk hivatkozni. Ha PAP vagy CHAP használatával jelentkezünk be, akkor ezek az értékek a hitelesítéskor kerülnek felhasználásra.
Ha a PAP vagy CHAP protokollok valamelyikét használjuk, akkor nem lesz szükségünk a login változóra, ezért ezt megjegyzésbe is tehetjük, vagy akár ki is törölhetjük. A PAP és CHAP hitelesítésről szóló részben olvashatjuk ennek további részleteit.
A bejelentkezéshez használt karakterlánc hasonlít a behíváshoz használt, chat-szerű felépítéssel rendelkező karakterlánchoz. A példában látható karakterlánc egy olyan szolgáltatáshoz illeszkedik, ahol a bejelentkezés valahogy így néz ki:
A Világ Legjobb Szolgáltatója login: izé password: mizé protocol: ppp
Ezt a szkriptet alakítsuk a saját igényeinkhez. Ha először próbálkozunk ilyen szkript írásával, akkor lehetőleg kapcsoljuk be a rendszerek között lezajló “beszélgetés” naplózását, hogy ellenőrizni tudjuk minden a megfelelően módon történik-e.
Beállítjuk a kapcsolathoz
tartozó alapértelmezett
időkorlátot (másodpercben). Itt a
kapcsolat automatikusan lezárul
300 másodperc tétlenséget
követően. Ha nem akarunk ilyen
korlátot szabni, akkor ezt az
értéket állítsuk
nullára vagy használjuk a
-ddial
paranccsori
kapcsolót.
A felülethez tartozó címeket
állítja be. A
x.x.x.x helyére a
szolgáltató által kiosztott
IP-címet kell beírnunk. A
y.y.y.y helyett pedig a
szolgáltató
átjárója kerül be
(lényegében az a gép, amelyhez
csatlakozunk). Amennyiben az
internet-szolgáltatónk nem adott meg
semmilyen átjárót, erre a
célra a 10.0.0.2/0 címet is
használhatjuk. Amikor “nekünk kell
kitalálnunk” ezeket a címeket,
akkor ne felejtsünk el létrehozni
hozzájuk egy bejegyzést az
/etc/ppp/ppp.linkup
állományban a PPP dinamikus
IP-címmel szakaszban szereplőek
szerint. Ha nem adjuk meg ezt a sort, akkor a
ppp parancs nem képes
-auto
módban
működni.
A szolgáltató átjárójához felvesz egy alapértelmezett útvonalat. A HISADDR kulcsszót a 17. sorban megadott átjáró címével helyettesítjük. Ezért fontos, hogy ez a 17. sor után szerepeljen, különben a HISADDR nem lesz képes inicializálódni.
Ha a ppp parancsot nem akarjuk
-auto
módban futtatni, akkor ezt
a sort a ppp.linkup
állományba is átrakhatjuk.
Ha statikus IP-címmel rendelkezünk és
a ppp -auto
módban fut, akkor a ppp.linkup
állományba egészen addig nem kell
semmit sem írnunk, amíg a csatlakozás
előtt az útválasztási
táblázatokban a megfelelő adatok
találhatóak. Olyankor is jól
jöhet, amikor a csatlakozást követően
meg akarunk hívni bizonyos programokat. Ezt majd a
sendmailes példában
fogjuk bővebben kifejteni.
Erre példákat a /usr/share/examples/ppp/ könyvtárban találhatunk.
Ha az internet-szolgáltatónktól nem kaptunk statikus IP-címet, akkor a ppp paranccsal is be tudjuk állítani a helyi és távoli címeket. Ez az IP-címek “kitalálásával” történik, valamint úgy, hogy a ppp számára a csatlakozás után lehetővé tesszük az IP konfigurációs protocol (IP Configuration Protocol, IPCP) használatát. A ppp.conf tartalma szinte teljesen megegyezik a PPP statikus IP-címmel részben szereplővel, egyetlen apró különbséggel:
17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255
Ismét szeretnénk elmondani, hogy a sorszámot ne írjuk bele, hiszen az csak hivatkozási céllal szerepel. Legalább egy szóközzel kezdjünk bentebb.
A / után megjelenő szám azoknak a biteknek a számát adja meg, amire a ppp támaszkodik. A környezetünknek jobban megfelelő IP-címeket is megadhatunk, de a fenti példa minden esetben működni fog.
Az utolsó paraméterrel
(0.0.0.0) azt mondjuk a PPP-nek,
hogy az egyeztetést ne a 10.0.0.1, hanem a 0.0.0.0 címmel kezdje
meg, amire egyes szolgáltatók
esetén szükségünk is lesz. A
set ifaddr első
paramétereként azonban soha ne adjuk meg
a 0.0.0.0 címet, mivel ezzel
a PPP -auto
módban nem tudja
beállítani a kezdeti
útvonalat.
Ha nem -auto
módban
indítjuk, akkor az
/etc/ppp/ppp.linkup
állományban meg kell adnunk még egy
bejegyzést is. A ppp.linkup
állományt a kapcsolat létrejötte
után dolgozzuk fel. Itt már a
ppp megkapta a felülethez
tartozó címeket, így az
útválasztási táblázatba
fel tudjuk venni hozzájuk a megfelelő
bejegyzéseket:
1 szolgaltato: 2 add default HISADDR
A kapcsolat felépítése során a ppp a ppp.linkup állományban a következő szabályok szerint fogja keresni a bejegyzéseket: először a ppp.conf állományban megadott címkét próbálja megtalálni. Ha ez nem sikerül, akkor az átjárónknak megfelelő bejegyzést kezdi el keresni. Ez egy négy byte-ból álló, felírásában az IP-címekhez hasonlító címke. Ha még ez a címke sem található, akkor a MYADDR bejegyzést keresi.
Ez a sor mondja meg a ppp programnak, hogy vegyen fel egy HISADDR címre vonatkozó alapértelmezett útvonalat. A HISADDR címet az IPCP által egyeztetett átjáró IP-címére cseréljük ki.
Ha erre a részletesebb példát akarunk látni, akkor a /usr/share/examples/ppp/ppp.conf.sample és /usr/share/examples/ppp/ppp.linkup.sample állományokban a pmdemand bejegyzést nézzük meg.
Amikor egy helyi hálózathoz csatlakozó gépen akarjuk a ppp programot beállítani a bejövő hívások fogadására, akkor azt is el kell döntenünk, hogy engedélyezzük-e a csomagok továbbküldését a belső hálózat felé. Amennyiben igen, akkor a becsatlakozó gépenek a belső hálózatunkon ki kell osztani egy külön címet és az /etc/ppp/ppp.conf állományban, és meg kell adnunk az enable proxy parancsot. Emellett még az /etc/rc.conf állományban se feleljtsük el megadni a következő sort:
gateway_enable="YES"
A FreeBSD beállítása betárcsázós kapcsolatokhoz nagyon jól bemutatja a betárcsázós szolgáltatások beállítását a getty(8) segítségével.
A getty helyett egyébként az mgetty, a getty egy ügyesebb változata is használható (a comms/mgetty+sendfax portból), amely kifejezetten a betárcsázós vonalakhoz készült.
A mgetty használatának többek közt az egyik előnye, hogy aktívan tartja a kapcsolatot a modemekkel, tehát hogy ha az /etc/ttys állományban letiltjuk a modemet, akkor nem is fog válaszolni a hívásokra.
Emellett az mgetty későbbi változatai (a 0.99 beta változatától kezdve) még a PPP folyamok automatikus észlelését is támogatják, ezáltal a kliensek szkriptek nélkül is képesek elérni a szerverünket.
Ha erről többet akarunk megtudni, akkor az mgetty paranccsal kapcsolatban olvassuk el Az mgetty és az AutoPPP című szakaszt.
A ppp parancsot általában root felhasználóként kell futtatni. Ha viszont a ppp parancsot tetszőleges felhasználóval akarjuk szerver módban futtatni az iméntiek szerint, akkor ahhoz fel kell vennünk az /etc/group állományban szereplő network csoportba.
Ezeken kívül még az allow paranccsal is engedélyeznünk kell konfigurációs állomány egy vagy több részének elérését is:
allow users fred mary
Ha ezt a parancsot a default bejegyzésnél adjuk meg, akkor az így megadott felhasználók mindenhez hozzá tudnak férni.
Hozzunk létre egy /etc/ppp/ppp-shell nevű állományt, amelyben a következők szerepelnek:
#!/bin/sh IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'` CALLEDAS="$IDENT" TTY=`tty` if [ x$IDENT = xdialup ]; then IDENT=`basename $TTY` fi echo "PPP for $CALLEDAS on $TTY" echo "Starting PPP for $IDENT" exec /usr/sbin/ppp -direct $IDENT
Ez a szkript legyen végrehajtható. Ezután az alábbi paranccsal ppp-dialup néven készítsünk egy szimbolikus linket erre a szkriptre:
# ln -s ppp-shell /etc/ppp/ppp-dialup
Ez a szkript lesz az összes betárcsázó felhasználónk shellje. A most következő példa az /etc/passwd állományban szereplő, pchilds nevű PPP felhasználó bejegyzését mutatja be (ne felejtsük el, hogy soha ne közvetlenül szerkesszük a jelszavakat tároló állományt, hanem a vipw(8) segítségével).
pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
Hozzunk létre egy /home/ppp nevű könyvtárat a következő bárki által olvasható 0 byte-os állományokkal:
-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
Ezek hatására az /etc/motd állomány tartalma nem jelenik meg.
Az iméntiekhez hasonló módon készítsük el a ppp-shell állományt, és mindegyik statikus IP-vel rendelkező hozzáféréshez csináljunk egy szimbolikus linket a ppp-shell szkriptre.
Például, ha három betárcsázós ügyfelünk van, fred, sam és mary, feléjük 24 bites CIDR hálózatokat közvetítünk, akkor a következőket kell begépelnünk:
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
A fentebb szereplő betárcsázós felhasználók eléréseihez tartozó shelleket állítsuk be az itt létrehozott szimbolikus linkekre (így tehát mary shellje az /etc/ppp/ppp-mary lesz).
Az /etc/ppp/ppp.conf állományban a következő sorok valamelyikének kellene szerepelnie:
default: set debug phase lcp chat set timeout 0 ttyu0: set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255 enable proxy ttyu1: set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255 enable proxy
Megjegyzés: A bentebb kezdett sorokat mi is kezdjünk bentebb.
A default: szakasz minden kapcsolat esetén betöltődik. Az /etc/ttys állományban engedélyezett mindegyik betárcsázós vonal létrehoz a fenti ttyu0: szakaszhoz hasonló bejegyzést. Minden vonal kap egy egyedi IP-címet a dinamikus felhasználók számára szánt címtartományból.
A /usr/share/examples/ppp/ppp.conf állományban szereplő tartalom mellett az összes statikus kiosztású IP-címmel rendelkező betárcsázó felhasználóhoz még hozzá kell tennünk egy szakaszt. A példánkban ezek továbbra is fred, sam és mary.
fred: set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255 sam: set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255 mary: set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255
Amennyiben szükséges, az /etc/ppp/ppp.linkup tartalmazhat további útválasztási információkat is az egyes statikus IP-címmel rendelkező felhasználókhoz. A lentebb bemutatott sor a kliens ppp összekötettésén keresztül vesz fel egy útvonalat a 203.14.101.0/24 hálózat felé.
fred: add 203.14.101.0 netmask 255.255.255.0 HISADDR sam: add 203.14.102.0 netmask 255.255.255.0 HISADDR mary: add 203.14.103.0 netmask 255.255.255.0 HISADDR
Az comms/mgetty+sendfax port alapértelmezés szerint az AUTO_PPP beállítással érkezik, amely lehetővé teszi, hogy az mgetty képessé legyen a PPP kapcsolatok LCP fázisát észlelni és magától létrehozni hozzá egy ppp shellt. Mivel az alapértelmezett név/jelszó páros azonban ilyenkor nem jelenik meg, a felhasználókat a PAP vagy a CHAP protokollon keresztül lehet hitelesíteni.
Ez a szakasz most feltételezi, hogy a sikeresen beállítottuk, lefordítottuk és telepítettük az comms/mgetty+sendfax portot.
Az /usr/local/etc/mgetty+sendfax/login.config állományban ne felejtsük ellenőrizni, hogy szerepel a következő:
/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
Ezzel utasítjuk az mgetty programot arra, hogy az észlelt PPP kapcsolatokhoz futtassa le a ppp-pap-dialup szkriptet.
Hozzunk létre az /etc/ppp/ppp-pap-dialup nevű állományt, amelyben majd a következők fognak szerepelni (az állomány legyen végrehajtható):
#!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT
Az /etc/ttys állományban engedélyezett összes betárcsázós vonalhoz készítsük el a megfelelő bejegyzést az /etc/ppp/ppp.conf állományban. Ezek remekül meg fognak férni az imént készített definíciókkal.
pap: enable pap set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy
Minden olyan felhasználónak, aki ezzel a módszerrel jelentkezik be, szüksége lesz egy név/jelszó kombinációra az /etc/ppp/ppp.secret állományban, vagy az alábbi beállítás megadásával választhatjuk azt is, hogy a felhasználókat az /etc/passwd állományon keresztül a PAP protokoll segítségével azonosítjuk.
enable passwdauth
Ha statikus IP-címet akarunk kiosztani némely felhasználóknak, akkor az /etc/ppp/ppp.secret állományban ezt megadhatjuk a harmadik paraméternek. Erről bővebben a /usr/share/examples/ppp/ppp.secret.sample állományban láthatunk példát.
A PPP úgy is beállítható, hogy kérésre DNS és NetBIOS típusú névfeloldáshoz is szolgáltasson információkat.
A PPP 1.x változatával úgy lehet engedélyezni ezeket a kiterjesztéseket, ha az /etc/ppp/ppp.conf állomány megfelelő részeibe felvesszük a következő sorokat:
enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
A PPP második és későbbi változataiban pedig:
accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
Ezzel a kliens megkapja az elsődleges és másodlagos névszerverek címeit, valamint a NetBIOS névszervert.
Ha a második és az azt követő verziókban a set dns sort elhagyjuk, akkor a PPP az /etc/resolv.conf állományban található értékeket fogja használni.
Egyes internet-szolgáltatók úgy állítják be a rendszerüket, hogy a kapcsolat felépítése során a hitelesítés a PAP vagy CHAP mechanizmusok valamelyikével történik. Ilyenkor a szolgáltató nem egy login: sorral fogja bekérni a szükséges adatokat, hanem közvetlenül a PPP kapcsolatot kezdi el használni.
A PAP nem olyan biztonságos, mint a CHAP, de itt a biztonság nem is annyira fontos, mivel a jelszavak, amelyeket ugyan a PAP titkosítatlan formában küld tovább, csak egy soros vonalon haladnak át. A rossz indulatú támadók itt nem sok mindent tudnak “lehallgatni”.
A PPP statikus IP-címmel és a PPP dinamikus IP címmel című szakaszokhoz képest a következő módosításokat kell elvégeznünk:
13 set authname AFelhasználóiNevem 14 set authkey AJelszavam 15 set login
Ebben a sorban adjuk meg a PAP/CHAP felhasználói nevünket, amelyet AFelhasználóiNevem helyett kell beírni.
Ebben a sorban adjuk meg a PAP/CHAP jelszavunkat, AJelszavam helyett. Szándénkunk egyértelműsítése érdekében ezek mellett még egy további sort is érdemes felvennünk, tehát:
16 accept PAP
vagy
16 accept CHAP
Alapértelmezés szerint a PAP és CHAP is egyaránt elfogadott.
A PAP és CHAP alkalmazásakor általában nem is kell bejelentkeznünk a szolgáltató szerverére. Ezért a “set login” parancsnál használt karakterláncot le is kell tiltanunk.
A háttérben futó ppp programhoz menet közben is tudunk beszélni, de csak olyankor, amikor az ehhez szükséges portot megadtuk. Ezt úgy tudjuk megtenni, ha beállítások közé felvesszük az alábbit:
set server /var/run/ppp-tun%d DiagnosticPassword 0177
Így a PPP az előre megadott UNIX tartománybeli socketen keresztül fogja várni a kapcsolódásunkat, és a konkrét hozzáféréshez jelszót kér. A névben szereplő %d a használatban levő tun eszköz sorszámát jelöli.
Miután a csatlakozás beállítódott, a szkriptekben a pppctl(8) program használható a futó program vezérléséhez.
A PPP képes a rendszermag rásegítése nélkül képes hálózati címfordítást végezni. Ezt a lehetőséget a következő sor hozzáadásával tudjuk aktiválni az /etc/ppp/ppp.conf állományban:
nat enable yes
A PPP-be épített hálózati címfordítás a -nat parancssori paraméterrel is bekapcsolható. Az /etc/rc.conf állományban is található hozzá egy ppp_nat változó, amely alapértelmezés szerint engedélyezett.
Amikor használjuk ezt a lehetőséget, az /etc/ppp/ppp.conf állományban a következő opciókkal engedélyezhetjük a bejövő kapcsolatok továbbítását:
nat port tcp 10.0.0.2:ftp ftp nat port tcp 10.0.0.2:http http
vagy egyáltalán ne bízzunk meg a külvilágban:
nat deny_incoming yes
Mostanra ugyan már beállítottuk a ppp programot, azonban még néhány dolgot be kell állítanunk, mielőtt ténylegesen nekilátnánk használni. Ezek mindegyike az /etc/rc.conf állomány módosítását igényli.
Az állományt fentről lefelé fogjuk feldolgozni, de előtte ne felejtsünk el értéket adni a hostname= változónak, például:
hostname="ize.minta.com"
Amennyiben a szolgáltatónk statikus IP-címet és nevet biztosít számunkra, az lesz a legjobb, ha itt a tőle kapott nevet adjuk meg.
Keressük meg a network_interfaces változót. Ha a rendszerünkben kérésre akarjuk tárcsázni a szolgáltatónkat, akkor a tun0 eszközt mindenképpen vegyük fel az értékébe, minden más esetben pedig távolítsuk el.
network_interfaces="lo0 tun0" ifconfig_tun0=
Megjegyzés: Az ifconfig_tun0 változónak üres értéket kell megadnunk, és létre kell hoznunk egy /etc/start_if.tun0 nevű állományt. Ebben a következő sornak kell szerepelnie:
ppp -auto arendszeremEz a szkript a hálózat beállításakor fut le, és a ppp démont automatikus módban indítja el. Ha az adott gép egy helyi hálózat átjárója is egyben, akkor az
-alias
kapcsolót is érdemes megadnunk mellette. A pontosabb részletek tekintetében olvassuk el a megfelelő man oldalt.
Az /etc/rc.conf állományban a NO érték megadásával tiltsuk le az útválasztást végző program használatát:
router_enable="NO"
Fontos, hogy a routed démon ne induljon el, mivel routed hajlamos törölni a ppp által létrehozott alapértelmezett útválasztási bejegyzéseket.
Ezenkívül még a
sendmail_flags
változóról szóló
sorból is érdemes kivenni a -q
opciót, máskülönben a
sendmail minden művelet
megkezdése előtt nekiáll felderíteni
a hálózatot, és ezzel megindítja a
tárcsázást. Próbáljuk meg
így átírni az
értékét:
sendmail_flags="-bd"
Ezért cserébe viszont a sendmail programot a ppp kapcsolat létrejöttekor mindig utasítanunk kell, hogy újból ellenőrizze a levelezési sort. Ezt a következők begépelésével érhetjük el:
# /usr/sbin/sendmail -q
Ugyanezt automatikusan is meg tudjuk tenni a !bg paranccsal a ppp.linkup állományban:
1 szolgaltato: 2 delete ALL 3 add 0 0 HISADDR 4 !bg sendmail -bd -q30m
Ha nem felelne meg ez a megoldás, akkor egy “dfilter” is beállítható az SMTP forgalom szűrésére. A példák között megtaláljuk ennek pontos minkéntjét.
Ezután már csak a gépünk újraindítása maradt hátra. Az újraindítás után már be is gépelhetjük:
# ppp
ahol a dial szolgaltato parancs kiadásával meg tudjuk kezdeni a PPP kapcsolat felépítését, vagy a ppp programot megkérhetjük arra, hogy automatikusan kezdje el, amint van kimenő forgalom (és nem készítettük el a start_if.tun0 szkriptet). Ekkor gépeljük be ezt:
# ppp -auto szolgaltato
Gyorsan foglaljuk össze, hogy az ppp beállításához milyen lépések megtétele szükséges az első alkalommal:
A kliens oldalán:
Győződjünk meg róla, hogy a tun eszköz benne van a rendszermagban.
Ellenőrizzük, hogy a tunN eszközhöz tartozó állomány rendelkezésre áll a /dev könyvtárban.
Hozzunk létre egy bejegyzést az /etc/ppp/ppp.conf állományban. A pmdemand példából a legtöbb szolgáltató esetében ki tudunk indulni.
Ha dinamikus IP-címet kapunk, akkor az /etc/ppp/ppp.linkup állományba is vegyünk fel egy bejegyzést.
Frissítsük az /etc/rc.conf állományunkat.
Ha igény szerint akarunk tárcsázni, akkor hozzunk létre start_if.tun0 néven egy szkriptet.
A szerver oldalán:
Gondoskodjunk róla, hogy a tun eszköz támogatása szerepel rendszermagban.
Győződjünk meg róla, hogy a tunN eszköz megtalálható a /dev könyvtárban.
Az /etc/passwd állományban (a vipw(8) program használatával) hozzunk létre bejegyzéseket.
A felhasználók könyvtáraiban hozzunk létre egy olyan profilt, amely ppp -direct direct-server vagy egy ehhez hasonló parancsot futtat le.
Az /etc/ppp/ppp.conf állományban adjuk meg egy bejegyzést. A direct-server példa ehhez egy remek alapot biztosít.
Az /etc/ppp/ppp.linkup állományban hozzunk létre egy bejegyzést.
Frissítsük az /etc/rc.conf állományunkat.
Ha kérdése van a FreeBSD-vel kapcsolatban, a következő
címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése,
kérjük erre a címre írjon: <gabor@FreeBSD.org>.