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.
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ó.
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 ifaddrx.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
beállítással tudjuk majd
beindítani a kapcsolatot.szolgáltató
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
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 authnameAFelhasználóiNevem
14 set authkeyAJelszavam
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=
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 arendszerem
Ez 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):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.