diff --git a/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml
index e4c4644e31..0adedcd587 100644
--- a/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml
@@ -1,7859 +1,7859 @@
Egyéb haladó hálózati
témákÁttekintésEbben a fejezetben számos komolyabb
hálózati témát fogunk
tárgyalni.A fejezet elolvasása során
megismerjük:az átjárók és az
útválasztás alapjait;hogyan állítsunk be &ieee; 802.11 és
&bluetooth; eszközöket;a &os; segítségével hogyan tudunk
két hálózatot összekötni
hálózati hidakon keresztül;hogyan indítsuk hálózatról egy
lemez nélküli gépet;hogyan állítsunk be hálózati
címfordítást;hogyan kapcsoljunk össze két
számítógépet PLIP
használatával;hogyan állítsuk be az IPv6
használatát egy &os;-s gépenhogyan állítsuk be az ATM
használatát;hogyan engedélyezzük és
használjuk a Közös címredundancia
protokollt &os;-ben.A fejezet elolvasásához ajánlott:az /etc/rc könyvtárban
található szkriptek
mûködésének ismerete;az alapvetõ hálózati fogalmak
ismerete;egy új &os; rendszermag
beállításának és
telepítésének ismerete ();a külsõ szoftverek
telepítésének ismerete ().CoranthGryphonKészítette: Átjárók és az
útválasztásútválasztásátjáróalhálózatEgy gép egy másikat úgy tud
megtalálni a hálózaton, ha erre
létezik egy olyan mechanizmus, amely leírja, hogyan
tudunk eljutni az egyiktõl a másikig. Ezt
hívjuk
útválasztásnak
(routing). Az útvonal (route) címek
egy párjaként adható meg, egy
céllal (destination) és egy
átjáróval (gateway). Ez a
páros mondja meg, hogy ha el akarjuk érni ezt a
célt, akkor ezen az
átjárón keresztül
kell továbbhaladnunk. A céloknak három
típusa lehet: egyéni gépek,
alhálózatok és az
alapértelmezett. Az
alapértelmezett útvonalat (default
route) abban az esetben alkalmazzuk, ha semelyik más
útvonal nem megfelelõ. Az alapértelmezett
útvonalakról a késõbbiekben még
beszélni fogunk. Három típusa van az
átjáróknak: egyéni gépek,
felületek (avagy linkek) és a hardveres
Ethernet címek (MAC-címek).PéldaAz útválasztás
különbözõ területeit a
következõ netstat parancs
alapján fogjuk bemutatni:&prompt.user; netstat -r
Routing tables
Destination Gateway Flags Refs Use Netif Expire
default outside-gw UGSc 37 418 ppp0
localhost localhost UH 0 181 lo0
test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
10.20.30.255 link#1 UHLW 1 2421
example.com link#1 UC 0 0
host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
host2.example.com link#1 UC 0 0
224 link#1 UC 0 0alapértelmezett
útvonalAz elsõ két sorban az alapértelmezett
útvonalat (melyrõl részleteiben majd a következõ
szakaszban fogunk szólni) és a
localhost útvonalát
láthatjuk.loopback eszközA localhost címhez az
útválasztási táblázatban a
lo0 eszköz tartozik (a
Netif oszlopban), amelyet loopback
eszköznek is neveznek. Ez arra utasítja a
rendszert, hogy az ide küldött csomagokat ne a helyi
hálózaton küldje keresztül, hanem csak
ezen a belsõ felületen, mivel úgyis oda
jutnának vissza, ahonnan indultak.EthernetMAC-címA táblázatban a következõ sor egy
0:e0 kezdetû címet
tartalmaz. Ez egy hardveres Ethernet cím, más
néven MAC-cím. A &os; magától
képes beazonosítani tetszõleges gépet
(ebben a példában a test0
gépet) a helyi Ethernetes hálózaton
és felvenni hozzá egy útvonalat,
közvetlenül az ed0 Ethernetes
csatolófelületen keresztül. Ehhez a
típusú útvonalhoz tartozik még egy
lejárati idõ is (a Expire
oszlop), amely akkor kap szerepet, ha ennyi idõ
elteltével nem kapunk semmilyen hírt a
géprõl. Amikor ilyen történik, az
géphez eddig nyilvántartott útvonal
automatikusan törlõdik. Ezek a gépek a RIP
(útvonal-információs protokoll, Routing
Information Protocol) nevû mechanizmuson keresztül
azonosítódnak, mely a legrövidebb út
kiszámítása alapján határozza
meg a helyi gépekhez vezetõ útvonalat.alhálózatA &os; a helyi alhálózat (10.20.30.255 és example.com, az
alhálózathoz tartozó név)
esetében is felvesz útvonalakat. A
link#1 megnevezés a gépben
található elsõ Ethernet-kártyát
jelöli. Megfigyelhetjük, hogy rajta kívül
nincs is több felülete.Mindegyik csoport (a helyi hálózati
gépek és a helyi alhálózatokatok)
útvonalait a routed nevû
démon tartja automatikusan karban. Ha ez nem fut, akkor
csak a statikusan definiált (vagyis az elõre
megadott) útvonalak fognak létezni.A host1 sor a saját
gépünkre vonatkozik, amelyet az Ethernet címe
szerint ismerünk. Mivel mi vagyunk küldõ
gép, a &os; tudni fogja, hogy ilyenkor az Ethernetes
felület helyett a loopback eszközt
(lo0) kell használnia.A két host2 sor arra mutat
példát, amikor az &man.ifconfig.8; paranccsal
álneveket hozunk létre (ennek konkrét okait
lásd az Ethernetrõl szóló
részben). A lo0 felület
neve után szereplõ =>
szimbólum azt jelzi, hogy ez nem csak egy loopback
felület (mivel a címe szintén a helyi
gépre mutat), hanem a felület egy másik neve.
Ilyen útvonalak csak az álneveket ismerõ
gépeknél jelennek meg. A helyi
hálózaton minden más gépnél
egyszerûen csak a link#1 jelenik meg az
ilyen útvonalak esetében.Az utolsó sor (a 224
céllal rendelkezõ alhálózat) a
multicastre (többesküldésre) szolgál,
amellyel majd egy másik szakaszban foglalkozunk.Végezetül az útvonalakhoz tartozó
különféle tulajdonságok a
Flags oszlopban láthatóak. Az
alábbi rövid táblázatban
összefoglaltunk közülük
néhányat:UUp: az útvonal aktívHHost: az útvonal egyetlen gépre
mutatGGateway: az adott cél felé ezen a
gépen keresztül küldjünk, amely
majd kitalálja, hogy merre küldje
továbbSStatic: ez az útvonal statikus, nem a
rendszer hozta létre automatikusanCClone: ebbõl az útvonalból
származtatunk új útvonalat azokhoz
a gépekhez, amelyekhez csatlakozunk. Ilyen
útvonalakat általában a helyi
hálózatokban találhatunkWWasCloned: azt jelzi, hogy ezt az útvonalat
egy helyi hálózatra mutató
(klón, avagy Clone típusú)
útvonal alapján hoztuk létre
automatikusanLLink: az útvonal Ethernetes hardverhez
kapcsolódikAlapértelmezett útvonalakalapértelmezett
útvonalAmikor a helyi rendszernek fel kell vennie a kapcsolatot egy
távoli géppel, ellenõrzi az
útválasztási táblázatban,
hogy létezik-e már hozzá valamilyen
útvonal. Ha a távoli gép egy olyan
alhálózatba esik, amelyet már el tudunk
érni (klónozott útvonalak), akkor a
rendszer megnézi, hogy a hozzátartozó
felületen képes-e kapcsolatot
létesíteni.Ha minden ismert útvonal csõdöt mond, akkor
a rendszerünknek marad még egy utolsó
esélye: az alapértelmezett
útvonal használata. Ez az útvonal egy
speciális átjáró útvonal
(ebbõl általában csak egyetlen egy
létezik a rendszerben) és tulajdonságai
között mindig szerepel a c. A
helyi hálózat gépei közül ez az
átjáró az legyen, amelyik
közvetlenül kapcsolódik a külsõ
világhoz (PPP összeköttetéssel, DSL,
kábelmodem, T1 vagy bármilyen más
hálózati felületen keresztül).Amikor pedig magát a külsõ világ
felé átjáróként
szolgáló gépet állítjuk be,
az alapértelmezett útvonal az
internet-szolgáltatónk által megadott
gép címe lesz.Vegyünk egy példát az
alapértelmezett útvonalakra. Egy tipikus
konfiguráció:
[Helyi2] <--ether--> [Helyi1] <--PPP--> [ Szolg. ] <--ether--> [T1-ÁJ]
A Helyi1 és Helyi2
gépek a hálózatunk tagjai. A
Helyi1 az internet-szolgáltatót
éri el egy betárcsázós PPP
kapcsolaton keresztül. A PPP szerver a külsõ
felületén keresztül a helyi
hálózaton pedig egy másik
átjáróhoz csatlakozik.Az egyes gépek alapértelmezett
útvonalai így alakulnak:GépAlapértelmezett
átjáróFelületHelyi2Helyi1EthernetHelyi1T1-ÁJPPPGyakran felmerül a kérdés, hogy
Miért (és hogy-hogy) a
T1-ÁJ a Helyi1
gép számára az alapértelmezett
átjáró és nem a
szolgáltató azon szervere, amelyhez
csatlakozott?Ne felejtsük el, hogy a PPP felület a
szolgáltató helyi hálózatában
a mi részünkre kap címet, és a itt az
összes többi géphez tartozó
útvonal automatikusan létrejön. Emiatt
már eleve el tudjuk érni a
T1-ÁJ gépet, ezért amikor
a szolgáltatón keresztül küldünk,
nincs szükségünk egy további
lépcsõre.Általában a X.X.X.1 címet szokták a
helyi hálózat
átjárójának kiosztani. Ezért
(az elõbbi példát
újrahasznosítva) ha a helyi
hálózatunkon a C osztályú 10.20.30 címtartományt
használjuk, és a szolgáltatónkhoz a
10.9.9 címtartomány
tartozik, akkor az alapértelmezett útvonalak a
következõk lesznek:GépAlapértelmezett útvonalHelyi2 (10.20.30.2)Helyi1 (10.20.30.1)Helyi1 (10.20.30.1, 10.9.9.30)T1-ÁJ (10.9.9.1)Az /etc/rc.conf
állományon keresztül könnyen meg tudjuk
adni az alapértelmezett útvonalat. A
példánkban a Helyi2 gép
/etc/rc.conf
állományába kell felvennünk a
következõ sort:defaultrouter="10.20.30.1"A &man.route.8; parancs használatával viszont
akár közvetlenül is megtehetjük
mindezt:&prompt.root; route add default 10.20.30.1A &man.route.8; man oldalon olvashatunk arról
bõvebben, hogy a hálózati
útválasztási táblázatokat
kézzel hogyan tudjuk módosítani.Kettõs hálózatú
gépekkettõs hálózatú
gépekEgy másik típusú
konfigurációról is szót kell
ejtenünk, ahol a gép egyszerre két
hálózatnak is tagja. Gyakorlatilag az
átjáróként üzemelõ
számítógépek (mint
például az, amelyik a fenti példában
PPP kapcsolattal csatlakozott) ilyen kettõs
hálózatú gépnek tekinthetõek.
Ez a kifejezés azonban igazából csak azokra
az esetekre illik, ahol a gép egyszerre két helyi
hálózatban is megjelenik.Az egyik esetben a gépben két Ethernet
kártya található, melyek mindegyike
birtokol egy-egy hálózati címet az egyes
alhálózatokon. De elõfordulhat az is, hogy a
gépünkben csupán egyetlen Ethernet
kártya van és az &man.ifconfig.8;
segítségével álneveket hoztunk
létre hozzá. Az elõbbi
általában két fizikailag
elkülönölõ Ethernet alapú
hálózat esetében történik,
míg az utóbbinál csak egyetlen fizikai
hálózati szegmensrõl van szó, amely
viszont logikailag két külön
alhálózatot tartalmaz.Akármelyiket is vesszük, az
útválasztási táblázatok
úgy jönnek létre, hogy bennük a
gép a másik alhálózat felé
átjáróként (bejövõ
útvonalként) lesz nyilvántartva. Ebben a
konfigurációban a gép a két
alhálózat között
útválasztóként fog
tevékenykedni, és gyakran valamelyik vagy
éppen mind a két irányba be kell
állítanunk valamilyen csomagszûrést
vagy tûzfalazást.Ha azt szeretnénk, hogy ez a gép a két
felület között továbbítson
csomagokat, akkor a &os;-ben külön engedélyezni
kell ezt a lehetõséget. A következõ
szakaszban ennek részleteit tárjuk fel.Az útválasztók
beállításaútválasztóA hálózati útválasztó nem
csinál mást, csak továbbküldi az egyik
felületén beérkezõ csomagokat egy
másik felületére. Az internetes
szabványok és a sokéves mérnöki
tapasztalat azonban nem engedik, hogy a &os; Projekt
alapértelmezés szerint is
elérhetõvé tegye ezt a &os; rendszerekben.
Ezt a lehetõséget az alábbi
változó YES
értékûre
állításával lehet
engedélyezni az &man.rc.conf.5;
állományban:gateway_enable=YES # Ez legyen YES, ha átjáróként akarunk üzemelniEzzel lényegében a
net.inet.ip.forwarding &man.sysctl.8;
változó értékét
állítjuk 1-re. Ha
valamiért egy idõre szüneteltetni akarjuk a
csomagok továbbküldését, akkor
állítsuk a változó
értékét 0-ra.BGPRIPOSPFAz új útválasztónak nem
árt arról sem tudnia, hogy merre
továbbítsa a forgalmat. Ha elég
egyszerû a hálózatunk, akkor akár
statikus útvonalakat is használhatunk. A &os;
alapból tartalmazza a BSD-k esetén
szabványos &man.routed.8; útválasztó
démont, amely a RIP (v1 és v2) valamint az IRDP
megoldásokat ismeri. A BGP v4, OSPF v2 és a
többi fejlettebb útválasztási
protokoll a net/zebra
csomagban érhetõ el. Az ettõl bonyolultabb
hálózati útválasztási
feladatokhoz olyan kereskedelmi termékek is
elérhetõek, mint például a
&gated;.AlHoangÍrta: Statikus útvonalak
beállításaManuális konfigurációTegyük fel, hogy hálózatunk a
következõ:
INTERNET
| (10.0.0.1/24) alapértelmezett átjáró internet felé
|
|az xl0 felület
|10.0.0.10/24
+------+
| | A-utvalaszto
| | (FreeBSD átjáró)
+------+
| az xl1 felület
| 192.168.1.1/24
|
+--------------------------------+
1. belsõ hálózat | 192.168.1.2/24
|
+------+
| | B-utvalaszto
| |
+------+
| 192.168.2.1/24
|
2. belsõ hálózat
Ebben a forgatókönyvben az
A-utvalaszto a mi &os;-s gépünk,
amely az internet felé vezetõ
útválasztó szerepét
játssza. Számára az
alapértelmezett útvonal a 10.0.0.1, amelyen keresztül a
külsõ világot tudja elérni.
Feltételezzük, hogy a
B-utvalaszto nevû gépet
már eleve jól állítottuk be,
ezért tudja merre kell mennie. (A kép
alapján egyszerû: csak vegyünk fel egy
alapértelmezett útvonalat a
B-utvalaszto géphez, ahol így a
192.168.1.1 lesz az
átjáró.)Ha megnézzük most az
A-utvalaszto
útválasztási
táblázatát, akkor nagyjából
a következõket fogjuk látni:&prompt.user; netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 49378 xl0
127.0.0.1 127.0.0.1 UH 0 6 lo0
10.0.0/24 link#1 UC 0 0 xl0
192.168.1/24 link#2 UC 0 0 xl1Az A-utvalaszto
útválasztási táblázata
alapján jelen helyzetben nem lehet elérni a 2.
belsõ hálózatot. Nincs ugyanis olyan
útvonal, amely a 192.168.2.0/24 alhálózat
felé vezetne. Ezt például úgy
tudjuk megoldani, ha manuálisan felvesszük ezt az
útvonalat. Az alábbi paranccsal
hozzáadjuk a 2. belsõ hálózat
elérését az A-utvalaszto
útválasztási
táblázatához, ahol a 192.168.1.2 lesz a következõ
ugrási pont (next hop):&prompt.root; route add -net 192.168.2.0/24 192.168.1.2Most már az A-utvalaszto
bármelyik gépet képes elérni a
192.168.2.0/24
hálózaton.Rögzített konfigurációA fenti példa tökéletesen
szemlélti a statikus útvonalak
felvételét egy mûködõ rendszeren.
Azonban ezzel az a gond, hogy az így megadott
útválasztási információ nem
marad meg a gép újraindítása
után. Ezért az elõbbihez hasonló
statikus útvonalakat inkább az
/etc/rc.conf állományban
rögzítsük:# A 2. belsõ hálózat elérését felvesszük statikus útvonalként
static_routes="belsohalo2"
route_belsohalo2="-net 192.168.2.0/24 192.168.1.2"A static_routes
konfigurációs változó
karakterláncok szóközzel tagolt
felsorolását tartalmazza. Mindegyik
karakterlánc egy útvonal neve. Az iménti
példában csak egyetlen ilyen név
szerepelt a static_routes
értékében, amely a
belsohalo2 volt. Utána
beírtunk még egy konfigurációs
változót is, amelynek a neve
route_belsohalo2.
Ide helyeztük a &man.route.8; parancsnak
átadandó beállítás
összes paraméterét. Ez pontosan olyan,
mintha a következõ parancsot adtuk volna ki:&prompt.root; route add -net 192.168.2.0/24 192.168.1.2Ezért kellett a "-net 192.168.2.0/24
192.168.1.2".Ahogy már korábban is
említettük, a static_routes
értékében több karakterláncot
is megadhatunk, aminek segítségével
egyszerre több statikus útvonalat is
létrehozhatunk. A következõ sorok arra
mutatnak példát, hogy a 192.168.0.0/24 és 192.168.1.0/24 hálózatok
számára miként állítsunk be
statikus útvonalakat a képzeletbeli
útválasztónkon:static_routes="net1 net2"
route_net1="-net 192.168.0.0/24 192.168.0.1"
route_net2="-net 192.168.1.0/24 192.168.1.1"Az útvonalak terjedéseútvonalterjedésAzt már tudjuk, hogyan adjuk meg a
külvilág felé vezetõ útvonalakat,
azonban arról még nem beszéltünk, hogy
kívülrõl miként találnak meg
bennünket.Annyit már megismertünk, hogy az
útválasztási táblázatokban
megadhatjuk a hálózaton azt a gépet,
amelyen keresztül az adott címtartomány (a
példában egy C osztályú
alhálózat) felé küldhetünk, amely
pedig továbbküldi a hozzá érkezõ
csomagokat.Amikor a csatlakozunk az
internet-szolgáltatónkhoz, a nála levõ
útválasztási táblázatok
úgy állítódnak be, hogy az
alhálózatunk felé igyekvõ adatok a
korábban létrejött PPP
összeköttetésen keresztül jutnak el
hozzánk. A világ többi részén
levõ rendszerek viszont honnan fogják tudni, hogy a
mi internet-szolgáltatónknak
küldjenek?Van egy rendszer (ez leginkább a névszerverek
elosztott információs adatbázisához
hasonlít), ami nyilvántartja a pillanatnyilag
kiosztott címtartományokat és megadja a
csatlakozási pontjukat az internet
gerinchálózatán. Ez a
gerinc tulajdonképpen olyan
fõvonalakból áll, amelyen keresztül a
világban az országok között mozog az
internet forgalma. A gerinchálózat mindegyik
gépe tárolja a központi
útválasztási táblázatok egy
másolatát, ami a forgalmat egy adott
hálózatról a megadott gerincbeli
hordozóra irányítja át, végig
az internet-szolgáltatók láncán
egészen addig, amíg az el nem éri a
hálózatunkat.A szolgáltatónk feladata, hogy a
gépünk felé leágazásként
(és így a felénk vezetõ
útként) beregisztálja magát a
gerinchálózat gépein. Ezt nevezik az
útvonal terjedésének.HibaelhárítástracerouteNéha gondok lehetnek az útvonal
terjedésével, és egyes gépek nem
képesek elérni minket. A &man.traceroute.8;
parancs mind közül talán az egyik leghasznosabb
ilyen helyzetekben, mivel ezzel fel tudjuk deríteni, hogy
az útválasztás hol akad meg. Ugyanilyen
jól hasznosítható azokban az esetekben,
amikor látszólag nem tudunk elérni egy
távoli gépet (tehát a &man.ping.8;
csõdöt mond).A &man.traceroute.8; parancsnak annak a távoli
gépnek a nevét kell megadnunk, amelyhez
csatlakozni akarunk. Futása közben
megjeleníti azokat az átjárókat,
amelyeken keresztül csatlakozni próbál,
akár sikerült elérni a
célgépet, akár a kapcsolat hiánya
miatt kudarcot vall.A parancs használatáról és
mûködésérõl részletesebb
információkat a &man.traceroute.8; man
oldalán találunk.Útválasztás multicast
eseténmulticast útválasztása rendszermag
beállításaiMROUTINGA &os; alapból támogatja mind a multicastet
használó alkalmazásokat, mind pedig a
multicasthez tartozó útválasztást.
Multicast esetében semmilyen speciális
beállítás nem szükségeltetik,
az ilyen alkalmazások egybõl el tudják
érni ezt a lehetõséget. A multicast
kérések
útválasztásához azonban be kell
építenünk némi
támogatást a rendszermagba:options MROUTINGEmellett még el kell indítanunk az
&man.mrouted.8; démont is, amelyhez az
/etc/mrouted.conf állományban
még be kell állítanunk tunneleket és
a DVMRP használatát. A
multicasthez tartozó további
beállításokat az &man.mrouted.8; man
oldalán találhatjuk.A &os; 7.0 megjelenésével a
&man.mrouted.8; démont kivették az
alaprendszerbõl. Azt a DVMRP
többesküldési protokollt
valósítja meg, amelyet a legtöbb
alkalmazásban mostanság már a &man.pim.4;
segítségével oldanak meg. Ennek
megfelelõen a hozzátartozó
multicast protokollt valósítja meg, amelyet a
legtöbb alkalmazásban mostanság már
a &man.pim.4; segítségével oldanak meg.
Ennek megfelelõen a hozzátartozó
&man.map-mbone.8; és &man.mrinfo.8;
segédprogramok is eltávolításra
kerültek. Ezek a programok attól a
kiadástól kezdõdõen a
Portgyûjtemény részeként
érhetõek el a net/mrouted portban.LoaderMarcFonvieilleMurrayStokelyVezeték nélküli
hálózatokvezeték nélküli
hálózatok802.11vezeték nélküli
hálózatokA vezeték nélküli
hálózatok alapjaiA legtöbb vezeték nélküli
hálózat az &ieee; 802.11 szabványon nyugszik.
Az alapvetõ vezeték nélküli
hálózatokban több olyan
állomást találhatunk, amelyek
egymással rádiójelek
szórásával kommunikálnak a
2,4 GHz vagy 5 GHz frekvenciatartományban (noha
ez a helyi viszonyoknak megfelelõen változhat,
és a 2,3 GHz, illetve a 4,9 GHz
tartományokban is lehetséges a
kommunikáció).A 802.11 szabványú hálózatok
kétféleképpen szervezõdnek.
Elõször is
infrastrukturálisan,
(infrastructural mode) ahol az egyik állomást
kinevezzük a központnak és a többi pedig
ehhez fog tartozni. Az ilyen hálózatokat BSS-nek
nevezzük és az imént említett
központ neve hozzáférési pont (Access
Point, AP) lesz. A BSS-ben az összes
kommunikáció a hozzáférési
pontokon keresztül halad még abban az esetben is,
amikor az egyik állomás egy másik
vezeték nélküli állomással
akarja felvenni a kapcsolatot. Az ilyen jellegû
hálózatok másik típusú
szervezõdési módjában nincsenek
kijelölt központok és a
kommunikáció az állomások
között közvetlenül zajlik. A
hálózat ezen formáját IBBS-nek
nevezzük, vagy ismeretebb nevén ad-hoc
hálózatnak (ad-hoc network).A 802.11 alapú hálózatok
elsõként a 2,4 GHz-es sávot
hódították meg, és az &ieee; 802.11
valamint 802.11b szabványokban rögzített
protokollokat használták. Ezekben a
specifikációkban megtalálhatjuk a
mûködési frekvenciát, a
közeghozzáférési réteg
jellemzõinek leírását,
beleértve a keretezést és az
átviteli sebességeket (a
kommunikáció ugyanis eltérõ
sebességekkel is történhet). A
késõbb kiadott 802.11a szabvány azt
specifikálja, hogy az 5 GHz-es tartományban
miként mûködjenek, ahol többek közt
megtalálhatjuk a különféle
jelkezelési mechanizmusokat és a nagyobb
átviteli sebességek használatát.
Ezt még a 802.11g szabvány követte, ami a
802.11b hálózatokkal kompatibilis módon
lehetõvé tette a 802.11a
jelkezelésének és átviteli
módszereinek használatát a 2,4 GHz-es
sávban.A 802.11 alapú hálózatok
mindenféle átviteli technikáitól
eltekintve többféle biztonsági
megoldással találkozhatunk. Az korai 802.11
dokumentumok egy nagyon egyszerû biztonsági
protokollt, a WEP-et említenek. Ez a protokoll a
hálózaton mozgó adatokat egy
rögzített és ismert osztott kulccsal
kódolja le az RC4 titkosítással. A
kommunikációhoz az összes
állomásnak elõre meg kell egyeznie ebben a
kulcsban. Errõl a sémáról
idõközben kiderült, hogy könnyen
feltörhetõ és manapság már csak
nagyon ritkán alkalmazzák, kivéve
talán csak a kóbor felhasználók
elijesztésére. A jelenleg érvényes
biztonsági elõírásokat az &ieee; 802.11i
specifikáció adja meg, amely új
kriptográfiai titkosításokat
definiál valamint egy további protokollt az
állomások azonosítására
és a kulcsok cseréjére. Emellett a
titkosításhoz használt kulcsok
idõszakosan frissülnek és külön
eszközök állnak rendelkezésre a
betörési kísérletek
észlelésére (és azok
elhárítására). A vezeték
nélküli hálózatok esetében
másik elterjedt titkosítási protokoll a
WPA. Ez igazából 802.11i elõdjének
tekinthetõ, amelyet egy ipari csoport definiált,
amíg a 802.11i minõsítés alatt
állt. A WPA ennek megfelelõen teljesíti a
802.11i szabvány elvárásainak egy
részét és kifejezetten a régi
hardverek számára készült. A WPA
mûködéséhez egyedül a TKIP
titkosításra van szükségünk,
amely az eredeti WEP titkosításból
származik. A 802.11i engedi a TKIP
használatát, de az adatok
kódolására egy erõsebb
titkosítás, az AES-CCM ismeretét is
igényli. (Az AES a WPA esetében nem kell, mivel a
régi eszközök esetében
túlságosan költségesnek
ítélték meg a
használatát.)A fenti szabványokon kívül a 802.11e a
másik fontos szabvány, amire tekintettel kell
lennünk. Ez írja le a 802.11
hálózatokon a multimédiás
alkalmazások közvetítéséhez,
mint például a videók valós
idejû lejátszásához vagy a VoIP (voice
over IP) megvalósításához
tartozó protokollokat. A 802.11i szabványhoz
hasonlóan a 802.11e is magában foglal egy
elõzetes specifikációt, amelyet WME
(késõbb pedig már WMM)-nek neveznek. Ezt
szintén egy ipari csoport definiálta a 802.11e
részeként, amivel a 802.11e végsõ
elfogadásáig tudják a
multimédiás igényeket kiszolgálni.
Amit a 802.11e és WME/WMM megoldásaival
kapcsolatban érdemes tudnunk: a QoS (Quality of Service)
protokoll és más egyéb fejlett
közeghozzáférési protokollok
segítségével a vezeték
nélküli hálózatokban
lehetõvé teszik a forgalom prioritás szerinti
ütemezését. Ezen protokollok megfelelõ
implementációjának
segítségével tehát a fontosabb
adatok nagy sebességû küldését
és áramoltatását vagyunk
képesek elérni.A &os; a 6.0 verzió óta ismeri a 802.11a,
802.11b és 802.11g szabványokon alapján
mûködõ hálózatokat. A WPA
és 802.11i biztonsági protokollok (a 11a, 11b
és 11g szabványok bármelyike esetén)
hasonlóképpen támogatottak, valamint a
WME/WMM protokollok mûködéséhez
szükséges QoS csak bizonyos vezeték
nélküli eszközök esetében.Kezdeti beállításokA rendszermag beállításaA vezeték nélküli
hálózatok használatához egy
vezeték nélküli hálózati
kártyára lesz szükségünk,
valamint a rendszermagban is be kell állítani
ehhez a megfelelõ támogatást. Ez
utóbbit több különbözõ modulra
szedték szét, és ezek közül
csak azokat kell beállítani, amelyeket
tényleg használni is fogunk.Elõször is tehát kell egy vezeték
nélküli eszköz. Az elterjedtebb
típusaik általában az Atheos által
gyártott alkatrészeket tartalmazzák. Az
ilyen fajtájú eszközöket az
&man.ath.4; meghajtó kezeli, melyet úgy tudunk a
rendszer indításakor betölteni, ha a
/boot/loader.conf
állományba felvesszük a következõ
sort:if_ath_load="YES"Az Atheos meghajtója három
különálló részre oszlik: maga a
meghajtó (&man.ath.4;), a hardveres réteg, ami a
chipfüggõ funkciókat kezeli (&man.ath.hal.4;)
és a keretek küldésével kapcsolatban
az átviteli sebesség
megválasztását lehetõvé
tevõ algoritmus (ez itt most az ath_rate_sample). Amikor
ezt a támogatást modulként
töltjük be, ezek a függõségek
automatikusan feloldódnak. Ha az Atheos
eszközök helyett valamelyik másikhoz
tartozó modult szeretnénk használni,
akkor például az Intersil Prism esetében
a &man.wi.4; meghajtót kell megadnunk:if_wi_load="YES"A leírás további részeiben
az &man.ath.4; eszközt fogjuk használni, minden
más esetben ennek a nevét kell csak
lecserélünk a példákban. A
rendszerben elérhetõ vezeték
nélküli meghajtók a &man.wlan.4; man
oldal elején találhatóak. Ha a
vezeték nélküli
eszközünkhöz nem létezik natív
&os;-s meghajtó, akkor az NDIS meghajtó
segítségével akár
közvetlenül a &windows;-os
meghajtóját is használhatjuk.Az eszközmeghajtó
beállításával együtt a 802.11
hálózatok támogatását is be
kell töltenünk a rendszermagba. Ez az &man.ath.4;
meghajtó esetében a legalább a
&man.wlan.4;, wlan_scan_ap és
wlan_scan_sta modulok
betöltését jelenti. A &man.wlan.4; modul a
vezetéknélküli eszköz
meghajtóprogramjával együtt
töltõdik be, míg a többi modult a
/boot/loader.conf állomány
használatával kell a
rendszerindítás során
betöltenünk:wlan_scan_ap_load="YES"
wlan_scan_sta_load="YES"A &os; 7.X
változataiban mind a wlan_scan_ap
és wlan_scan_sta modulokra
szükségünk van, más verziók
esetén nem kell megadnunk ezeket.Emellett még azokra a modulokra is
szükségünk van, amelyek a használni
kívánt biztonsági protokollokhoz
nyújtanak kriptográfiai
támogatást. Ezek hivatalosan a &man.wlan.4;
modul kérésére automatikusan
betöltõdnek, azonban itt most manuálisan
állítjuk be. Erre a célra a
következõ modulokat találjuk:
&man.wlan.wep.4;, &man.wlan.ccmp.4; és
&man.wlan.tkip.4;. A &man.wlan.ccmp.4; és
&man.wlan.tkip.4; meghajtók csak akkor fognak kelleni,
ha a WPA és/vagy a 802.11i biztonsági
protokollokat használjuk. Amennyiben a
hálózatunk teljesen nyitott (azaz nincs
titkosítás), akkor még a &man.wlan.wep.4;
támogatás sem kell. Ezeket a modulok úgy
lehet betölteni a
rendszerindításnál, ha felvesszük a
következõ sorokat a
/boot/loader.conf
állományba:wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"Miután ezt megcsináltuk, egyszerûen
csak indítsuk újra a gépünket. Ha
még nem akarjuk újraindítani a
gépet, akkor a &man.kldload.8; parancs
segítségével akár kézzel is
betölthetjük az elõbb felsorolt
modulokat.Ha nem akarunk modulokat használni, a
mûködéshez szükséges
meghajtókat a rendszermagba is be tudjuk
építeni a következõ sorok
megadásával a rendszermag
beállításait tartalmazó
állományban:device ath # Atheros IEEE 802.11 vezeték nélküli hálózati meghajtó
device ath_hal # az Atheros meghajtó hardveres rétege
device ath_rate_sample # SampleRate forgalomvezérlési algoritmus
device wlan # a 802.11 támogatása
options AH_SUPPORT_AR5416 # az AR5416 tx/rx leírók engedélyezése
device wlan_scan_ap # a 802.11 AP módú keresés
device wlan_scan_sta # a 802.11 STA módú keresés
device wlan_wep # 802.11 WEP támogatás
device wlan_ccmp # 802.11 CCMP támogatás
device wlan_tkip # 802.11 TKIP támogatásHozzátesszük, hogy a &os;
7.X változatában a
wlan_scan_ap és
wlan_scan_sta modulok megadása
egyaránt kötelezõ, más
verzióknál viszont nem.Az elõbbiek megadásával
fordítsuk újra és telepítsük
a rendszermagot, majd indítsuk újra a
számítógépünket.Miután a rendszerünk újra elindult, a
rendszer indítás során generált
üzenetei között találnunk kell
valamennyi információt a felismert
vezeték nélküli eszközökrõl.
Például:ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2
ath0: Ethernet address: 00:11:95:d5:43:62
ath0: mac 7.9 phy 4.5 radio 5.6Az infrastrukturális mûködési
módÁltalában az infrastrukturális avagy a
BBS mód használata a gyakori. Ebben a
mûködési módban adott
számú vezeték nélküli
hozzáférési pont csatlakozik a
hagyományos hálózatra. Mindegyik
vezeték nélküli hálózatnak
saját neve van, amit a hálózat
SSID-jének hívunk. A vezeték
nélküli kliensek ezekhez a vezeték
nélküli hozzáférési pontokhoz
kapcsolódnak.A &os;-s kliensek használataHogyan keressünk hozzáférési
pontokatA hálózatok kereséséhez az
ifconfig paranccsal tudunk nekifogni.
Egy ilyen kérés kiszolgálása
eltarthat néhány pillanatig, mivel ekkor a
rendszernek végig kell bóklásznia az
összes elérhetõ frekvenciát
és azokon hozzáférési pontok
után kutatni. Egyedül a
rendszeradminisztrátor kezdeményezheti ezeket
a kereséseket:&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
dlinkap 00:13:46:49:41:76 6 54M 29:3 100 EPS WPA WME
freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS WPACsak jelzésû
felületen tudunk hálózatokat keresni.
További keresésekre már nincs
szükség a felület
állapotban tartásához.A keresés során keletkezõ
listában láthatjuk megtalált BBS vagy
IBBS fajtájú hálózatokat. A
hálózatok neve és
SSID-ja mellett még megjelenik egy
BSSID oszlop is, ahol a
hozzáférési pontok MAC-címe
szerepel. A CAPS oszlop az egyes
állomások tulajdonságait adja
meg:EExtended Service Set (ESS): az
állomás egy infrastrukturális
vagyis BBS hálózat része.IIBSS/ad-hoc hálózat: az
állomás egy ad-hoc hálózat
része.PPrivacy: a BBS-en belül minden keretet
titkosítani kell. Tehát a BSS arra
kötelezi az állomást, hogy WEP,
TKIP vagy AES-CCMP titkosítás
használatával kódolja a
hálózat tagjai között
közlekedõ kereteket.SShort Preamble: a hálózatban
rövid bevezetõjeleket használnak (a
802.11b High Rate/DSSS PHY
elõírásai szerint), ahol a
szokványos 128 bites
szinkronizációs mezõ hossza csak
56 bit.sShort Slot Time: a 802.11g hálózat
rövid slotidõt használ, mivel nem
találhatóak benne régi (802.11b
szabványú)
állomások.A jelenleg ismert hálózatok
listáját így tudjuk
lekérdezni:&prompt.root; ifconfig ath0 list scanEzt az információt maga az adapter
automatikusan, vagy a felhasználó tudja
frissíteni a
kérés kiadásával. Az elavult
adatok maguktól törlõdnek a
gyorsítótárból, így
idõvel a lista zsugorodni fog, hacsak nem keresünk
folyamatosan hálózatokat.Alapvetõ beállításokEbben a szakaszban arra mutatunk példákat,
hogy miként tudunk &os; alatt
titkosítás nélkül használni
egy vezeték nélküli
hálózati kártyát. Miután
elsajátítottuk az itt szereplõ
ismereteket, határozottan javasoljuk, hogy a
vezeték nélküli
hálózatunkat WPA
használatával állítsuk
be.A vezeték nélküli
hálózatok beállítása
három elemi lépésbõl
épül fel: a hozzáférési
pont kiválasztása, az állomásunk
hitelesítése és az IP-cím
beállítása. A következõkben
ezeket a lépéseket vitatjuk meg.A hozzáférési pont
kiválasztásaA legtöbb esetben hagyjuk, hogy a rendszer
válassza ki magának a
különbözõ heurisztikák
alapján a leginkább megfelelõ
hozzáférési pontot. Ez az
alapértelmezett tevékenység, amikor
aktiváljuk a felületet vagy valamilyen
más módon, például
az/etc/rc.conf
állományból hivatkozunk
rá:ifconfig_ath0="DHCP"Ha viszont több hozzáférési
pont közül mi magunk akarunk kiválasztani
egyet, akkor ezt az SSID megadásával
tehetjük meg:ifconfig_ath0="ssid saját_ssid DHCP"Amikor olyan környezetben vagyunk, ahol több
hozzáférési pontnak is megegyezik az
SSID-ja (gyakran így próbálják
egyszerûsíteni azt, hogy automatikusan
váltani lehessen köztük), akkor
szükségünk lehet ezt egy adott
eszközhöz hozzárendelni. Ebben az
esetben a hozzáférési pont
BSSID-ját is definiálni kell (és az
SSID-t akár el is hagyhatjuk):ifconfig_ath0="ssid saját_ssid bssid xx:xx:xx:xx:xx:xx DHCP"Más módokon is képesek vagyunk
szabályozni a hozzáférési
pontok megválasztását,
például a rendszerünk által
vizsgált frekvenciasávok
megadásával. Ez olyankor tud hasznos lenni,
ha többsávos vezeték
nélküli kártyánk van, és
az összes tartomány
végigpásztázása
túlságosan sok idõt venne el. Ezt a
mûvelet a paraméter
megadásával lehet egy konkrét
sávra leszûkíteni,
például aifconfig_ath0="mode 11g ssid saját_ssid DHCP"beállítás hatására
a kártya 802.11g módban fog üzemelni,
ami kizárólag csak 2,4 GHz-es
frekvenciákon használható, így
az 5 GHz-es csatornákat egyszerûen
figyelmen kívül hagyjuk. Ugyanezt a
paraméterrel is meg tudjuk
oldani, mivel így a mûködést egy
adott frekvenciára korlátozzuk, valamint a
paraméterrel, ahol a
pásztázandó csatornákat
sorolhatjuk fel. Ezekrõl a
paraméterekrõl részletesebb
leírást az &man.ifconfig.8; man oldalon
találhatunk.HitelesítésMiután sikeresen kiválasztottuk a
számunkra megfelelõ
hozzáférési pontot, az adatok
küldéséhez az
állomásunknak valamilyen módon
hitelesítenie kell magát. A
hitelesítés több módon
történhet. Erre a leggyakrabban alkalmazott
sémát nyílt
hitelesítésnek (open authentication)
nevezik, ahol a hálózathoz tetszõleges
állomás csatlakozhat és
kommunikálhat vele. Ezt a típusú
hitelesítést akkor érdemes
használni, amikor a vezeték
nélküli hálózatunkat
teszteljük. Más sémákban az
adatfolyam megindításához egy
titkosítási kézfogás
szükséges, vagy elõre megosztott kulcsok
esetleg jelszavak segítségével, vagy
bonyolultabb sémák esetében itt
még olyan különbözõ
háttérszolgáltatások is
megjelennek, mint például a RADIUS. A
legtöbb felhasználó a nyílt
hitelesítést használja, ami egyben az
alapértelmezés is. A másik
legelterjedtebb beállítás a WPA-PSK,
avagy WPA Personal, amelyrõl lentebb
még szólni fogunk.Ha &apple; &airport; Extreme Base Station
típusú hozzáférési
pontunk van, akkor az osztott kulcsú
hitelesítés mellett egy WEP kulcsot is be
állítanunk. Ezt az
/etc/rc.conf
állományban vagy a &man.wpa.supplicant.8;
programban tehetjük meg. Ha egyetlen &airport;
bázisállomásunk van, akkor az
elérést valahogy így tudjuk
beállítani:ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP"Általánosságban véve
elmondhatjuk, hogy az osztott kulcsú
hitelesítést inkább
kerüljük el, mivel WEP kulcsok
használatára alapszik és
ráadásul olyan módon, hogy nagyon
könnyû feltörni. Ha már
mindenképpen a WEP mellett kell
döntenünk (például a
régebbi eszközökkel így tudunk
csak kompatibilisek maradni), akkor jobban
járunk, ha a nyílt
hitelesítéshez alkalmazzuk. A WEP
használatát érintõ
további információkat a ban
találjuk.IP-cím szerzése DHCP
használatávalMiután kiválasztottunk egy
hozzáférési pontot és
beállítottuk a hitelesítés
paramétereit, egy IP-cím is kelleni fog a
kommunikációhoz. Az esetek
túlnyomó részében DHCP-n
keresztül kapunk IP-címet a vezeték
nélküli kapcsolatunkhoz. Ezt úgy
érhetjük el, ha egyszerûen megnyitjuk az
/etc/rc.conf állományt
és az alábbihoz hasonló módon
felvesszük a DHCP
paramétert az eszközünk
beállításaihoz:ifconfig_ath0="DHCP"Így már készen is állunk a
vezeték nélküli felület
használatára:&prompt.root; /etc/rc.d/netif startAhogy a felület
mûködõképessé válik,
az ifconfig parancs
segítségével ellenõrizni is
tudjuk az ath0 felület
állapotát:&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid dlinkap channel 6 bssid 00:13:46:49:41:76
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100A status: associated azt jelenti,
hogy sikeresen csatlakoztunk egy vezeték
nélküli hálózathoz (jelen
esetben ez a dlinkap). A
bssid 00:13:46:49:41:76 rész a
hozzáférési pont
MAC-címét tartalmazza. Az
authmode pedig arról
számol be, hogy a kommunikáció nem
titkosított (OPEN).Statikus IP-címHa valami okból nem tudjuk az
IP-címünket DHCP szerveren keresztül
lekérni, beállíthatunk
rögzített IP-címet is. Ehhez nem kell
mást tennünk, mint a korábban
bemutatott DHCP kulcsszót
kicserélni egy konkrét címmel. A
hozzáférési ponthoz megadott
többi paramétert azonban
feltétlenül hagyjuk meg:ifconfig_ath0="ssid saját_ssid inet 192.168.1.100 netmask 255.255.255.0"WPAA WPA (Wi-Fi Protected Access, vagyis védett
wi-fi hozzáférés) a 802.11
szabványokban használatos biztonsági
protokoll, amelyet a WEP
gyengeségeinek és megfelelõ
hitelesítésének
ellensúlyozására dolgoztak ki. A WPA a
802.1X hitelesítési protokolljait
erõsíti és az adat
sértetlenségének
megõrzésére a WEP helyett több
titkosítási algoritmust is felhasznál.
A WPA által igényelt egyetlen
titkosítás a TKIP (Temporary Key Integrity
Protocol, vagyis az ideiglenes kulcs integritási
protokoll), amely a WEP által az integritás
ellenõrzésére és a
bejutások észlelésére és
azok reagálására szánt alap RC4
titkosítást bõvíti ki. A TKIP a
régebbi hardvereken csupán szoftveres
módosítással
mûködõképessé tehetõ. Ez
a kompromisszum a védelmet ugyan növeli, de
még mindig kevés a támadások
megfelelõ elhárításához. A
WPA a TKIP mellett tartalmazza még az AES-CCMP
titkosítást is, és ennek a
használata javasolt. Ezt a
specifikációt gyakran WPA2 (vagy RSN)
néven emlegetik.A WPA definiál hitelesítési
és titkosítási protokollokat. A
hitelesítés általában a
következõ két technika egyike
alapján történik: vagy 802.1X és
egy háttérszolgáltatás,
például a RADIUS
segítségével, vagy egy elõre
megosztott kulcsot alkalmazó minimális
kézfogással az állomás és
a hozzáférési pont között.
Az elõbbit gyakran WPA Enterprise-nak, míg az
utóbbit WPA Personalnak hívják. Mivel
a legtöbben nem állítanak be egy komplett
RADIUS alapú szervert a vezeték
nélküli hálózatukhoz, ezért
a WPA-PSK a WPA leginkább elterjedten használt
változata.A vezeték nélküli kapcsolat és
a hitelesítés (kulcs alapján vagy
szerverrel) vezérlését a
&man.wpa.supplicant.8; segédprogram végzi.
Ennek a programnak mûködéséhez egy
konfigurációs állományra van
szüksége, amely az
/etc/wpa_supplicant.conf néven
érhetõ el. Errõl az
állományról bõvebb
információt a &man.wpa.supplicant.conf.5; man
oldalán lelhetünk.WPA-PSKA WPA-PSK, más néven WPA-Personal, egy
adott jelszó alapján generált
elõre megosztott kulcssal (pre-shared key, PSK)
mûködik, amit a vezeték
nélküli hálózatokban
mesterkulcsént használnak. Ez azt jelenti,
hogy minden egyes vezeték nélküli
felhasználó ugyanazon a kulcson osztozik. A
WPA-PSK olyan kis méretû
hálózatok esetében megfelelõ,
ahol a hitelesítést elvégzõ
szerver használata nem lehetséges vagy nem
oldható meg.Mindig igyekezzünk erõs jelszavakat
használni, melyek kellõen hosszúak
és sokféle karaktert tartalmaznak,
és így nehezebben fejthetõek meg vagy
törhetõek fel.Elõször az
/etc/wpa_supplicant.conf
állományban állítsuk be az
SSID-t és a hálózatunkhoz
tartozó elõre megosztott kulcsot:network={
ssid="freebsdap"
psk="freebsdmall"
}Ezután az /etc/rc.conf
állományban jelezzük, hogy a
vezeték nélküli eszközt a WPA
segítségével állítjuk
be és az IP-címet a DHCP szervertõl
kérjük el:ifconfig_ath0="WPA DHCP"Innentõl már fel is tudjuk
éleszteni a felületet:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 192.168.0.1
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100Kézzel is megpróbálhatjuk
elindítani az elõbb
elkészített
/etc/wpa_supplicant.conf
állomány használatával:&prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
Associated with 00:11:95:c3:0d:ac
WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP]A következõ parancs a
dhclient indítása legyen,
amivel megszerezzük a DHCP szervertõl az
IP-címünket:&prompt.root; dhclient ath0
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.254 -- renewal in 300 seconds.
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100Ha az /etc/rc.conf
állományban szerepel a
ifconfig_ath0="DHCP" sor, akkor
egyáltalán nem szükséges a
dhclient parancs manuális
kiadása, mivel a dhclient
magától el fog indulni, miután a
wpa_supplicant egyeztette a
kulcsokat.Amikor a DHCP nem használható,
megadhatunk a statikus IP-címet is, miután a
wpa_supplicant sikeresen
lebonyolította a hitelesítést:&prompt.root; ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100Ha egyáltalán nem használunk DHCP
szervert, akkor nekünk kell beállítani
az alapértelmezett átjárót
és a névszervert is:&prompt.root; route add default alapértelmezett_átjáró
&prompt.root; echo "nameserver névszerver" >> /etc/resolv.confWPA és EAP-TLSA másik mód, ahogy a WPA
használható, az a 802.1X
hitelesítési szerveren keresztül
történik, és ebben az esetben a WPA
neve WPA-Enterprise. Ez sokkal biztonságosabb a
WPA-Personal elõre kiosztott kulcsaival szemben. A
WPA-Enterprise az EAP (Extensible Authentication Protocol,
azaz Bõvíthetõ hitelesítési
protokoll) használatán alapszik.Az EAP önmaga nem végez
titkosítást, mivel úgy
alakították ki, hogy magát az EAP
protokollt kell egy titkosított járaton
keresztül bújtatni. Az EAP
hitelesítési módszereinek több
típusát is kidolgozták, melyek
közül a legismertebbek az EAP-TLS, EAP-TTLS
valamint a EAP-PEAP.Az EAP-TLS (EAP szállítási
rétegbeli védelemmel) a vezeték
nélküli világban egy nagyon jól
támogatott hitelesítési protokoll,
mivel ez volt az elsõ EAP módszer, amit a
Wi-fi
szövetség jóváhagyott.
Az EAP-TLS mûködéséhez
három tanúsítvány kell: egy
hitelesítõ hatóságtól
(Certificate Authority, CA), egy a
hitelesítést végzõ
szervertõl és egy a klienstõl. Ezzel az
EAP módszerrel mind a hitelesítõ
szerver, mind a vezeték nélküli kliens
külön képviselik a saját
tanúsítványaikat, és ezeket a
szervezetünket hitelesítõ
hatóság aláírása
alapján ellenõrzik.A korábbiaknak megfelelõen a
beállításokat szintén az
/etc/wpa_supplicant.conf
állományon keresztül
végezzük el:network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TLS
identity="loader"
ca_cert="/etc/certs/cacert.pem"
client_cert="/etc/certs/clientcert.pem"
private_key="/etc/certs/clientkey.pem"
private_key_passwd="freebsdmallclient"
}Ez a mezõ adja meg a hálózat
nevét (SSID).Itt az RSN (&ieee; 802.11i), vagyis a WPA2
protokollt használjuk.A key_mgmt sor a
kulcskezelési protokollt adja meg. A mi
esetünkben ez a WPA lesz, EAP
hitelesítéssel:
WPA-EAP.Ebben a mezõben az EAP módszert
nevezzük meg a kapcsolathoz.Az identity mezõ az EAP
esetén használt azonosítót
tartalmazza.A ca_cert mezõ a
hitelesítõ hatóság
tanúsítványát
tároló állomány
elérési útvonalát adja
meg. Ezt a szerver
tanúsítványának
hitelesítéséhez
használjuk.A client_cert sor a kliens
tanúsítványát
tartalmazó állomány
elérési útvonalát adja
meg. Ennek a vezeték nélküli
hálózat minden egyes kliense
esetében egyedinek kell lennie.A private_key mezõ a
kliens tanúsítvánáynak
privát kulcsát tároló
állomány elérési
útját adja meg.A private_key_passwd mezõ
a privát kulcshoz tartozó jelmondatot
rögzíti.Az /etc/rc.conf
állományba vegyük fel a
következõ sort:ifconfig_ath0="WPA DHCP"A következõ lépés a
felület felébresztése lesz az
rc.d eszköz
segítségével:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100Természetesen, ahogy azt már az
elõbbiekben is megmutattuk, mindezt manuálisan
is el tudjuk végezni a
wpa_supplicant és az
ifconfig parancsok
segítségével.WPA és EAP-TTLSAz EAP-TLS használatakor mind a
hitelesítést végzõ szervernek
és kliensnek is kell
tanúsítvány, azonban az EAP-TTLS (
szállítási rétegbeli
védelem EAP tunnelen keresztül)
esetében a kliensnél ez elhagyható.
Ez a módszer nagyjából olyan, mint
amit a webes oldalak csinálnak, ahol a webszerverek
egy védett SSL tunnelt képeznek még
akkor is, amikor a látogatók nem
rendelkeznek kliens oldali
tanúsítvánnyal. Az EAP-TTLS egy
titkosított TLS tunnelen keresztül védi
le a hitelesítési adatok
forgalmát.Ezt ismét az
/etc/wpa_supplicant.conf
állományon keresztül tudjuk
beállítani:network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TTLS
identity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase2="auth=MD5"
}Ebben a mezõben az EAP módszert
állítjuk be a kapcsolathoz.Az identity mezõ a
titkosított TLS tunnelen keresztül az EAP
hitelesítésnél felhasznált
azonosítót adja meg.A password tartalmazza az EAP
hitelesítésnél használt
jelmondatot.A ca_cert mezõ hivatkozik
a hitelesítõ hatóság
tanúsítványát
tartalmazó állományra. Ez az
állomány kell a szerver
tanúsítványának
ellenõrzéséhez.Ebben a mezõben a titkosított TLS
tunnelben használt hitelesítési
módszer nevezzük meg. Jelen
esetünkben ez az EAP MD5-Challenge
használatával. A belsõ
hitelesítés
fázisát gyakran csak
phase2-nak (2. fázisnak)
hívják.Mindezek mellett még a következõ sort
is vegyük fel az /etc/rc.conf
állományba:ifconfig_ath0="WPA DHCP"Ezután hozzuk mûködésbe a
felületet:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100WPA és EAP-PEAPA PEAP (Védett EAP) az EAP-TTLS egyik
alternatívájaként jött
létre. A PEAP módszernek két
változata van, melyek közül a
leggyakoribb a PEAPv0/EAP-MSCHAPv2. A
leírás további részében
a PEAP elnevezéssel erre az EAP módszerre
fogunk hivatkozni. A PEAP az EAP-TLS után a
leginkább alkalmazott szabvány, más
szóval, ha a hálózatunkban
többféle operációs rendszer is
megtalálható, akkor az EAP-TLS után
valószínûleg a PEAP lesz a
másik, amit mindegyik ismerni fog.A PEAP hasonló az EAP-TTLS-hez: szerver oldali
tanúsítványokkal hitelesíti a
klienseket és titkosított TLS tunnelt hoz
létre a kliens és a
hitelesítést végzõ szerver
között, amivel segíti megóvni a
hitelesítési információkat.
Biztonság szempontjából az EAP-TTLS
és a PEAP között az a
különbség, hogy a PEAP
hitelesítés a felhasználói
nevet titkosítatlanul küldi és csak a
jelszó megy át a titkosított TLS
tunnelen. Az EAP-TTLS egyaránt a TLS tunnelt
használja mind a felhasználói
név, mind a jelszó esetében.Az EAP-PEAP beállításait az
/etc/wpa_supplicant.conf
állományba kell felvenni:network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=PEAP
identity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}Ebben a mezõben megadjuk, az EAP
módszert használjuk a
kapcsolathoz.Az identity mezõ az EAP
hitelesítés során a
titkosított TLS tunnelben
átküldött azonosítót
tartalmazza.A password mezõ az EAP
hitelesítés során használt
jelmondatot definiálja.A ca_cert mezõ a
hitelesítõ hatóság
tanúsítványát
tartalmazó állomány
elérési útját adja meg.
Ez az állomány kell a szerver
tanúsítványának
ellenõrzéséhez.Ez a mezõ a hitelesítés
elsõ fázisának (vagyis a TLS
tunnel) paramétereit tartalmazza. A
hitelesítést végzõ
szervertõl függõen a
hitelesítéshez meg kell adnunk bizonyos
címkéket. A legtöbb esetben a
címke a kliens oldali EAP
titkosítás lesz, amit a
peaplabel=0
használatával állítunk be.
A részleteket a &man.wpa.supplicant.conf.5; man
oldalon olvashatjuk.Ebben a mezõben a titkosított TLS
tunnelben alkalmazott hitelesítést
protokollt nevezzük meg. A PEAP esetében
ez az auth=MSCHAPV2 lesz.A következõket kell még
hozzátennünk az
/etc/rc.conf
állományhoz:ifconfig_ath0="WPA DHCP"Ezután már mûködésbe is
hozhatjuk a felületet:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100WEPA WEP (Wired Equivalent Privacy, azaz kábellel
egyenértékû titkosság) az eredeti
802.11 szabvány része. Nincs külön
hitelesítési mechanizmusa, csupán a
hozzáférés-vezérlés egy
gyenge formájával találkozhatunk benne,
amit azonban könnyen fel lehet törni.A WEP ifconfig parancs
használatán keresztül
állítható be:&prompt.root; ifconfig ath0 ssid saját_hálózat wepmode on weptxkey 3 wepkey 3:0x3456789012 \
inet 192.168.1.100 netmask 255.255.255.0A weptxkey utal arra, hogy a
küldés során WEP kulcsot
használunk. Itt most egy harmadik kulcsot
használtunk, amelynek egyeznie kell a
hozzáférési pont
beállításaival. Ha nem tudjuk
pontosan, hogy milyen kulcsot használ a
hozzáférési pont, akkor
próbálkozzunk az 1
érték (vagyis az elsõ kulcs)
megadásával.A wepkey után
következik a kiválasztott WEP kulcs.
index:kulcs alakban kell
megadni, és ha itt nem adunk meg indexet, akkor
azzal az 1 indexû kulcsot
állítjuk be. Úgyis
fogalmazhatnánk, hogy az indexet csak olyankor
kell megadni, amikor nem az elsõ kulcsot akarjuk
használni.A 0x3456789012
értéket a
hozzáférési pontnál
beállított kulcsra kell
beállítani.Ha érdekelnek minket a további
részletek, akkor bátran lapozzuk fel az
&man.ifconfig.8; parancs man oldalát.A wpa_supplicant
segédprogramot is bevonhatjuk a vezeték
nélküli felületek WEP alapú
használatába. A fenti példát a
következõ módon tudjuk leírni az
/etc/wpa_supplicant.conf
állományban:network={
ssid="sajat_halozat"
key_mgmt=NONE
wep_key3=3456789012
wep_tx_keyidx=3
}Majd:&prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
Associated with 00:13:46:49:41:76Az ad-hoc mûködési módAz IBSS vagy más néven ad-hoc módot
pont-pont típusú kapcsolatok
kialakítására tervezték.
Például, ha az A és a
B gépek között egy ad-hoc
típusú hálózatot akarunk
létesíteni, akkor egyszerûen csak ki kell
választanunk két IP-címet és egy
SSID-t.Így állítjuk be az A
gépet:&prompt.root; ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.1 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100Az adhoc paraméterrel utalunk
arra, hogy a felület most IBSS módban
mûködik.A B gépen ezután már
képesek vagyunk észlelni az A
gépet:&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 02:11:95:c3:0d:ac 2 54M 19:3 100 ISA kimenetben szereplõ I is
megerõsíti, hogy az A gépet
ad-hoc módban érjük el. Így
már csak a B gépet kell
beállítanunk egy másik
IP-címmel:&prompt.root; ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.2 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100Most már mind az A és
mind a B készen áll az adatok
cseréjére.&os; alapú hozzáférési
pontokA &os; képes hozzáférési
pontként (Access Point, AP) is üzemelni, így
nem kell külön hardveres
hozzáférési pontot
vásárolnunk vagy ad-hoc hálózatot
használnunk. Ez különösen akkor hasznos,
amikor a &os; gépet egy másik
hálózat (például az internet)
felé állítottuk be
átjárónak.Alapvetõ beállításokMielõtt nekiállnánk a &os;-s
gépünket hozzáférési pontnak
beállítani, egy olyan rendszermagra lesz
szükségünk, amely tartalmazza a
megfelelõ vezeték nélküli
támogatást a kártyánkhoz.
Emellett az alkalmazni kívánt biztonsági
protokollok támogatását is bele kell
építenünk. Ennek részleteit
lásd a ban.Jelenleg az NDIS meghajtón keresztül
használt &windows;-os meghajtók nem teszik
lehetõvé hozzáférési pontok
kialakítását. Egyedül a
vezeték nélküli eszközök
natív &os;-s meghajtói ismerik a
hozzáférési pont módot.Ahogy betöltöttük a vezeték
nélküli hálózatok
támogatását, egybõl ellenõrizni
is tudjuk, hogy a vezeték nélküli
eszközünk használható-e
hozzáférési pontként (avagy
hostap módban):&prompt.root; ifconfig ath0 list caps
ath0=783ed0f<WEP,TKIP,AES,AES_CCM,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,TKIPMIC,WPA1,WPA2,BURST,WME>A fenti kimenetben láthatjuk a
kártyánk tulajdonságait. A
HOSTAP szó arról
tanúskodik, hogy a vezeték nélküli
kártyánk képes
hozzáférési pontként viselkedni.
Mellette még a különféle
támogatott titkosítási módszerek
is láthatóak: WEP, TKIP, WPA2 stb. Ezekbõl
az információkból tudjuk
kideríteni, hogy a hozzáférési
pontunkon milyen titkosítási protokollokat
tudunk használni.A vezeték nélküli eszközünket
most már átállíthatjuk
hozzáférési pontnak, amihez megadunk
még egy SSID-t és egy IP-címet:&prompt.root; ifconfig ath0 ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0Az ifconfig parancs ismételt
használatával le is tudjuk kérdezni az
ath0 felület
állapotát:&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 38 bmiss 7 protmode CTS burst dtimperiod 1 bintval 100A hostap paraméterbõl
kiderül, hogy a felület
hozzáférési pont módban
van.Ha az /etc/rc.conf
állományban megadjuk a következõ sort,
akkor a felület beállítása a
rendszer indításakor magától
megtörténik:ifconfig_ath0="ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0"Hitelesítés vagy titkosítás
nélküli hozzáférési
pontokHabár a hozzáférési pontok
mûködtetése nem javasolt
hitelesítés vagy titkosítás
nélkül, ebben a módban könnyen meg
tudunk gyõzõdni a hozzáférési
pontunk használhatóságáról.
Ez a típusú konfiguráció
ezenkívül még fontos szerepet
játszik a klienseken felbukkanó hibák
kiszûrésében is.Miután sikerült az elõbbiekben
bemutatottak alapján beállítani a
hozzáférési pontunkat, egy másik
vezeték nélküli géprõl
rögtön meg is kezdhetjük a
keresését:&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 ESLáthatjuk, hogy a kliens megtalálta a
hozzáférési pontot és tudunk is
rá kapcsolódni:&prompt.root; ifconfig ath0 ssid freebsdap inet 192.168.0.2 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100WPA titkosítást használó
hozzáférési pontokEbben a szakaszban a &os;-s
hozzáférési pontunkat WPA
titkosítással állítjuk be. A WPA
és a WPA alapú kliensek
beállításának részleteit a
ban
találjuk.A WPA titkosítást használó
hozzáférési pontokon a
hostapd démon foglalkozik a
kliensek hitelesítésével és a
kulcsok kezelésével.A továbbiakban az összes
beállítást egy olyan &os;-s gépen
végezzük el, amely
hozzáférési pontként
mûködik. Ahogy sikerült
beállítanunk a hozzáférési
pont módot, az /etc/rc.conf
állományban a következõ sor
segítségével könnyen meg tudjuk
oldani, hogy az hostapd
démon a rendszerrel együtt magától
elinduljon:hostapd_enable="YES"Mielõtt megpróbálnánk
beállítani a hostapd
démont, ne felejtsük el elvégezni a ban említett
alapvetõ beállításokat sem.WPA-PSKA WPA-PSK használatát olyan kis
méretû hálózatok
számára szánják, ahol egy
külön hitelesítõ szervert
alkalmazása nem lehetséges vagy nem
kívánatos.A konfiguráció az
/etc/hostapd.conf
állományon keresztül
történik:interface=ath0
debug=1
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
ssid=freebsdap
wpa=1
wpa_passphrase=freebsdmall
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP TKIP Ebben a mezõben jelöljük ki a
hozzáférési pontként
használt vezeték nélküli
felületet.Ebben a mezõben adjuk meg a
hostapd futtatása
során keletkezõ üzenetek
részletességét. A
példában szereplõ
1 érték ennek a
legkisebb szintjét jelöli.A ctrl_interface mezõ
megadja a hostapd
által használt könyvtár
elérési útvonalát, amiben
azokat a tartományokhoz tartozó socketeket
tároljuk, amelyeken keresztül olyan
programokkal tudunk kommunikálni, mint
például a &man.hostapd.cli.8;. Itt az
alapértelmezett értéket
írtuk be.A ctrl_interface_group sor
beállítja azt a csoportot (ez jelen
esetben a wheel), amin
keresztül a vezérlõfelület
(control interface) állományaihoz
hozzá tudunk férni.Ebben a mezõben a hálózat
nevét állítjuk be.A wpa mezõvel
engedélyezzük a WPA
használatát és megadjuk, hogy
melyik WPA hitelesítési protokollt
alkalmazzuk. Az itt szereplõ 1
érték a WPA-PSK hitelesítés
állítja be a
hozzáférési pont
számára.A wpa_passphrase mezõ a WPA
hitelesítéshez szükséges ASCII
jelmondatot tartalmazza.Lehetõleg mindig erõs jelszavakat
használjunk, amelyek kellõen
hosszúak és sokféle karaktert
tartalmaznak, így nehezebben fejthetõek
meg vagy törhetõek fel.A wpa_key_mgmt sor a kulcsok
kezelésére használt protokollt
definiálja. Ez a mi esetünk most a
WPA-PSK.A wpa_pairwise mezõ a
hozzáférési pont által
elfogadott titkosítási algoritmusokat
határozza meg. A példában a TKIP
(WPA) és CCMP (WPA2) titkosítást is
támogatjuk. A CCMP titkosítás a
TKIP egyik alternatívája, és
lehetõség szerint használjuk ezt. A
TKIP csak olyan állomások esetében
javasolt, amelyek nem támogatják a CCMP
használatát.A következõ lépés a
hostapd
elindítása:&prompt.root /etc/rc.d/hostapd forcestart&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2290
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100A hozzáférési pont mostantól
mûködik, innentõl a kliensek már
képesek csatlakozni hozzá, bõvebben
lásd a ban. A
hozzáférési ponthoz tartozó
állomásokat az ifconfig
ath0 list sta paranccsal
tudjuk listázni.WEP titkosítást használó
hozzáférési pontokA WEP titkosítást nem javasoljuk a
hozzáférési pontok esetében, mivel
nem tartalmaz semmilyen hitelesítési
mechanizmust és könnyen feltörhetõ.
Egyes régebbi vezeték nélküli
kártyák azonban csak a WEP által
nyújtott védelmet ismerik, ezért az
ilyenek csak olyan hozzáférési pontokhoz
tudnak csatlakozni, amelyek vagy nem használnank
hitelesítést és
titkosítást, vagy erre a WEP protokollt
használják.A vezeték nélküli eszközt
tegyük hozzáférési pont módba
és állítsuk be neki a megfelelõ
SSID-t és IP-címet:&prompt.root; ifconfig ath0 ssid freebsdap wepmode on weptxkey 3 wepkey 3:0x3456789012 mode 11g mediaopt hostap \
inet 192.168.0.1 netmask 255.255.255.0A weptxkey
beállítás után adjuk meg a
küldéshez használt WEP kulcsot. Itt a
harmadik kulcsot adtuk meg (vegyük észre, hogy
a kulcsok számozása az 1
értékkel kezdõdik). Ez a
paramétert az adatok tényleges
titkosításához kell megadni.A wepkey a kiválasztott WEP
kulcs beállítását jelöli,
aminek a formátuma
index:kulcs. Ha itt nem adunk
meg indexet, akkor automatikusan az elsõ kulcsot
állítjuk be. Ezért talán
mondanunk sem kell, hogy az indexet csak akkor kell
megadni, ha nem az elsõ kulcsot akarjuk
használni.A ath0 felület
állapotának megtekintéséhez adjuk
ki megint az ifconfig parancsot:&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode OPEN privacy ON deftxkey 3 wepkey 3:40-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100Egy másik vezeték nélküli
géprõl most már
megpróbálhatjuk megkeresni a
hozzáférési pontot:&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPSLáthatjuk, hogy a kliens megtalálta a
hozzáférési pontot, és a
megfelelõ paraméterekkel (kulcs stb.) képes
kapcsolódni hozzá a ban leírtak
szerint.HibaelhárításHa valamilyen gondunk lenne a vezeték
nélküli hálózatok
használatával, akad néhány
lépés, amivel esetleg fel tudjuk deríteni a
hiba okát.Ha nem látjuk a hozzáférési
pontot a pásztázás után,
ellenõrizzük, hogy a vezeték
nélküli eszközt véletlenül nem
korlátoztuk-e le bizonyos csatornákra.Ha nem tudunk csatlakozni a
hozzáférési ponthoz, akkor
egyeztessük vele az állomás egyes
paramétereit, beleértve a
hitelesítési sémát és a
biztonsági protokollokat. Minél jobban
egyszerûsítsük le a
konfigurációkat. Ha WPA vagy WEP
titkosítást használunk, akkor a
hozzáférési ponton
állítsunk be nyílt
hitelesítést és kapcsoljuk ki a
titkosítást, majd nézzük meg, hogy
így eljut-e hozzánk valamilyen
forgalom.Ahogy sikerült csatlakozunk a
hozzáférési ponthoz, a
biztonsági beállításokat olyan
egyszerû eszközökkel próbáljuk
meg diagnosztizálni, mint például a
&man.ping.8;.A wpa_supplicant
segédprogrammal tudunk nyomkövetést
végezni. A opció
megadásával indítsuk el
manuálisan és ellenõrizzük a
rendszernaplókat.Vannak alacsonyabb szintû nyomkövetési
lehetõségek is. A 802.11 protokollt
támogató rétegben is tudunk
engedélyezni nyomkövetési üzeneteket
a /usr/src/tools/tools/net80211
könyvtárban található
wlandebug program
segítségével. Például
a&prompt.root; wlandebug -i ath0 +scan+auth+debug+assoc
net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan>paranccsal a hozzáférési pontok
kereséséhez és a 802.11 protokollon
belül a kapcsolat megszervezéséhez
szükséges kézfogásokhoz
kapcsolódó konzolüzeneteket tudjuk
engedélyezni.A 802.11 rétegben rengeteg hasznos
statisztikát találhatunk. Mindezeket a
wlanstats eszközzel tudjuk
kiíratni. Ezeknek a statisztikáknak a 802.11
réteg összes hibáját be kell
tudniuk azonosítaniuk. Vigyázzunk azonban,
mert az eszközmeghajtókban a 802.11 réteg
alatt rejlõ bizonyos hibák ilyenkor nem jelennek
meg. Az eszközfüggõ problémák
felderítésével kapcsolatban a
megfelelõ meghajtó
dokumentációját olvassuk
át.Amennyiben a fenti tanácsok mentén sem
sikerül orvosolnunk a hibát okát,
küldjünk egy hibajelentést és
mellékeljük hozzá a fentebb tárgyalt
eszközök által gyártott
kimeneteket.PavLucistnikÍrta: pav@FreeBSD.orgBluetoothBluetoothBevezetésA Bluetooth egy olyan vezeték nélküli
technológia, amellyel a 2,4 GHz-es
frekvenciatartományban tudunk személyi
hálózatokat létrehozni 10 méteren
belül. Az ilyen típusú
hálózatok általában alkalmi
jelleggel keletkeznek különféle
hordozható eszközök, mint például
mobiltelefonok, kézi
számítógépek és laptopok
között. Eltérõen más
népszerû vezeték nélküli
technológiáktól, például a
wi-fitõl, a Bluetooth magasabb szintû
szolgáltási profilokat is felajánl:
FTP-szerû állományszervereket, az
állományok áttolását, hang
átküldését, soros vonali
emulációt és még sok minden
mást.A &os;-ben megvalósított Bluetooth
protokollkészlet a Netgraph rendszerre
építkezik (lásd &man.netgraph.4;). A
Bluetooth alapú USB-s hardverzárak széles
körét támogatja az &man.ng.ubt.4;
meghajtó. A Broadcom BCM2033 chipre
épített Bluetooth eszközöket az
&man.ubtbcmfw.4; és az &man.ng.ubt.4; meghajtók
támogatják. A 3Com Bluetooth PC Card 3CRWB60-A
eszközt az &man.ng.bt3c.4; meghajtó
támogatja. A soros és UART alapú Bluetooth
eszközöket a &man.sio.4;, &man.ng.h4.4; és
&man.hcseriald.8; ismeri. Ebben a szakaszban a Bluetooth
alapú USB-s hardverzárak használatát
mutatjuk be.Az eszköz csatlakoztatásaAlapértelmezés szerint a Bluetooth
eszközmeghajtók modulként
érhetõek el. Az eszköz csatlakoztatása
elõtt a megfelelõ meghajtót be kell
töltenünk a rendszermagba:&prompt.root; kldload ng_ubtHa a Bluetooth eszköz már a rendszer
indításakor is jelen van, akkor a modult az
/boot/loader.conf állományon
keresztül is betölthetjük:ng_ubt_load="YES"Dugjuk be az USB-s hardverzárunkat. Az
alábbihoz hasonló kimenet fog keletkezni a
konzolon (vagy a rendszernaplóban):ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
wMaxPacketSize=49, nframes=6, buffer size=294Az /etc/rc.d/bluetooth szkript fogja
végezni a Bluetooth használatához
szükséges protokollkészlet
elindítását és
leállítását. Jó ötlet
leállítani az eszköz
eltávolítása elõtt, de ha elhagyjuk,
(általában) nem okoz végzetes hibát.
Az indításkor a következõ kimenetet
kapjuk:&prompt.root; /etc/rc.d/bluetooth start ubt0
BD_ADDR: 00:02:72:00:d4:1a
Features: 0xff 0xff 0xf 00 00 00 00 00
<3-Slot> <5-Slot> <Encryption> <Slot offset>
<Timing accuracy> <Switch> <Hold mode> <Sniff mode>
<Park mode> <RSSI> <Channel quality> <SCO link>
<HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD>
<Paging scheme> <Power control> <Transparent SCO data>
Max. ACL packet size: 192 bytes
Number of ACL packets: 8
Max. SCO packet size: 64 bytes
Number of SCO packets: 8HCIHost Controller Interface (HCI)A Host Controller Interface (HCI) egy parancsfelületet
nyújt a mûködési sáv
vezérlõjéhez (baseband controller) és
az összeköttetések kezelõjéhez
(link manager), valamint hozzáférést a
hardverállapot és -vezérlõ
regiszterekhez. Ez a felület egy egységes
módszert szolgáltat a Bluetooth
mûködési sávjához tartozó
tulajdonságok eléréséhez. Az
eszközön üzemelõ HCI réteg a
Bluetooth hardverben található HCI firmware-rel
vált adatokat és parancsokat. A Host Controller
Transport Layer (vagyis a fizikai busz) meghajtója mind a
két HCI réteget és a kettejük
közti információcserét is
elérhetõvé teszi.Az egyes Bluetooth eszközökhöz
létrejön egy-egy hci
típusú Netgraph-beli csomópont. Ez a HCI
csomópont általában a Bluetooth
eszközmeghajtó csomópontjához
(lefelé) és az L2CAP csomóponthoz
(felfelé) csatlakozik. Az összes HCI mûveletet
a HCI csomóponton kell elvégezni és nem az
eszközmeghajtóhoz tartozón. A HCI
csomópont alapértelmezett neve a
devicehci. Ezekrõl többet az
&man.ng.hci.4; man oldalán tudhatunk meg.Az egyik legáltalánosabb feladat a Bluetooth
eszközök esetében a közelben levõ
további eszközök felderítése.
Ezt a mûveletet
tudakozódásnak
(inquiry) nevezik. A tudakozódást
és az összes többi HCI-hez
kapcsolódó mûveletet a &man.hccontrol.8;
segédprogrammal tudjuk elvégezni. A lentebb
látható példa azt mutatja meg, hogyan
tudunk Bluetooth eszközöket keresni egy adott
távolságon belül. Az elérhetõ
eszközök listáját néhány
másodpercen alatt megkapjuk. A távoli azonban
eszközök csak akkor fognak válaszolni, ha
felderíthetõ
(discoverable) módban vannak.&prompt.user; hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 00:80:37:29:19:a4
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 00
Page Scan Mode: 00
Class: 52:02:04
Clock offset: 0x78ef
Inquiry complete. Status: No error [00]A BD_ADDR a Bluetooth eszköz egyedi
címe, hasonló a hálózati
kártyák MAC-címéhez. Erre a
címre lesz szükség ahhoz, hogy a
továbbiakban kommunikálni tudjunk az
eszközzel. Emberek számára
értelmezhetõ nevet is hozzá tudunk rendelni a
BD_ADDR címhez. Az
/etc/bluetooth/hosts állomány
tartalmazza a Bluetooth eszközökre vonatkozó
információkat. A következõ
példában azt láthatjuk, hogyan tudunk
beszédesebb nevet adni egy távoli
eszköznek:&prompt.user; hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4
Name: Pav T39-eseAmikor tudakozódni kezdünk a távoli
Bluetooth eszközök jelenléte felõl, a
gépünket sajat.gep.nev (ubt0)
néven fogják látni. Ez a helyi
eszközhöz rendelt név bármikor
megváltoztatható.A Bluetooth rendszer lehetõség ad pont-pont
(természetesen csak két Bluetooth egység
között) vagy pont-multipont típusú
kapcsolatok kiépítésére. A
pont-multipont kapcsolat esetén a kapcsolaton több
Bluetooth eszköz osztozik. A most következõ
példában megláthatjuk, hogyan kell az
aktív mûködési sávban
lekérdezni a helyi eszköz létrejött
kapcsolatait:&prompt.user; hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPENA kapcsolat azonosítója
(connection handle) akkor hasznos, amikor egy sávbeli
kapcsolatot akarunk lezárni. Ezt általában
nem kell kézzel megcsinálni. A rendszer
magától lezárja az inaktív
sávbeli kapcsolatokat.&prompt.root; hccontrol -n ubt0hci disconnect 41
Connection handle: 41
Reason: Connection terminated by local host [0x16]A hccontrol help paranccsal tudjuk
lekérdezni az elérhetõ HCI parancsokat. A
legtöbb HCI parancs végrehajtásához
nem kellenek rendszeradminisztrátori
jogosultságok.L2CAPLogical Link Control and Adaptation Protocol
(L2CAP)A Logical Link Control and Adaptation Protocol (L2CAP) a
kapcsolat-orientált és a kapcsolat
nélküli adatszolgáltatásokért
felelõs a felsõbb rétegek felé, valamit
támogatja a protokollok
többszörözését, a darabolást
és az összerakást. Az L2CAP a magasabb
szintû protokollok és az alkalmazások
számára egészen 64 kilobyte
méretig lehetõvé teszi az adatcsomagok
küldését és
fogadását.A L2CAP a csatorna (channel)
fogalmára építkezik. A csatorna egy
logikai kapcsolatot képvisel a mûködési
sávon belüli kapcsolat felett. Mindegyik
csatornához egyetlen protokoll kötõdik, egy a
többhöz alapon. Több csatorna is tarthozhat
ugyanahhoz a protokollhoz, de egy csatornán nem
használhatunk több protokollt. A csatornákon
keresztül érkezõ L2CAP csomagok ezután a
megfelelõ felsõbb rétegbeli protokollokhoz
kerülnek. Több csatorna osztozhat ugyanazon a
sávbeli kapcsolaton.Minden Bluetooth eszközhöz létrejön
egy l2cap típusú
Netgraph-csomópont. Az L2CAP csomópont
általában egy Bluetooth HCI csomóponthoz
(lefelé) és egy Bluetooth sockethez
(felfelé) kapcsolódik. Az L2CAP csomópont
alapértelmezett neve devicel2cap.
Errõl részletesebben az &man.ng.l2cap.4; man oldal
világosít fel minket.Ezen a szinten hasznos parancsnak bizonyulhat az
&man.l2ping.8;, amivel más eszközöket tudunk
pingelni. Elõfordulhat, hogy egyes Bluetooth
implementációk nem válaszolnak semmilyen
feléjük küldött adatra, így az
alábbi példában is szereplõ 0
bytes teljesen normális.&prompt.root; l2ping -a 00:80:37:29:19:a4
0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0Az &man.l2control.8; segédprogram
használható az L2CAP csomópontok
különbözõ mûveleteinek
kivitelezésére. Ebben a példában a
helyi eszközhöz tartozó logikai kapcsolatokat
(csatornák) és sávokat
kérdezzük le:&prompt.user; l2control -a 00:02:72:00:d4:1a read_channel_list
L2CAP channels:
Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State
00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN
&prompt.user; l2control -a 00:02:72:00:d4:1a read_connection_list
L2CAP connections:
Remote BD_ADDR Handle Flags Pending State
00:07:e0:00:0b:ca 41 O 0 OPENMásik ugyanilyen diagnosztikai eszköz a
&man.btsockstat.1;. Ha a viselkedését
tekintjük, akkor leginkább a &man.netstat.1;
programra hasonlít, de a Bluetooth
hálózatban megjelenõ adatszerkezetekkel
dolgozik. Az alábbi példa az iménti
&man.l2control.8; parancs kimenetében szereplõ
logikai kapcsolatokat mutatja:&prompt.user; btsockstat
Active L2CAP sockets
PCB Recv-Q Send-Q Local address/PSM Foreign address CID State
c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN
Active RFCOMM sessions
L2PCB PCB Flag MTU Out-Q DLCs State
c2afe900 c2b53380 1 127 0 Yes OPEN
Active RFCOMM sockets
PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State
c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPENRFCOMMAz RFCOMM protokollAz RFCOMM protokoll a soros portok
emulációját valósítja meg az
L2CAP protokollon keresztül. A protokoll az ETSI TS 07.10.
RFCOMM szabványán alapszik, és egy
egyszerû átviteli protokoll, amelyet a 9 tûs
RS-232 (EIATIA-232-E) soros portok
emulációjára készítettek fel.
Az RFCOMM protokoll legfeljebb 60 kapcsolat (RFCOMM csatorna)
párhuzamos használatát támogatja
két Bluetooth eszköz között.Az RFCOMM számára a teljes
kommunikációs útvonal két
különbözõ eszközön futó
alkalmazást (kommunikációs
végpontot) és köztük levõ
kommunikációs szegments foglalja magában.
Az RFCOMM az adott eszközön a soros portot
használó alkalmazások részére
készült. A kommunikációs szegmens az
egyik eszköztõl a másikig vezetõ Bluetooth
alapú összeköttetés (közvetlen
kapcsolat).Közvetlen kapcsolat esetén az RFCOMM csak az
eszközök közti kapcsolattal foglalkozik, valamint
hálózati kapcsolat esetén az eszköz
és a modem közti kapcsolattal. Az RFCOMM más
konfigurációkat is támogat,
például olyan modulokat, amelyek az egyik oldalon
a Bluetooth vezeték nélküli
technológián keresztül kommunikálnak,
míg a másik oldalon egy vonalas felületet
nyújtanak.A &os;-ben az RFCOMM protokollt Bluetooth foglalatok
rétegében valósították
meg.párosításAz eszközök
párosításaAlapértelmezés szerint a Bluetooth
kommunikáció nem hitelesítõdik
és bármelyik eszköz képes
bármelyik másikkal felvenni a kapcsolatot. Egy
Bluetooth eszköz (például egy mobiltelefon)
egy adott szolgáltatáshoz igényelhet
hitelesítést (például
betárcsázáshoz). A Bluetooth alapú
hitelesítés többnyire PIN
kódokkal történik. A PIN
kód egy legfeljebb 16 karakterbõl álló
ASCII karakterlánc. A felhasználóknak mind
a két eszközön ugyanazt a PIN kódot kell
megadniuk. Miután megadtuk a PIN kódot, az
eszközök létrehoznak hozzájuk egy
összekötettésbeli kulcsot
(link key). Ezután ezt a kulcsot vagy az
eszközökön tároljuk vagy pedig valamilyen
tartós tárolón. A következõ
alkalommal mind a két eszközt ezt a korábban
elkészített kulcsot fogja használni. Ezt
az eljárást nevezik
párosításnak
(pairing). Ha valamelyik eszköz elveszti az
össszeköttetés kulcsát, akkor a
párosítást meg kell
ismételni.A &man.hcsecd.8; démon felelõs az összes
Bluetooth alapú hitelesítési
kérés lekezeléséért. Az
alapértelmezett konfigurációs
állománya az
/etc/bluetooth/hcsecd.conf.
Például így tudjuk benne egy
mobiltelefonhoz megadni az 1234 PIN
kódot:device {
bdaddr 00:80:37:29:19:a4;
name "Pav T39-ese";
key nokey;
pin "1234";
}Semmilyen korlátozás nincs a PIN
kódokra (a méretüktõl eltekintve).
Egyes eszközökbe (például a Bluetooth
fejhallgatók) elõre rögzített PIN
kódot építettek bele. A
kapcsoló hatására a
&man.hcsecd.8; démont az elõtérben lehet
futtatni, így könnyebben láthatjuk mi
történik. A távoli eszközt
állítsuk be a párosítás
elfogadására és kezdeményezzünk
felé egy Bluetooth kapcsolatot. A távoli
eszköznek erre azt kell válaszolnia, hogy elfogadta
a párosítást, majd kérni fogja a PIN
kódot. Adjuk meg ugyanazt a PIN kódot, mint amit
a hcsecd.conf állományba is
beírtunk. Most már a gépünk és
a távoli eszköz párban vannak. A
párosítást a távoli
eszközrõl is kezdeményezhetjük.A &os; 5.5, 6.1 és újabb
változataiban az /etc/rc.conf
állományba a következõ sort kell
felvenni a hcsecd automatikus
indításához:hcsecd_enable="YES"Ez pedig a hcsecd démon
által generált kimenetre példa:hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist
hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists
hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4SDPService Discovery Protocol (SDP)A Service Discovery Protocol (SDP)
segítségével a kliens alkalmazások
képes felderíteni, hogy a szerver
alkalmazások részérõl milyen
szolgáltatások érhetõek el, valamint
ezek a szolgáltatások milyen
tulajdonságokkal rendelkeznek. A
szolgáltatások tulajdonsági
közé soroljuk többek között a
felajánlott szolgáltatás
típusát vagy osztályát, illetve a
szolgáltatás kihasználásához
szükséges mechanizmusra vagy protokollra
vonatkozó információkat.Az SDP az SDP szerver és az SDP kliens közti
kommunikációt foglalja magában. A szerver
karbantart egy listát azokról a
szolgáltatási rekordokról, amelyek a
szerverhez tartozó szolgáltatások
jellemzõit írják le. Mindegyik ilyen
szolgáltatási rekord egyetlen
szolgáltatás adatait tartalmazza. A kliensek egy
SDP kéréssel ezeket a szolgáltatási
rekordokat kérhetik el az SDP szervertõl.
Amennyiben a kliens, vagy a hozzátartozó
alkalmazás a szolgáltatás használata
mellett dönt, akkor a szolgáltatás
használatához a megfelelõ
szolgáltató felé nyitnia kell egy
külön kapcsolatot. Az SDP csak a
szolgáltatások és azok
tulajdonságainak felderítéséhez ad
segítséget, de semmilyen eszközt nem
tartalmaz a felhasználásukra.Általában az SDP kliensek
általában valamilyen számunkra kellõ
tulajdonság alapján keresnek
szolgáltatásokat. Ráadásul
adódhatnak olyan alkalmak is, amikor a
szolgáltatások elõzetes ismerete
nélkül szeretnénk felderíteni a
rendelkezésre álló
szolgáltatások típusait. A
felajánlott szolgáltatások ilyen
típusú feldolgozását nevezzük
böngészésnek
(browsing).Az &man.sdpd.8; Bluetooth SDP szerver és a
parancssoros &man.sdpcontrol.8; kliens az alap &os;
telepítés része. Az alábbi
példában egy SDP böngészési
kérést adunk ki:&prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec browse
Record Handle: 00000000
Service Class ID List:
Service Discovery Server (0x1000)
Protocol Descriptor List:
L2CAP (0x0100)
Protocol specific parameter #1: u/int/uuid16 1
Protocol specific parameter #2: u/int/uuid16 1
Record Handle: 0x00000001
Service Class ID List:
Browse Group Descriptor (0x1001)
Record Handle: 0x00000002
Service Class ID List:
LAN Access Using PPP (0x1102)
Protocol Descriptor List:
L2CAP (0x0100)
RFCOMM (0x0003)
Protocol specific parameter #1: u/int8/bool 1
Bluetooth Profile Descriptor List:
LAN Access Using PPP (0x1102) ver. 1.0
és így tovább. Mindegyik
szolgáltatáshoz hozzátartozik a
tulajdonságok egy listája (például
RFCOMM csatorna). Lehetséges, hogy
szolgáltatástól függõen bizonyos
tulajdonságokat kell figyelnünk. Egyes Bluetooth
implementációk nem támogatják a
szolgáltatások
böngészését és ezért egy
üres listát adnak vissza. Ebben az esetben egy
konkrét szolgáltatásra tudunk
rákeresni. A következõ példában
az OBEX Object Push (OPUSH) szolgáltatást
keressük:&prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH&os; alatt az &man.sdpd.8; szerverrel tudunk
szolgáltatásokat felajánlani a Bluetooth
klienseknek. A &os; 5.5, 6.1 vagy késõbbi
változataiban ehhez a következõ sort kell
megadnunk az /etc/rc.conf
állományban:sdpd_enable="YES"Ezután az sdpd
démon így indítható el:&prompt.root; /etc/rc.d/sdpd startA távoli kliensek részére Bluetooth
szolgáltatásokat felajánlani
kívánó helyi szerver alkalmazásoknak
regisztrálniuk kell magukat a helyi SDP
démonnál. Például az egyik ilyen
alkalmazás az &man.rfcomm.pppd.8;, és
elindítása után regisztrálni fogja a
Bluetooth LAN szolgáltatást a helyi SDP
démonnál.A helyi SDP szerveren regisztrált
szolgáltatásokat a helyi vezérlési
csatornán keresztül egy browse
kéréssel tudjuk lekérdezni:&prompt.root; sdpcontrol -l browseA betárcsázós hálózati
és a PPP hálózati
hozzáférési (LAN) profilokA betárcsázós hálózati
(Dial-Up Networking, DUN) profil leggyakrabban a modemek
és mobiltelefonok között tûnik fel. Ez a
profil a következõ forgatókönyveket
dolgozza fel:A számítógépünkkel egy
mobiltelefont vagy modemet vezeték
nélküli modemként használunk,
amivel az internethez vagy más
hálózatokhoz csatlakozunk
betárcsázással.A számítógépünkkel egy
mobiltelefonon vagy modemen keresztül fogadunk
adathívásokat.A PPP hálózati
hozzáférési (LAN) profil a
következõ helyezetekben alkalmazható:LAN hozzáférés egyetlen Bluetooth
eszközhözLAN hozzáférés több Bluetooth
eszközhözKét gép összekötése (a
soros vonali kapcsolat emulációval PPP-n
keresztül)&os; alatt mind a két profilt a &man.ppp.8; és
az &man.rfcomm.pppd.8; valósítja meg — egy
olyan wrapper eszköz, amely az RFCOMM Bluetooth
kapcsolatokat a PPP számára is
értelmessé alakítja át.
Mielõtt még bármelyik profilt
elkezdenénk használni, egy új PPP
címkét kell létrehozni az
/etc/ppp/ppp.conf
állományban. Erre példát az
&man.rfcomm.pppd.8; man oldalon találhatunk.A következõ példában az
&man.rfcomm.pppd.8; programot fogjuk használni arra, hogy
egy RFCOMM típusú kapcsolatot nyissunk a
00:80:37:29:19:a4 címmel rendelkezõ távoli
Bluetooth eszköz felé. A tényleges RFCOMM
csatorna számát SDP-n keresztül a
távoli eszköztõl kapjuk. Az RFCOMM csatorna
kézzel is megadható, és ilyen esetekben az
&man.rfcomm.pppd.8; nem fog SDP kérést
küldeni. A &man.sdpcontrol.8; használatával
tudjuk lekérdezni a távoli eszközön
létrejött RFCOMM csatornát.&prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialupA PPP hálózati elérés (LAN)
szolgáltatás beindításához
futni kell a &man.sdpd.8; szervernek. A helyi
hálózaton keresztül csatlakozó
kliensekhez létre kell hozni egy új
bejegyzést az /etc/ppp/ppp.conf
állományban. Az &man.rfcomm.pppd.8; man oldalon
találhatunk erre példákat.
Végezetül indítsuk el az RFCOMM PPP szervert
egy érvényes RFCOMM csatornaszámmal. Az
RFCOMM PPP szerver ekkor automatikusan regisztrálja a
Bluetooth LAN szolgáltatást a helyi SDP
démonnál. A következõ
példában megmutatjuk, hogyan lehet
elindítani egy RFCOMM PPP szervert:&prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-serverOBEXAz OBEX Object Push (OPUSH) profilAz OBEX egy széles körben alkalmazott protokoll
a mobileszközök közti egyszerû
állományvitelre. Legfõképpen az
infravörös kommunikációban
alkalmazzák, ahol a laptopok vagy PDA-k közti
általános állományátvitelre
használják, illetve
névjegykártyák vagy
naptárbejegyzések
átküldésére mobiltelefonok
között és egyéb PIM alkalmazást
futtató eszközök esetében.Az OBEX szervert és klienst egy külsõ
csomag, az obexapp
valósítja meg, amelyet az comms/obexapp portból
érhetünk el.Az OBEX kliens használható objektumok
áttolására vagy
lehúzására az OBEX szerverhez. Ez az
objektum lehet például egy
névjegykártya vagy egy megbeszélt
találkozó. Az OBEX kliens SDP-n keresztül
tud magának RFCOMM csatornaszámot szerezni. Ezt
úgy tehetjük meg, ha a szolgáltatás
neve helyett egy RFCOMM csatorna számát adjuk meg.
A támogatott szolgáltatások: IrMC, FTRN
és OPUSH. Számként RFCOMM csatorna is
megadható. Az alábbi példában egy
OBEX munkamenetet láthatunk, ahol az eszköz
információs objektumát húzzuk le a
mobiltelefonról és egy új objektumot (egy
névjegykártyát) tolunk fel a telefon
könyvtárába.&prompt.user; obexapp -a 00:80:37:29:19:a4 -C IrMC
obex> get telecom/devinfo.txt devinfo-t39.txt
Success, response: OK, Success (0x20)
obex> put new.vcf
Success, response: OK, Success (0x20)
obex> di
Success, response: OK, Success (0x20)Az OBEX objektumok tologatásának
támogatásához az &man.sdpd.8; szervernek
kell futnia. Továbbá a beérkezõ
objektumok tárolásához létre kell
hoznunk még egy könyvtárat is. Ez az
könyvtár alapértelmezés szerint a
/var/spool/obex. Végül
indítsuk el az OBEX szervert egy érvényes
RFCOMM csatorna számának
megadásával. Az OBEX szerver ezután
automatikusan regisztrálja az OBEX Object
Push nevû szolgáltatást a helyi SDP
démonnál. Ebben a példában
láthatjuk az OBEX szerver
indítását:&prompt.root; obexapp -s -C 10Soros vonali profil (SPP)A soros vonali profil (Serial Port Profile, SPP)
használatával RS232 (vagy ahhoz hasonló)
vonali adatátvitelt tudunk emulálni. Ez a profil
a régebben fejlesztett alkalmazásokkal
birkózik meg, és a Bluetooth
technológiával valódi kábel helyett
egy virtuális soros portot képez le.Az &man.rfcomm.sppd.1; segédprogram ezt a soros
vonali profilt valósítja meg. Így egy
pszeudo terminált tudunk virtuális soros
portként használni. Ha nem adunk meg RFCOMM
csatornát, akkor az &man.rfcomm.sppd.1; képes
SDP-n keresztül kérni egyet magának a
távoli eszköztõl. Ha ezt felül
kívánjuk bírálni, akkor a
parancssorban megadhatunk akár egy konkrét RFCOMM
csatornát is.&prompt.root; rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
rfcomm_sppd[94692]: Starting on /dev/ttyp6...Miután csatlakoztunk, a pszeudo terminált
tudjuk soros portként használni:&prompt.root; cu -l ttyp6HibaelhárításNem tudunk csatlakozni a távoli
eszközzelEgyes Bluetooth eszközök nem
támogatják a szerepek cseréjét
(role switch). Alapértelmezés szerint amikor a
&os; elfogad egy új kapcsolatot,
megpróbál rajta szerepet cserélni
és mesterré válni. Azok az
eszközök, amelyek ezt nem támogatják,
nem lesznek képesek emiatt csatlakozni. Ez a
szerepváltás az új kapcsolatok
felépítése során zajlik le,
ezért egy távoli eszköztõl nem lehet
megtudni, hogy ismeri-e ezt a lehetõséget. A
helyi oldalon a következõ HCI opcióval lehet
kikapcsolni a szerepcserét:&prompt.root; hccontrol -n ubt0hci write_node_role_switch 0Valami nem megy. Lehet látni valahogy, pontosan
mi is történik?Persze, igen. Egy külsõ csomag, a
hcidump
segítségével, amely a comms/hcidump portból
érhetõ el. A hcidump
segédprogram a &man.tcpdump.1; programhoz
hasonlítható. Ezzel lehet a Bluetooth csomagok
tartalmát megnézni a terminálon vagy
elmenteni ezeket egy állományba.AndrewThompsonÍrta: Hálózati hidakBevezetésIP-alhálózathálózati
hídGyakran hasznos lehet anélkül felosztani egy
fizikai hálózatot (például egy
Ethernet szegmenst) két külön
hálózati szegmensre, hogy külön
IP-alhálózatot kellene létrehozunk
és összekötnünk ezeket egy
útválasztóval. A két ilyen
módon kialakított hálózatot
összekötõ eszközt nevezzük
hálózati hídnak (bridge). A
legalább két hálózati
felülettel rendelkezõ &os; rendszerek képesek
hálózati híd szerepét
betölteni.A hálózati híd az eszközök
adatkapcsolati rétegben a hozzátartozó
felületein megjelenõ (vagyis Ethernet)
címének megtanulásával
mûködik. A két hálózat
között csak akkor közvetít forgalmat,
amikor a forrás és cél nem ugyanabban a
hálózatban található.A hálózati hidak bizonyos szempontból
lényegében nagyon kevés porttal
rendelkezõ Ethernet switch-ek.A hálózati hidak tipikus
alkalmazásaiNapjainkban akad néhány igen jellemzõ
szituáció, ahol szükség van a
hálózati hidak alkalmazására.Hálózatok
összekötéseA hálózati hidak alapvetõ feladata
két vagy több hálózati szegmens
összekötése. Az egyszerû
hálózati környezet
felállítása helyett több
okból is felmerülhet a hidak
létrehozása: kábelezési
megszorítások, tûzfalazás vagy
pszeudo hálózatok, például
virtuális gépek felületének
csatlakoztatása miatt. Egy híd
használatával ráadásul össze
tudunk kötni egy vezeték nélküli
hozzáférési pontként
üzemelõ felületet egy vezetékes
hálózattal.Szûrés vagy forgalomkorlátozás
tûzfallaltûzfalNATSokszor elõfordulhat, hogy
útválasztás vagy hálózati
címfordítás (NAT) nélkül
szeretnénk tûzfalat használni.Példaként képzeljünk el egy
olyan kis méretû céget, amely egy DSL vagy
ISDN vonalon kapcsolódik az
internet-szolgáltatójához. A
szolgáltatótól 13, mindenki által
használható IP-címet kaptak és a
hálózatukban 10 gép van. Ebben a
helyzetben egy útválasztást
végzõ tûzfal mûködtetése
nehézkessé válna az
alhálózatok problémái
miatt.útválasztóDSLISDNEgy hídként viselkedõ tûzfallal
azonban minden IP számozási probléma
nélkül egyszerûen be tudjuk dobni a
gépeket a DSL/ISDN útválasztó
mögé.A hálózat megcsapolásaEgy hálózati híddal úgy
kapcsolunk össze két hálózati
szegmenst, hogy közben meg tudjuk vizsgálni a
kettejük között mozgó Ethernet
kereteket. Ezt a híd felületen a &man.bpf.4;
valamint a &man.tcpdump.1; segítségével
tudjuk megoldani, vagy úgy, ha egy másik
felületen elküldjük az összes keret
másolatát (span, vagyis feszítõ
port).VPN az adatkapcsolati rétegbenA két Ethernet hálózatot egy IP
alapú összeköttetésen keresztül
is össze tudunk kötni, ha a
hálózatokat egy EtherIP járaton
keresztül kötjük össze híddal, vagy
egy OpenVPN-hez hasonló &man.tap.4; alapú
megoldással.Redundancia az adatkapcsolati rétegbenA hálózatokat több linken
keresztül kötjük össze és a
redundáns útvonalakat a feszítõfa
protokollal (Spanning Tree Protocol, STP). Az Ethernetes
hálózatok esetében a megfelelõ
mûködéshez a két eszköz
között csak egyetlen aktív útvonal
létezhet, így a feszítõfa protokoll
észleli a hurkokat és a redundáns
összeköttetéseket blokkolt állapotba
teszi. Amikor azonban az aktív linkek egyike
meghibásodik, akkor a protokoll
újraszámolja a fát és a
hálózati pontjai közti
konnektivitást megpróbálja
helyreállítani az addig blokkolt linkek
ismételt engedélyezésével.A rendszermag beállításaiEbben a szakaszban az &man.if.bridge.4;
hálózati híd implementációval
foglalkozunk, de a Netgraph segítségével is
tudunk hidakat építeni. Ez
utóbbiról az &man.ng.bridge.4; man oldalon
olvashatunk.Amikor létrehozunk egy hálózati hidat,
az &man.ifconfig.8; automatikusan betölti a
hozzátartozó meghajtót. Ha viszont a
rendszermag beállításait tartalmazó
állományba felvesszük a device
if_bridge sort, akkor akár be is
építhetjük a rendszermagba.A csomagszûrés minden olyan tûzfallal
használható, amely a &man.pfil.9; rendszerre
kapcsolódik. Maga a tûzfal is betölthetõ
modulként, vagy belefordítható a
rendszermagba.A hálózati híddal forgalmat is tudunk
szabályozni az &man.altq.4; vagy a &man.dummynet.4;
segítségével.A hálózati híd
engedélyezéseHálózati hidak felületek
klónozásával hozhatóak létre.
A híd létrehozásához
használjuk az &man.ifconfig.8; programot, és a
megfelelõ meghajtó automatikusan
betöltõdik, ha nem lenne még
elérhetõ a rendszermagban.&prompt.root; ifconfig bridge create
bridge0
&prompt.root; ifconfig bridge0
bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 96:3d:4b:f1:79:7a
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0Ekkor létrejön a hálózati
hídhoz tartozó felület és
véletlenszerûen generálódik
hozzá egy Ethernetes cím. A
maxaddr és a
timeout paraméterek vezérlik,
hogy a híd mennyi MAC-címet tartson meg a keretek
továbbításáért felelõs
táblázatban és mennyi másodperc
után töröljön automatikusan egy
bejegyzést a legutolsó használat
után. A többi paraméter a
feszítõfa mûködését
irányítja.Vegyük fel a hídhoz tartozó
hálózati tagfelületeket. A híd csak
akkor fog a tagfelületek között csomagokat
továbbküldeni, amikor a híd és a tagok
is up állapotban vannak:&prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 up
&prompt.root; ifconfig fxp0 up
&prompt.root; ifconfig fxp1 upA híd most már átküldi az Ethernet
kereteket a fxp0 és
fxp1 felületek között.
Az iméntiekkel megegyezõ konfigurációt
az /etc/rc.conf állományban
így alakíthatjuk ki:cloned_interfaces="bridge0"
ifconfig_bridge0="addm fxp0 addm fxp1 up"
ifconfig_fxp0="up"
ifconfig_fxp1="up"Ha a hídhoz IP-címet is rendelni akarunk,
akkor inkább magánál a hídnál
adjuk meg, ne a tagoknál. Ezt statikusan vagy DHCP
használatával is megtehetjük:&prompt.root; ifconfig bridge0 inet 192.168.0.1/24A hídhoz IPv6 címet is hozzá tudunk
rendelni.TûzfalazástûzfalakHa engedélyezzük a csomagszûrést, a
hídon áthaladó csomagok elõször a
küldõ felület érkezési
oldalára kerülnek, majd a hídra,
végül a megfelelõ irányban levõ
felület küldési oldalára.
Bármelyik fázis letiltható. Amikor a
csomagok áramlásának iránya fontos
számunkra, akkor jobban járunk, ha nem
magára a hídra, hanem csak a tagfelületekre
állítjuk be a tûzfalat.A híd számos módosítható
beállítással rendelkezik a nem-IP és
ARP csomagok átküldésére, valamint
arra, hogy az IPFW tûzfal adatkapcsolati réteg
szintjén mûködhessen. Az &man.if.bridge.4; man
oldal ennek részleteit tárja fel.FeszítõfákA híd meghajtója a gyors feszítõfa
protokollt (Rapid Spanning Tree Protocol, RSTP avagy 802.1w)
valósítja meg, ami visszafelé kompatibilis
a korábban említett feszítõfa
protokollal. A feszítõfákat a
hálózati topológiában
felbukkanó hurkok észlelésére
és eltávolítására
alkalmazzák. Az RSTP azonban a hagyományos
STP-nél valamivel gyorsabb konvergenciát
ígér, mivel itt a szomszédos switch-ek
kicserélik egymás között az adataikat,
és így újabb hurkok
létrehozása nélkül képesek
viszonylag gyorsan egyik állapotból
átváltani a másikba.Az alábbi táblázat a támogatott
mûködési módokat
láthatjuk:Operációs rendszerSTP módokAlapértelmezés&os; 5.4—&os; 6.2STPSTP&os; 6.3+RSTP vagy STPSTP&os; 7.0+RSTP vagy STPRSTPA tagfelületeken az stp paranccsal
tudjuk engedélyezni a feszítõfák
használatát. Az fxp0
és fxp1 felületeket
összekötõ hídfelület esetében
tehát így:&prompt.root; ifconfig bridge0 stp fxp0 stp fxp1
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether d6:cf:d5:a0:94:6d
id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:01:02:4b:d4:50 priority 32768 ifcost 0 port 0
member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
port 3 priority 128 path cost 200000 proto rstp
role designated state forwarding
member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
port 4 priority 128 path cost 200000 proto rstp
role designated state forwardingLáthatjuk, hogy a híd a
feszítõfában megkapta a
00:01:02:4b:d4:50-es azonosítót
és a 32768-as prioritást.
Mivel root id értéke is
ugyanez, elmondhatjuk, hogy ez a fa gyökereként
funkcionáló híd.Ha a hálózaton már valahol
létezik egy másik híd:bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 96:3d:4b:f1:79:7a
id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4
member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
port 4 priority 128 path cost 200000 proto rstp
role root state forwarding
member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
port 5 priority 128 path cost 200000 proto rstp
role designated state forwardingA root id 00:01:02:4b:d4:50 priority 32768 ifcost
400000 port 4 sor mutatja, hogy a fa
gyökerét képezõ híd most a
00:01:02:4b:d4:50 azonosítóval
rendelkezik, és ezt a hidat 400000-res
költséggel éri el a port 4
(a 4. porton) keresztül, amely jelen esetben az
fxp0 felület.Komolyabb hidak építéseA forgalom áramlásának
átszerkesztéseA hidak támogatják az ún.
megfigyelési módot, ahol a csomagokat a
&man.bpf.4; feldolgozásuk után eldobja,
így nem folytatódik a feldolgozásuk vagy
nem haladnak tovább. Ennek
kihasználásával a két vagy
több felületen érkezõ adatokat egyetlen
&man.bpf.4; folyammá tudjuk alakítani. Ez olyan
hálózati csapok forgalmának
átszerkesztésében hasznos, ahol a
két különbözõ felületen
keresztül küldjük ki az RX/TX
(fogadás/küldés) jeleket.Az alábbi paranccsal tudjuk megoldani, hogy
négy felületrõl érkezõ adatot
legyünk képesek egyetlen folyamként
olvasni:&prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 addm fxp2 addm fxp3 monitor up
&prompt.root; tcpdump -i bridge0Feszítõ portokA hídhoz befutó Ethernet keretek
mindegyikérõl készül egy
másolat, ami egy megadott feszítõ porton
keresztül megy tovább. Hidanként
végtelen számú ilyen feszítõ
port létezhet, és ha egy felületet
feszítõ portnak adtunk meg, akkor
hagyományos portként már nem
használhatjuk. Ez leginkább akkor hasznos,
amikor passzívan akarjuk megfigyelni a híddal
rendelkezõ hálózatot a híd
valamelyik feszítõ portjára
csatlakozó géprõl.Küldessük az összes keretrõl egy
másolatot az fxp4
felületre:&prompt.root; ifconfig bridge0 span fxp4Privát felületekA privát felületek (private interface) csak
más privát felületek felé
küldenek tovább adatot. Így
feltétel nélkül tudjuk korlátozni a
forgalmat, és sem Ethernet keretek, sem pedig ARP nem
megy keresztül rajtuk. Ha viszont szelektíven
akarjuk korlátozni a forgalmat, akkor helyette
használjunk tûzfalat.Tapadós felületekHa a híd egyik tagfelületét
tapadósnak (sticky) adjuk meg, akkor a dinamikusan
megtanult címek bejegyzései a
gyorsítótárba kerülésük
után állandósulnak. A tapadós
bejegyzések soha nem évülnek el vagy
cserélõdnek le, még abban az esetben sem,
ha utána az adott címet egy másik
felületrõl látjuk. Így a
továbbításra vonatkozó
táblázatot nem kell elõre
feltöltenünk, és a híd egyik
oldalán meglátott kliensek nem képesek
átvándorolni egy másik
hálózati szegmensbe.Másik ilyen példa a tapadós
címek használatára az lehetne, amikor a
hidat VLAN-nal kombináljuk, és így egy
olyan útválasztót hozunk létre,
ahol az ügyfeleink az IP-címtartomány
pocséklása nélkül
zárhatóak el egymástól.
Tegyük fel, hogy az A-ugyfel a
vlan100, és a B-ugyfel a vlan101
felületen csatlakozik. A híd IP-címe
192.168.0.1, amely maga is egy
internet felé mutató
útválasztó.&prompt.root; ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101
&prompt.root; ifconfig bridge0 inet 192.168.0.1/24Mind a két kliens a 192.168.0.1 címet látja
alapértelmezett átjáróként,
és mivel a híd gyorsítótára
tapadós bejegyzéseket tartalmaz, a
MAC-címeik meghamisításával nem
tudják elcsípni a másikuk
forgalmát.A VLAN-ok közti bárminemû
kommunikációt privát felületek
létrehozásával akadályozzuk meg
(vagy egy tûzfallal):&prompt.root; ifconfig bridge0 private vlan100 private vlan101Ezzel a megoldással az ügyfeleinket teljesen
elszigeteljük egymástól úgy, hogy
közben az egész /24 címtartomány
külön alhálózatok
kialakítása nélkül
kiosztható.Címek korlátozásaKorlátozhatóak az egy felület
mögül küldeni képes egyedi
MAC-címek. Amikor ezen a határon felül
érkeznek ismeretlen feladótól csomagok,
egészen addig eldobjuk ezeket, amíg egy
korábban már regisztrált
bejegyzést a rendszer ki nem töröl vagy ki
nem veszünk a
gyorsítótárból.A következõ példában az
vlan100 felületen csatlakozó
A-ugyfel
számára korlátozzuk le 10-re az Ethernet
eszközök számát:&prompt.root; ifconfig bridge0 ifmaxaddr vlan100 10SNMP felügyeletA hidak és az STP paraméterei az alap &os;
rendszerben megtalálható SNMP démonnal
felügyelhetõek. A hídhoz exportált
felügyeleti információk (Management
Information Base, MIB) megfelelnek az IETF által
elõírt szabványoknak, így
akár tetszõleges SNMP kliens vagy bármilyen
más felügyeleti szoftver alkalmas az
olvasásukra.A hidat mûködtetõ gépen az
/etc/snmp.config
állományban engedélyezzük a
begemotSnmpdModulePath."bridge" =
"/usr/lib/snmp_bridge.so" sort és
indítsuk el a bsnmpd
démont. Itt még szükség lehet
más beállítások,
például a közösségek
nevének (community name) vagy a
hozzáférési listák (access list)
módosítására is. Ezzel
kapcsolatban a &man.bsnmpd.1; és az &man.snmp.bridge.3;
man oldalakat lapozzuk fel.A következõ példában a
Net-SNMP nevû szoftver
(net-mgmt/net-snmp) fogjuk
használni a híd elérésére,
de ugyanerre a net-mgmt/bsnmptools port is
alkalmas. Az SNMP klienst használó gépen
egészítsük ki az
$HOME/.snmp/snmp.conf
állományt a híd felügyeleti
információinak
importálásával az
Net-SNMP rendszerébe:mibdirs +/usr/share/snmp/mibs
mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIBAz IETF BRIDGE-MIB (RFC 4188)
használatán keresztül így tudjuk
elindítani egy híd
felügyeletét:&prompt.user; snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge
BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44
BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports
BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds
BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2
BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50
...
BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5)
BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1)
BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000
BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50
BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0
BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50
BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80
BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1
RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2)A példában látszik, hogy a
dot1dStpTopChanges.0 értéke
kettõ, ami arra utal, hogy az STP híd
topológiája kétszer változott. A
topológia változása pedig azt jelenti,
hogy a hálózaton belül egy vagy több
link állapota megváltozott vagy egyszerûen
meghibásodott és ezért egy új
fát kellett számolni. A
dot1dStpTimeSinceTopologyChange.0
érték adja meg, hogy ez pontosan mikor is
történt.Több híd felületének
felügyeletéhez a belsõ BEGEMOT-BRIDGE-MIB
parancsot is használhatjuk:&prompt.user; snmpwalk -v 2c -c public bridge1.example.com
enterprises.fokus.begemot.begemotBridge
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1
...
BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds
BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds
BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1
BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1
BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31
BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9Így tudjuk megadni, hogy a hidat
mib-2.dot1dBridge részfán
keresztül akarjuk megfigyelni:&prompt.user; snmpset -v 2c -c private bridge1.example.com
BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2AndrewThompsonÍrta: Linkek összefûzése és
hibatûréselaggfailoverfeclacploadbalanceroundrobinBevezetésA &man.lagg.4; felület lehetõvé teszi, hogy
több hálózati felületet egyetlen
virtuális felületként fûzzünk
össze, és ezzel egy hibatûrõ és
nagysebességû összeköttetést
alakítsunk ki.Mûködési módokfailoverCsak az elsõdlegesként kijelölt porton
keresztül fogad és küld adatokat. Amikor
ez az elsõdleges port elérhetetlenné
válik, a következõ aktív portot
fogja használni. Az elsõként felvett
felület válik automatikusan az elsõdleges
porttá, és az utána felvett összes
többit pedig csak hiba esetén
használjuk.&cisco; Fast ðerchannel;A &cisco; Fast ðerchannel; (FEC) technológia
támogatása. Ez egy statikus
beállítás, és nem egyezteti az
összefûzést a többiekkel vagy a linkek
felügyeletéhez nem vált kereteket. Ha a
switch támogatja az LACP használatát,
akkor inkább azt válasszuk.A FEC a kimenõ forgalmat a
fejlécekben szereplõ protokollok alapján
számolt hasítókóddal
próbálja szétosztani az aktív
portok között, és tetszõleges
aktív porton fogad beérkezõ adatokat. Az
említett hasítókódban egy
Ethernetes forrás- és célcím
szerepel, valamint ha elérhetõ, akkor egy VLAN
címke, illetve az IPv4/IPv6 forrás- és
célcím.LACPAz &ieee; 802.3ad Link Aggregation Control Protocol (LACP)
és a Marker Protcol támogatása. Az
LACP megpróbálja egyeztetni a többi
géppel az összefûzhetõ linkeket egy
vagy több csoportban (Link Aggregated Group, LAG).
Mindegyik ilyen csoportban ugyanolyan sebességû
portokat találunk, full-duplex
mûködési módban. A forgalmat
így a legnagyobb összsebességgel
rendelkezõ csoportban megtalálható portok
között osztja el, ami a legtöbb esetben az
összes portot magában foglaló csoport. A
fizikai konnektivitás megváltozása
esetén a linkek összefûzõdése
igen gyorsan alkalmazkodik az új
konfigurációhoz.Az LACP a kimenõ forgalmat az
aktív portok között osztja szét
fejlécekben szereplõ protokollok alapján
számolt hasítókóddal, és
bármelyik aktív portról fogad
bejövõ forgalmat. A
hasítókódban megtalálható
az Ethernetes forrás- és célcím,
valamint ha elérhetõ, akkor a VLAN címke,
illetve az IPv4/IPv6 forrás- és
célcímek.LoadbalanceEz a FEC mód másik
neve.Round-RobinA kimenõ forgalmat egy körkörös
(Round-Robin) elvû ütemezõvel osztja
szét az aktív portok között
és tetszõleges aktív portról fogad
bejövõ forgalmat. Ez a mûködési
mód megsérti az Ethernet keretek
rendezését és csak nagy
körültekintés mellett alkalmazzuk.PéldákLACP alapú összefûzés egy &cisco;
switch-cselEbben a példában egy &os;-s gép
két felületét kapcsoljuk össze
switch-csel egy egyszerû
terhelés-kiegyenlítéssel és
hibatûréssel beállított linken
keresztül. Mivel az Ethernet keretek sorrendje
döntõ fontosságú, ezért a
két állomás között egyazon
fizikai linken zajló forgalom maximális
sebességét az adott felület
kapacitása korlátozza. A küldési
algoritmus a lehetõ legtöbb információ
alapján próbálja egymástól
megkülönböztetni a forgalmakat és
elosztani ezeket a rendelkezésre álló
felületek között.A &cisco; switch-en vegyünk fel a
FastEthernet0/1 és
FastEthernet0/2
interfészeket az 1 csoportba
(channel group):interface FastEthernet0/1
channel-group 1 mode active
channel-protocol lacp
!
interface FastEthernet0/2
channel-group 1 mode active
channel-protocol lacpA &os;-s gépen pedig a
fxp0 és
fxp1 használatával
hozzunk létre a &man.lagg.4; interfészt:&prompt.root; ifconfig lagg0 create
&prompt.root; ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1Ellenõrizzük a felület
állapotát:&prompt.root; ifconfig lagg0A ACTIVE jelzésû, vagyis
aktív állapotú portok az
összefûzéshez kialakított csoport azon
tagjai, amelyeknél felépült a kapcsolat a
távoli switch felé és készen
állnak a küldésre és
fogadásra. Ha az &man.ifconfig.8; programtól
részletesebb kimenetet kérünk, akkor
láthatjuk a csoportok azonosítóit
is:lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:05:5d:71:8d:b8
media: Ethernet autoselect
status: active
laggproto lacp
laggport: fxp1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: fxp0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>A show lacp neighbor paranccsal
kérdezhetjük le a portok
állapotát:switch# show lacp neighbor
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 1 neighbors
Partner's information:
LACP port Oper Port Port
Port Flags Priority Dev ID Age Key Number State
Fa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3D
Fa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3DRészletesebb kijelzést a show
lacp neighbor detail paranccsal kaphatunk.A hibatûrés
beállításaA hibatûrési mód arra alkalmas, hogy
amikor az elsõdleges porton elvesztjük a
kapcsolatot, helyette egy másodlagos interfész
használatára tudunk áttérni.
Hozzuk létre és állítsuk be a
lagg0 interfészt, ahol az
fxp0 legyen a
fõinterfész, az fxp1
pedig a tartalék interfész:&prompt.root; ifconfig lagg0 create
&prompt.root; ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1Az így létrejövõ interfész
nagyjából az alábbi lesz, ahol
eltérés a MAC-cím
és az eszköz neve:&prompt.root; ifconfig lagg0
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:05:5d:71:8d:b8
media: Ethernet autoselect
status: active
laggproto failover
laggport: fxp1 flags=0<>
laggport: fxp0 flags=5<MASTER,ACTIVE>A forgalom kezdetben az fxp0
felületen keresztül érkezik és
távozik. Ha az fxp0
felületen valamiért megszakadna a kapcsolat,
helyette az fxp1 lesz az
aktív link. Ha késõbb helyreáll a
kapcsolat az elsõdleges felületen, akkor újra
az lesz aktív link.Jean-FrançoisDockèsFrissítette: AlexDupreÁtdolgozta és javította:
Lemez nélküli mûködéslemez nélküli
munkaállomáslemez nélküli
mûködésA &os; képes hálózaton keresztül
elindulni és helyi lemez nélkül egy
NFS szerver által megosztott
állományrendszer csatlakoztatásával
mûködni. Ehhez a szabványos
konfigurációs állományok
módosításán kívül semmi
másra nincs szükségünk. Egy ilyen
rendszert viszonylag könnyû beállítani,
mivel az összes hozzávaló szinte készen
elérhetõ:Rögtön adott legalább két
módszer, ha a rendszermagot hálózaton
keresztül akarjuk betölteni:PXE: az &intel; által
fejlesztett Preboot eXecution Environment
(indítás elõtti
végrehajtási környezet)
nevû rendszer a hálózati
kártyákba vagy alaplapokba
épített ROM
segítségével teszi
lehetõvé az intelligens
rendszerindítást. A &man.pxeboot.8; man
oldalán olvashatunk errõl
részletesebben.Az Etherboot port
(net/etherboot) olyan
ROM-ba programozható kódot
készít, amellyel rendszermagokat tudunk
hálózaton keresztül betölteni. Ez
a kód egyaránt felhasználható
egy hálózati rendszerindító
PROM beégetéséhez, vagy
betölthetõ a helyi floppy (esetleg
merev)lemezrõl, illetve &ms-dos; rendszer
alól. Elég sok hálózati
kártya támogatja ezt a módot.Egy mintaszkript
(/usr/share/examples/diskless/clone_root)
is próbálja megkönnyíteni a
szerveren a munkaállomás
rendszerindító
állományrendszerének
létrehozását és
karbantartását. Ezt a szkriptet
valószínûleg némileg
módosítani kell, de így is sokat
segít az elindulásban.Az /etc könyvtárban
található szabványos
rendszerindításhoz használt
állományok, amelyekkel a lemez
nélküli indulást lehet detektálni
és segíteni.A lapozás, amennyiben szükséges,
NFS vagy helyi lemez
segítségével oldható meg.Számos módon állíthatunk be egy
lemez nélküli munkaállomást. Rengeteg
részbõl tevõdik össze, és ezek
legtöbbje remekül testreszabható az
igényeinknek. A továbbiakban egy teljes rendszer
összeállításának
lehetséges variációit ismertetjük,
különös hangsúlyt fektetünk arra, hogy
egyszerûek és a hagyományos &os;
indítószkriptekkel kompatibilisek maradjanak. A
bemutatandó rendszer a következõ
jellemzõkkel bír:A lemez nélküli munkaállomások
megosztott / és
/usr állományrendszereket
használnak.A rendszer indításához
használt gyökér
állományrendszer a szabvány &os;-s
gyökér (ez általában a
szerveré), ahol néhány
állományt felülírtunk a lemez
nélküli mûködéshez vagy
azért, mert egyszerûen az adott
munkaállomáshoz tartozik.A gyökér azon részeit, amelyeket
írhatóvá kívánunk tenni,
&man.md.4; alapú állományrendszerekkel
lapoljuk felül. Ilyenkor azonban bármilyen rajtuk
ejtett változtatás a rendszer
újraindításával elveszik.A rendszermagot vagy az
Etherboot vagy a
PXE használatával
küldessük át és töltsük be,
mivel egyes helyzetekben ezekre szükség
lesz.A bemutatott rendszer nem biztonságos.
Helyezzük a hálózatunk egy jól
védett részére, és a többi
gép ne tekintse megbízhatónak.A szakaszban szereplõ összes
információt a &os; 5.2.1-RELEASE
változatával teszteltük.HáttérinformációkA lemez nélküli munkaállomások
beállítása egyszerre adja magát
és könnyen is elvéthetõ. Az
elkövetett hibákat olykor számos okból
kifolyólag nehéz felismerni.
Például:A fordítási idõben megadott
beállítások mást
eredményeznek futási idõben.A hibaüzenetek gyakran titokzatosak vagy esetleg
teljesen el is maradnak.Ezért ha valamennyire tisztában vagyunk a
háttérben zajló folyamatokkal, akkor sokkal
több eséllyel leszünk képesek megoldani
a menet közben felmerülõ
problémákat.A rendszernek a sikeres felkapaszkodáshoz több
mûveletet is végre kell hajtania:A gépnek szüksége van olyan
induló paraméterekhez, mint
például az IP-cím, a
végrehajtható állomány neve, a
szerver neve, a gyökér elérési
útja. Ezeket a DHCP vagy a BOOTP
protokollok használatával adhatjuk meg. A
DHCP a BOOTP kompatibilis
kiterjesztése, ezért ugyanazokat a portokat
és alapvetõ csomagformátumot
alkalmazza.A rendszerüket kizárólag BOOTP
használatával is beállíthatjuk.
A &man.bootpd.8; szerver az alap &os; rendszer
része.A DHCP azonban rengeteg elõnnyel
rendelkezik a BOOTP protokollal szemben
(áttekinthetõbb konfigurációs
állományok, a PXE
használatának lehetõsége, illetve
sok minden más, ami nem csak a lemez
nélküli mûködéshez kellhet),
ezért itt alapvetõen egy DHCP alapú
konfigurációt mutatunk be, de ahol
megoldható, megemlítjük a &man.bootpd.8;
esetén alkalmas példákat is. A
mintaként szolgáló
konfiguráció az ISC
DHCP szoftvercsomagot használja (a
tesztszerverre ennek a 3.0.1.r12 verzióját
telepítetük fel).A gépnek egy vagy több programot kell a
saját memóriájába
áttöltenie. Erre vagy a TFTP
vagy pedig az NFS alkalmas. A
TFTP és az NFS
között sok helyen fordítási
idõben tudunk választani. Gyakori
hibaforrás a protokollhoz rosszul megadott
állománynevek használata: a
TFTP általában az
összes állományt a szerverrõl
egyetlen könyvtárból tölti
át, ezért arra számít, hogy a
neveiket ehhez viszonyítva adjuk meg. Az
NFS használata során
azonban abszolút elérési utakat kell
megadnunk.A rendszer indítását
lehetõvé tevõ közbensõ
programokat és a rendszermagot valahogy
inicializálni kell és elindítani. Ezen
a területen több fontos változat kapott
helyet:A PXE a &man.pxeboot.8;
kódját fogja betölteni, ez
lényegében a &os; betöltõ
harmadik fokozatának egy módosított
változata. A &man.loader.8; a
mûködéséhez
szükséges paramétereket a rendszer
indításakor kapja meg, majd a
vezérlés átadása elõtt
ezeket a rendszermag környezetében hagyja.
Ebben az esetben akár a
GENERIC rendszermag is
használható.Az Etherboot kevesebb
elõkészítéssel
közvetlenül magát a rendszermagot
tölti be. Ehhez azonban egy saját
rendszermagot kell építeni,
külön
beállításokkal.A PXE és az
Etherboot egyaránt
jól használható. Mivel azonban a
rendszermagok általában a &man.loader.8;
kódjára hagyják a munka legnagyobb
részét, ezért ahol lehetséges, a
PXE megoldását
érdemes alkalmazni.Tehát ha az alaplapi BIOS
és a hálózati kártya is
támogatja a PXE
használatát, akkor válasszunk
inkább azt.Végezetül a gépnek valamilyen
módon hozzá kell tudnia férnie az
állományrendszerekhez. Erre többnyire az
NFS jöhet szóba.A további részleket lásd a
&man.diskless.8; man oldalon.Beállítási
útmutatóBeállítás a ISC
DHCP használatávalDHCPlemez nélküli
mûködésAz ISC DHCP szervere
képes a BOOTP és DHCP
kéréseket is megválaszolni.Az ISC DHCP 3.0 nem az
alaprendszer része, ezért a
használatához elõször
telepítenünk kell a net/isc-dhcp30-server portot vagy a
neki megfelelõ csomagot.Ahogy feltelepítettük, le kell futtatnunk az
ISC DHCP
konfigurációs állományát
(ezt általában
/usr/local/etc/dhcpd.conf néven
találjuk meg). A most következõ,
megjegyzésekkel kiegészített
példában egy margaux
nevû gép az
Etherboot, valamint egy
corbieres nevû gép
PXE használatával akar
kapcsolódni:
default-lease-time 600;
max-lease-time 7200;
authoritative;
option domain-name "minta.com";
option domain-name-servers 192.168.4.1;
option routers 192.168.4.1;
subnet 192.168.4.0 netmask 255.255.255.0 {
use-host-decl-names on;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.4.255;
host margaux {
hardware ethernet 01:23:45:67:89:ab;
fixed-address margaux.minta.com;
next-server 192.168.4.4;
filename "/data/misc/kernel.diskless";
option root-path "192.168.4.4:/data/misc/diskless";
}
host corbieres {
hardware ethernet 00:02:b3:27:62:df;
fixed-address corbieres.minta.com;
next-server 192.168.4.4;
filename "pxeboot";
option root-path "192.168.4.4:/data/misc/diskless";
}
}
Ez a beállítás arra
utasítja a dhcpd
démont, hogy a lemez nélküli
gép hálózati neveként a
host deklarációban
megadott értéket küldje el. Ezt
úgyis meg lehet csinálni, hogy
felvesszünk egy option host-name
margaux
részt a host
deklarációk közé.A next-server direktíva a
betöltõ vagy a rendszermag
betöltéséért felelõs
TFTP vagy NFS
szervert jelöli ki (alapértelmezés
szerint ez megegyezik a DHCP
szerverrel).A filename direktíva azt
az állományt adja meg, amelyet az
Etherboot vagy a
PXE a következõ
végrehajtási lépésben
betölt. Ezt a kiválasztott átviteli
módnak megfelelõen kell megadni. Az
Etherboot
lefordítható az NFS
vagy a TFTP
használatával is. A &os; port
alapból az NFS
támogatását tartalmazza. A
PXE a TFTP
protokollt használja, ezért itt
relatív állományneveket adunk meg
(ez persze a TFTP szerver
beállításaitól függ, de
általában ez a jellemzõ). Sõt,
a PXE a pxeboot
állományt tölti be, nem is a
rendszermagot. Léteznek további
érdekes lehetõségek is, mint
például a pxeboot
állomány betöltése a &os;
CD-jén található /boot
könyvtárból (mivel a &man.pxeboot.8;
a GENERIC rendszermagot
képes betölteni, ezért a
PXE használatával
akár egy távoli
CD-meghajtóról is indíthatjuk a
rendszert).A root-path opció a
rendszer indításához
használt gyökér
állományrendszert nevezi meg, amelyet
többnyire az NFS
jelölési módszere szerint kell
megadni. A PXE használata
során el lehet hagyni a gép
IP-címét egészen addig, amíg
nem engedélyezzük a rendszermagban a BOOTP
beállítást. Az
NFS szerver ekkor megegyzik a
TFTP szerverrel.Beállítás a BOOTP
használatávalBOOTPlemez nélküli
mûködésItt a bootpd (egyetlen
kliensre korlátozott)
beállítását láthatjuk.
Ezt az /etc/bootptab
állományba tegyük.Ne feledjük, hogy a BOOTP
használatához az
Etherboot portot a
NO_DHCP_SUPPORT
beállítással kell fordítanunk,
miközben a PXE esetében kell
a DHCP. Egyébként a
bootpd egyedüli
nyilvánvaló elõnye csupán annyi,
hogy az alaprendszer része.
.def100:\
:hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
:sm=255.255.255.0:\
:ds=192.168.4.1:\
:gw=192.168.4.1:\
:hd="/tftpboot":\
:bf="/kernel.diskless":\
:rp="192.168.4.4:/data/misc/diskless":
margaux:ha=0123456789ab:tc=.def100
A rendszer elõkészítése az
Etherboot
számáraEtherbootAz Etherboot
honlapján találhatunk egy
minden részletre kiterjedõ
dokumentációt (angolul), amely
elsõsorban ugyan a Linux típusú rendszerek
számára íródott, de ettõl
függetlenül még hasznos
információkat tartalmaz. A továbbiakban
csak annyit szeretnénk körvonalazni, hogy az
Etherboot miként
bírható mûködésre &os;
rendszerekkel.Elõször telepítenünk kell a
net/etherboot csomagot
vagy portot.Az Etherboot
beállítását (vagyis a
TFTP használatának
megadását az NFS helyett) az
Etherboot forrását
tartalmazó könyvtárban
található Config
állomány megfelelõ
átírásával tudjuk megtenni.Itt most floppyról fogjuk indítani a
rendszert. A többi módszerrel (PROM vagy &ms-dos;
program) kapcsolatban olvassuk el az
Etherboot
dokumentációját.A rendszerindító lemez
elkészítéséhez tegyünk egy
lemezt annak a gépnek a meghajtójába,
ahová az Etherboot
felkerült. Váltsunk az
Etherboot
könyvtárán belül az
src alkönyvtárba és
gépeljük be:
&prompt.root; gmake bin32/eszköztípus.fd0Az eszköztípus a
lemez nélküli munkaállomás Ethernet
kártyájától függ. Az
ugyanebben a könyvtárban található
NIC állományból
tudjuk kiolvasni, hogy az adott kártyához melyik
eszköztípus
tartozik.A rendszer indítása PXE
használatávalAlapértelmezés szerint a &man.pxeboot.8;
betöltõ a rendszermagot NFS-en
keresztül tölti be. Ha az
/etc/make.conf állományban
a LOADER_TFTP_SUPPORT
beállítást adjuk meg, akkor
TFTP támogatással is
lefordítható. Ezzel kapcsolatban a
/usr/share/examples/etc/make.conf
állományban található
megjegyzéseket érdemes elolvasnunk.A make.conf állományban
még további két másik hasznos
opciót is találhatunk a soros vonali konzollal
üzemelõ lemez nélküli gépek
számára: az egyik a
BOOT_PXELDR_PROBE_KEYBOARD, a másik
pedig a BOOT_PXELDR_ALWAYS_SERIAL.A gép indításakor úgy tudjuk
beüzemelni a PXE
használatát, ha a BIOS
beállításai között a
Boot from network opciót
választjuk ki, vagy a gép bekapcsolása
után lenyomjuk hozzá a megfelelõ
funkcióbillentyût.A TFTP és
NFS szerverek
beállításaTFTPlemez nélküli
mûködésNFSlemez nélküli
mûködésHa a PXE vagy az
Etherboot a TFTP
protokollt használja, akkor az
állományszerveren a
tftpd démont kell
elindítani:Készítsünk egy
könyvtárat, ahonnan majd a
tftpd küldi az
állományokat, például legyen
ez a /tftpboot.Vegyük fel a következõ sort az
/etc/inetd.conf
állományunkba:tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpbootA tapasztalat szerint egyes PXE
verziók a TFTP
TCP alapú
változatát használják.
Ebben az esetben vegyünk fel még egy
második sort is, ahol a dgram
udp részt stream
tcp-re cseréljük.Mondjuk meg az inetd
démonnak, hogy olvassa újra a
konfigurációs
állományát. Az alábbi parancs
megfelelõ mûködéséhez Az
sornak szerepelnie
kell az /etc/rc.conf
állományban:&prompt.root; /etc/rc.d/inetd restartA tftpboot könyvtárat
bárhova rakhatjuk a szerveren. Viszont az
inetd.conf és
dhcpd.conf állományokban
ezt ne felejtsük fel megadni.Minden esetben engedélyeznünk kell az
NFS használatát és
vele együtt exportálni az NFS
szerverrõl elérni kívánt
állományrendszereket.Az /etc/rc.conf
állományba tegyük bele a
következõt:nfs_server_enable="YES"Az /etc/exports
állományban a lemez nélküli
rendszereknek szánt
gyökérkönyvtárat tegyük
elérhetõvé (a példában
írjuk át a kötet csatlakozási
pontját és a margaux
corbieres helyére
állítsuk be a saját lemez
nélküli munkaállomásaink
neveit:/data/misc -alldirs -ro margaux corbieresKérjük meg a
mountd démont, hogy
olvassa újra a konfigurációs
állományát. Elõfordulhat
azonban, hogy ehhez elõször az
NFS szolgáltatást kell
engedélyezni az /etc/rc.conf
állományból és
újraindítani a gépet.&prompt.root; /etc/rc.d/mountd restartLemez nélküli rendszermag
fordításalemez nélküli
mûködésa rendszermag
beállításaiHa az Etherboot
használata mellett döntünk, akkor a lemez
nélküli kliensek számára a
rendszermagot a következõ
beállítások használatával
kell újrafordítani (a megszokottak
mellett):
options BOOTP # BOOTP-n keresztül kérünk IP-címet és hálózati nevet
options BOOTP_NFSROOT # a BOOTP-tõl kapott információk alapján csatoljuk a gyökeret NFS-en keresztül
Ezek mellett valószínûleg
szükségünk lesz a
BOOTP_NFSV3, BOOT_COMPAT
és BOOTP_WIRED_TO
beállítások megadására is
(lásd a NOTES
állományt).A beállítások nevei
régrõl származnak és némileg
félrevezetõek lehetnek, mivel
valójában semmit sem változtatnak a
rendszermagban levõ DHCP vagy a BOOTP
rutinok használatában (egyébként
meg lehet adni vagy az egyik vagy a másik protokoll
kizárólágos használatát
is).Fordítsuk le a rendszermagot (lásd ), és másoljuk a
dhcpd.conf állományban
megadott helyre.Amikor a PXE protokollt
használjuk, a rendszermagot nem fontos az
imént felsorolt paraméterekkel
fordítanunk (habár ajánlatos). Az
engedélyezésükkel több
DHCP kérés keletkezik a
rendszermag elindulása közben, ezért
kisebb a kockázata annak, hogy a &man.pxeboot.8;
által bizonyos esetekben megszerzett és az
új értékek között valamilyen
ellentmondás jön létre. A
használatuk egyik elõnye, hogy így
mellékhatásként a
hálózati nevünket is megkapjuk.
Ellenkezõ esetben erre is találnunk kellene
valamilyen módot, például fenntartani
egy-egy rc.conf állományt
minden kliensen.Az Etherboot csak akkor lesz
képes betölteni a rendszermagot, ha device
hinteket is beépítünk. Ezt a
következõ beállítással tudjuk
megoldani (errõl bõvebben lásd a
NOTES állomány
megjegyzéseit):hints "GENERIC.hints"A rendszerindító
állományrendszer
elõkészítéserendszerindító
állományrendszerlemez nélküli
mûködésA dhcpd.conf állomány
root-path
beállításának megfelelõen
hozzunk létre a rendszer
indítására alkalmas gyökér
állományrendszert.Az állományrendszer
feltöltése a make world
paranccsalEzzel a módszerrel a DESTDIR
könyvtárba pillanatok alatt telepíteni
tudunk egy teljes szûz rendszert (és nem csak a
rendszerindító
állományrendszert). Ehhez mindössze csak
annyit kell tenni, hogy lefuttatjuk a következõ
szkriptet:#!/bin/sh
export DESTDIR=/data/misc/diskless
mkdir -p ${DESTDIR}
cd /usr/src; make buildworld && make buildkernel
cd /usr/src/etc; make distributionMiután végzett, már csak a
DESTDIR könyvtárban
található /etc/rc.conf
és /etc/fstab
állományokat kell az igényeinkhez
igazítani.A lapozóterület
beállításaAmennyiben szükséges, a szerveren
található lapozóállományt
NFS-en keresztül el tudjuk
érni.Lapozás NFS-selA rendszermag maga nem támogatja az
NFS alapú lapozás
engedélyezését a rendszer
indításakor. A
lapozóállományt ezért a
rendszerindító szkripteken keresztül
aktiváljuk, amelyekben csatlakoztatunk egy
írható állományrendszert, ahol
létrehozzuk és engedélyezzük a
lapozóállományt. Tetszõleges
méretû lapozóállományt
például így tudunk
készíteni:&prompt.root; dd if=/dev/zero of=/a/lapozóállomány/helye bs=1k count=1 oseek=100000Az engedélyezéséhez pedig a
következõ sort kell felvenni az
rc.conf
állományba:swapfile=/a/lapozóállomány/helyeEgyéb problémákÍrásvédett
/usr használatalemez nélküli
mûködésírásvédett /usrHa a lemez nélküli
munkaállomáson X szervert akarunk futtatni,
akkor az XDM
konfigurációs állományait
kicsit módosítanunk kell, mert
alapértelmezés szerint a
/usr könyvtárban hozza
létre a naplókat.Nem &os;-s szerver használataAmikor a rendszer indításához
használt állományrendszert nem egy &os;
alapú számítógépen
tároljuk, akkor elõször ezt egy &os;-s
gépen kell elkészíteni, majd a
tar vagy cpio
segítségével átmásolni a
megfelelõ helyre.Ilyen helyzetekben gyakran gondok adódhatnak
olyan speciális állományokkal, mint
például amelyek a /dev
könyvtárban találhatóak, mivel a
fõ- és aleszközazonosítók
tárolására szánt méret
különbözhet. Ezt úgy oldhatjuk meg,
ha exportálunk egy könyvtárat a nem &os;
alapú szerveren, ezt csatlakoztatjuk a &os;-s
gépen, majd a &man.devfs.5;
segítségével a
eszközleírókat a
felhasználó számára
észrevétlen módon foglaljuk le.ISDNISDNAz ISDN technológiai és hardveres
hátterérõl sokat megtudhatunk Dan Kegel
ISDN-rõl szóló oldalán
(angolul).Az ISDN használatát röviden így
foglalhatnánk össze:Ha Európában élünk, akkor minden
bizonnyal az ISDN kártyákkal foglalkozó
szakaszt érdemes elolvasnunk.Ha elsõsorban betárcsázós
ISDN-nel szeretnénk csatlakozni az internetre egy
internet-szolgáltatón keresztül, akkor a
terminál adaptereket tárgyaló szakaszt
nézzük meg. A szolgáltatók
váltásakor ezzel jár a legtöbb
rugalmasság és a legkevesebb
probléma.Ha két helyi hálózat
összekötésére használjuk, vagy
az internethez egy bérelt ISDN vonalon keresztül
kapcsolódunk, akkor egy önálló
útválasztó vagy hálózati
híd beállításában
érdemes gondolkodnunk.A költség fontos szerepet játszik az
elfogadható megoldás
kiválasztásában. A most következõ
lehetõségeket a legolcsóbbtól indulva
kezdjük el felsorolni egészen a
legdrágábbig.HellmuthMichaelisKészítette: ISDN kártyákISDNkártyákA &os;-ben megtalálható ISDN
implementáció csak a DSS1/Q.931 (más
néven Euro-ISDN) szabvány szerint gyártott
passzív kártyákat támogatja. Ismer
azonban egyes olyan aktív kártyákat is,
amelyeknél a firmware további más
jelkezelési protokollokat is támogat. Ilyen
többek közt az elsõként támogatott
Primary Rate (PRI) ISDN kártya.Az isdn4bsd szoftver
segítségével kapcsolódni tudunk
más ISDN útválasztókhoz IP-n
keresztül a nyers HDLC felett, vagy szinkron PPP
használatával. Mindezeket a rendszermagban
található PPP-re vagy az
isppp-re építkezik.&os; alatt egyre több PC-s ISDN kártyához
készül el a támogatás, és a
visszajelzések azt mutatják, hogy
Európában és a világ minden
részén sikerrel használják
ezeket.A passzív ISDN kártyák közül
is leginkább az Infineon (korábban Siemens)
gyártmányú ISAC/HSCX/IPAC ISDN
chipkészletek támogatottak, de a Cologne chippel
rendelkezõ (de csak ISA buszos) ISDN kártyák,
a Winbond W6692 chipes PCI buszos kártyák,
és a Tiger300/320/ISAC chipkészletek egyes
változatai, valamint néhány
gyártófüggõ chipkészlettel
rendelkezõ kártya, mint például az AVM
Fritz!Card PCI V.1.0 és az AVM Fritz!Card PnP is
remekül mûködik.Jelenleg a következõ aktív ISDN
kártyákat támogatja a rendszer: AVM B1 (ISA
és PCI) BRI kártyák és az AVM T1 PCI
PRI kártyák.Az isdn4bsd
dokumentációját a rendszerünkön
belül a /usr/share/examples/isdn/
könyvtárban találhatjuk meg, vagy
közvetlenül az isdn4bsd
honlapján, ahol több hivatkozást is
találunk tippekre, hibajegyzékekre és
bõségesebb dokumentációra,
például az isdn4bsd saját
kézikönyvére.Ha szeretnénk egy másik ISDN protokoll
támogatásának
kifejlesztésében résztvenni, vagy egy
jelenleg még nem támogatott ISDN
kártyát használhatóvá tenni,
esetleg valamilyen más módon segíteni az
isdn4bsd ügyét,
vegyük fel a kapcsolatot &a.hm; fejlesztõvel.Az isdn4bsd
telepítésével,
beállításával és
hibaelhárításával kapcsolatos
kérdéseinket a &a.isdn.name; levelezési
listán tehetjük fel.ISDN terminál adapterekAz ISDN számára olyanok a terminál
adapterek, mint a hagyományos telefonvonalak
számára a modemek.modemA legtöbb terminál adapter a Hayes-modemek
szabványos AT parancskészletét
használja, és könnyen be lehet iktatni egy
modem helyett.A terminál adapterek alapvetõen ugyanúgy
mûködnek, mint a modemek, kivéve, hogy egy
átlagos modemnél jóval nagyobb
adatátviteli sebességre képesek.
Ezért a PPP kapcsolatunkat
pontosan ugyanúgy kell beállítani, mint a
modemek esetében. Ne felejtsük a soros pont
sebességét a maximális
értékre állítani.PPPA terminál adapterek használatának
egyik legnagyobb elõnye, hogy
segítségükkel dinamikus PPP-n keresztül
tudunk az internet-szolgáltatónkhoz
kapcsolódni. Mivel az IP-címtartomány
egyre inkább szûkösebb, a legtöbb
szolgáltató nem szívesen oszt ki
bárkinek is statikus IP-címet. A legtöbb
önálló útválasztó
azonban nem képes alkalmazkodni az IP-címek
dinamikus kiosztásához.A terminál adapter az elérhetõ
lehetõségeket és a kapcsolat
stabilitását tekintve teljesen a PPP
démontól függ. Emiatt egy &os;-s
gépet könnyû modemrõl
átállítani az ISDN
használatára, ha már egyszer
beállítottuk a PPP démont. Ezzel
együtt azonban a PPP használata során
tapasztalt problémák ugyanúgy ismét
felmerülnek.Ha a maximális stabilitásra van
szükségünk, akkor a rendszermag PPP beállítását
használjuk, és ne a felhasználói PPP
megoldást.A &os; hivatalosan az alábbi terminál
adaptereket ismeri:Motorola BitSurfer és
Bitsurfer ProAdtranValószínûleg a többi terminál
adapterrel is képes együttmûködni, mivel a
terminál adapterek gyártói
általában igyekeznek a termékeiket a
szabványos modemes AT parancskészletével
kompatibilissá tenni.Az igazi probléma a külsõ terminál
adapterekkel adódik, mivel, akárcsak a modemek
esetében, egy nagyon jó soros
kártyát igényelnek.A soros eszközök
mûködésének részleteit valamint
az aszinkron és szinkron soros portok közti
különbségeket a &os; soros
hardverekrõl szóló cikkében
olvashatjuk.A terminál adaptereken keresztül
elérhetõ sebességet a PC-kben
található szabványos (aszinkron) soros port
115,2 Kb/mp-re korlátozza, még
128 Kb/mp-es adatátvitelû kapcsolatok
esetében is. Az ISDN által nyújtott
128 Kb/mp kihasználásához a
terminál adaptert egy szinkron soros
kártyával kell összekötnünk.Ne higyjük, hogy egy belsõ terminál adapter
megvásárlásával
megmenekülünk ettõl a gondtól. A
belsõ terminál adapterekbe egyszerûen csak egy
sima szabványos PC-s soros portot építettek
bele. Mindössze egy soros kábelt és egy
konnektort takarítunk meg velük.A terminál adapterhez csatlakozó szinkron
kártyák legalább olyan gyorsak, mint egy
önálló útválasztó,
és egy egyszerû 386-osra épülõ &os;
rendszerrel talán még rugalmasabban is
kezelhetõek.A terminál adapter plusz szinkron kártya
kontra önálló útválasztó
kérdése már
hitkérdéssé fajult, amirõl igen sokat
vitatkoztak szerte a levelezési listákon. A
teljes okfejtés elolvasásához az archívum
böngészését javasoljuk.Önálló ISDN hálózati hidak
és útválasztókISDNönálló hálózati
hidak és útválasztókAz ISDN hidak vagy útválasztók nem
egészen a &os; vagy operációs rendszerek
területéhez tartoznak. Az
útválasztás és a
hálózatok hidak alapjainak a
számítógépes
hálózatokról szóló
szakirodalomban járhatunk utána.Ebben a szakaszban a hálózati híd
és az útválasztó
kifejezéseket egymás
szinonímájaként fogjuk
használni.Ahogy az olcsóbb ISDN
útválasztók és hidak árai
egyre jobban csökkennek, ezért egyre inkább
népszerûbbé válnak. Az ISDN
útválasztó egy apró doboz, amelyet
közvetlenül a helyi Ethernet
hálózatunkra tudunk csatlakoztatni, és a
többi útválasztóhoz vagy hídhoz
kapcsolódik. A benne található szoftverrel
képes kommunikálni a PPP vagy más
egyéb népszerû protokollokon
keresztül.Az útválasztó egy szabványos
terminál adapternél sokkal nagyobb
adatátvitelt tesz lehetõvé, mivel a teljes
szinkron ISDN kapcsolatot képes
kihasználni.Az ISDN útválasztókkal és
hidakkal kapcsolatban az egyik legnagyobb
problémát a különbözõ
gyártók közti eltérések
jelenthetik. Ha egy szolgáltatóhoz akarunk ezen a
módon csatlakozni, akkor érdemes elõzetesen
egyeztetni az igényeinket velük.Ha két helyi hálózati szegmenst akarunk
összekapcsolni, mint például az otthoni
és az irodai hálózatot, akkor ez a
megoldás jár a legkevesebb karbantartási
költséggel. Mivel ekkor mi magunk
vásároljuk a kapcsolat mind a két
oldalára a felszerelést, biztosak lehetünk
benne, hogy az így létrehozott
összekötettés mûködni fog.Például, ha egy otthon vagy a vállalat
egy fiókjánál levõ gépet
akarjuk összekötni az igazgatóság
hálózatával, akkor a következõ
felállást érdemes
követnünk:Egy otthoni vagy egy fiókbeli
hálózat10 Base 2A hálózat busz
topológiájú és 10 Base 2
Ethernetet használ (thinnet). Ha
szükséges, akkor az
útválasztót egy AUI/10BT
adó-vevõvel csatlakoztassuk a
hálózati kábelre.---Sun munkaállomás
|
---&os;
|
---Windows 95
|
az önálló útválasztó
|
ISDN BRI vonal10 Base 2 EthernetHa az otthoni vagy fiókbeli
számítógép az egyedüli, akkor
egy keresztkötésû sodrott érpár
kábellel akár közvetlenül is
csatlakozhatunk az útválasztóhoz.Az igazgatósági iroda vagy egy másik
helyi hálózat10 Base TA hálózat csillag
topológiájú, és 10 Base T Ethernet
kábelezésû (sodrott
érpár). -------Novell szerver
| H |
| ---Sun
| |
| U ---&os;
| |
| ---Windows 95
| B |
|___---az önálló útválasztó
|
ISDN BRI vonalAz ISDN hálózat
felépítéseA legtöbb útválasztó/híd
elõnye, hogy egyszerre 2
egymástól független PPP
kapcsolatot tudunk felépíteni velük 2
egymástól független géppel. Ezt a
legtöbb terminál adapter nem támogatja,
kivéve azok a (általában drága)
típusok, amelyek két soros porttal rendelkeznek.
Ezt ne tévesszük össze a csatornák
nyalábolásával, az MPP-vel és a
többivel.Ez nagyon hasznos lehet például olyan
esetekben, amikor van egy dedikált ISDN kapcsolatunk az
irodában, amelyet ugyan szeretnénk megcsapolni, de
nem szeretnénk a másik ISDN vonalat is elrabolni.
Az irodában levõ A útválasztó
képes a dedikált B csatornájú
kapcsolaton (64 Kb/mp) keresztül elérni az
internetet, miközben a másik B csatornát
ettõl független adatkapcsolatra használja. A
második B csatorna így használható
betárcsázásra,
kitárcsázásra vagy a másik B
csatornával együtt dinamikus
nyalábolásra (MPP stb.) a nagyobb
sávszélesség elérése
érdekében.IPX/SPXAz Ethernetes híd nem IP alapú forgalmat is
képes továbbítani, ezért rajta
keresztül akár IPX vagy SPX és más
egyéb protokollokat is használni tudunk.ChernLeeÍrta: Hálózati
címfordításÁttekintésnatdA &os; hálózati
címfordításért felelõs
démonprogramja, a &man.natd.8; (Network Address
Translation daemon), a beérkezõ nyers IP csomagokat
dolgozza fel, és a helyi gépek
forráscímét kicserélve
visszailleszti ezeket a csomagokat a kimenõ folyamba. A
&man.natd.8; mindezt úgy teszi a forrás
IP-címekkel és portokkal, hogy amikor az adat
visszaérkezik, akkor képes lesz megmondani a
csomag eredeti küldõjét és
visszaküldeni neki a választ.internet-kapcsolat
megosztásaNATA hálózati címfordítást
általában az internet-kapcsolatok
megosztásánál alkalmazzuk.A hálózat
felépítéseAz IPv4 világában egyre jobban fogyó
IP-címek és az egyre növekvõ
számú, nagysebességre vágyó,
például kábeles vagy DSL-es
fogyasztók miatt az igény is egyre nagyobb az
internet-kapcsolatok megosztására. Ha több
számítógéppel szeretnénk
egyetlen kapcsolaton és egy IP-címen
keresztül kapcsolódni az internetre, akkor ehhez a
&man.natd.8; tökéletes
választás.Az esetek többségében a
felhasználók egy kábeles vagy DSL vonalra
csatlakoznak, melyhez egyetlen IP-cím tartozik, és
ezen a gépen keresztül szeretnék
elérni az internetet a helyi hálózaton
levõ többi géprõl.Ezt úgy tudjuk elérni, ha az internethez
kapcsolódó &os;-s gépet
átjárónak állítjuk be. Ebben
az átjáróban legalább két
hálózati felületnek kell léteznie
— az egyikkel az internetes
útválasztóhoz, a másikkal pedig a
helyi hálózathoz kapcsolódik. A belsõ
hálózaton levõ gépek egy hub vagy egy
switch segítségével csatlakoznak
egymáshoz.Több módon is el tudjuk érni a
belsõ hálózatról az internetet egy
&os;-s átjárón keresztül. Ebben a
példában most csak olyan
átjárókkal foglalkozunk, amelyekben
legalább két hálózati
kártya található. _______ __________ ________
| | | | | |
| Hub |-----| B kliens |-----| Útvál. |----- Internet
|_______| |__________| |________|
|
____|_____
| |
| A kliens |
|__________|A hálózat felosztásaEgy ehhez hasonló beállítás igen
gyakori a megosztott internet-kapcsolatok esetében. A
helyi hálózat egyik gépe csatlakozik az
internetre. A többi gép ezen az
átjárón keresztül
éri el az internetet.rendszermagbeállításaBeállításA rendszermag beállításait
tartalmazó állományban a
következõ beállításokat kell
megadnunk:options IPFIREWALL
options IPDIVERTA fentiek mellett még ezeket a
lehetõségeket tudjuk választani:options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSEA következõnek kell az
/etc/rc.conf állományban
lennie:gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="fxp0"
natd_flags="" A gépet átjárónak
állítja be. Hatása megegyezik a
sysctl net.inet.ip.forwarding=1 parancs
kiadásával.A rendszer indításakor engedélyezi
az /etc/rc.firewall
állományban szereplõ
tûzfalszabályok
használatát.Egy olyan elõre definiált tûzfalat ad
meg, amely alapból mindent beenged. Az
/etc/rc.firewall
állományban találhatjuk a többi
típust.Megadja, hogy melyik felületen
továbbítsunk csomagokat az internet
felé (ez a felület csatlakozik az
internetre).Itt szerepel minden további paraméter,
amelyet még az indításkor át
kell adnunk a &man.natd.8; démonnak.Amikor megadjuk ezeket a beállításokat
az /etc/rc.conf állományban,
pontosan ugyanaz történik, mintha a natd
-interface fxp0 parancsot adtunk volna ki a rendszer
indításakor. Ez tehát manuálisan is
elindítható.Ha túlságosan sok paramétert akarunk
egyszerre beállítani &man.natd.8;
használatához, akkor akár egy
külön konfigurációs
állományt is megadhatunk. Ebben az esetben a
konfigurációs állományt a
következõ módon kell megjelölni az
/etc/rc.conf
állományban:natd_flags="-f /etc/natd.conf"Ekkor a /etc/natd.conf
állomány fogja tartalmazni a
beállításokat, soronként egyet.
Például a következõ szakaszban ez lesz
a tartalma:redirect_port tcp 192.168.0.2:6667 6667
redirect_port tcp 192.168.0.3:80 80A konfigurációs
állományról és az
opció használatával
kapcsolatban olvassuk el a &man.natd.8; man
oldalát.A helyi hálózaton mindegyik gépnek az
RFC 1918
által megadott privát IP-címterekbõl
származó címet kell használnia,
és az alapértelmezett
átjárónak mindenhol a
natd démont futtató
gép IP-címét kell megadni.Például a belsõ hálózaton
található A és
B kliensek IP-címei rendre 192.168.0.2 és 192.168.0.3, míg a &man.natd.8;
démont futtató gép belsõ címe
192.168.0.1. Az
A és a B kliens
alapértelmezett átjáróját a
natd gépre, vagyis a 192.168.0.1 címre kell
beállítanunk. A natd
gép külsõ, avagy internetes felülete
semmilyen további módosítást nem
igényel a &man.natd.8;
mûködéséhez.A portok átirányításaA &man.natd.8; alkalmazásának
hátránya, hogy a belsõ
hálózatra csatlakozó kliensek az
internetrõl nem érhetõek el. Tehát a
helyi hálózat kliensei képesek
elérni a külvilágot, de az visszafelé
már nem igaz. Ez akkor jelent igazából
problémát, ha az egyik belsõ kliensen
szolgáltatásokat akarunk futtatni. A
probléma egyik egyszerû megoldása, ha a
natd használatával az
internet felõl egyszerûen
átirányítunk bizonyos portokat a
megfelelõ belsõ kliensre.Például tegyük fel, hogy az
A kliens egy IRC szervert, míg a
B kliens egy webszervert futtat. Ez akkor fog
mûködni, ha a szolgáltatásokhoz
tartozó 6667 (IRC) és 80 (web) portokat
átirányítjuk a hozzájuk
tartozó gépek felé.Ehhez a &man.natd.8; démonnak a
paramétert kell
átadni. A pontos felírás így
néz ki: -redirect_port protokollcélIP:célPORT[-célPORT]
[külsõIP:]külsõPORT[-külsõPORT]
[távoliIP[:távoliPORT[-távoliPORT]]]A fenti példában tehát ezt kell
megadnunk: -redirect_port tcp 192.168.0.2:6667 6667
-redirect_port tcp 192.168.0.3:80 80Így az egyes külsõ tcp
portokat átirányítjuk a belsõ
hálózat gépei felé.A paraméternek
akár egész porttartományokat is
megadhatunk. Például a tcp
192.168.0.2:2000-3000 2000-3000
megadásával az összes 2000-tõl 3000-ig
terjedõ port csatlakozását
leképezzük az A kliens 2000
és 3000 közti portjaira.Ezek a beállítások a &man.natd.8;
közvetlen futtatásakor adhatóak meg, esetleg
az /etc/rc.conf állományban
az natd_flags="" opció keresztül,
vagy egy külön konfigurációs
állományban.A többi beállítási
lehetõséget a &man.natd.8; man oldalán
ismerhetjük meg.A címek
átirányításacímátirányításA címek átirányítása
abban az esetben hasznos, amikor több IP-cím
áll rendelkezésünkre, de ezek egy
géphez tartoznak. Ilyenkor az &man.natd.8; képes
a belsõ hálózat egyes gépeihez
saját külsõ IP-címet rendelni. A
&man.natd.8; a belsõ hálózat kliensei
által küldött csomagokban kicseréli a
címüket a megfelelõ külsõ
IP-címmel, illetve az ezekre a címekre
érkezõ forgalmat továbbítja a
megfelelõ belsõ kliens irányába. Ezt a
megoldást statikus hálózati
címfordításnak is nevezzük.
Például a 128.1.1.2
és a 128.1.1.3
IP-címek a natd démont
futtató átjáróhoz tartoznak. A
128.1.1.1 cím
használható a natd
alapú átjáró külsõ
IP-címeként, miközben a 128.1.1.2 és a 128.1.1.3 címeket a belsõ
hálózaton elérhetõ A
és B kliensek felé
közvetítjük.A felírása
tehát a következõ:-redirect_address helyiIPpublikusIPhelyiIPA helyi hálózaton
található kliens saját
IP-címe.publikusIPA klienshez tartozó megfelelõ
külsõ IP-cím.Az iménti példában a pontos
paraméterek ezek lesznek:-redirect_address 192.168.0.2 128.1.1.2
-redirect_address 192.168.0.3 128.1.1.3A opcióhoz
hasonlóan ez is megadható az
/etc/rc.conf állományban az
natd_flags=""
beállításon keresztül vagy egy
külön konfigurációs
állományban. A címek
átirányításával nincs
szüksége a portok
átirányítására, mivel az
adott IP-címhez tartozó összes forgalmat
átirányítjuk.A natd démont
futtató gépen a külsõ IP-címeket
aktiválni kell és a külsõ
felületéhez kell rendelni. A &man.rc.conf.5; man
oldalon járhatunk utána, hogy mindezt hogyan is
tudjuk megcsinálni.Párhuzamos vonali IP (PLIP)PLIPpárhuzamos vonali IPPLIPA párhuzamos vonali IP (Parallel Line IP, PLIP) a
TCP/IP protokoll használatát valósítja
meg párhuzamos porton keresztül. Olyan gépek
számára lehet hasznos, amelyekben nincs
hálózati kártya, vagy esetleg
laptopoknál. Ebben a szakaszban a következõket
tárgyaljuk:Párhuzamos (laplink) kábel
készítéseKét számítógép
összekapcsolása a PLIP
segítségévelPárhuzamos kábel
készítésePárhuzamos kábelt a legtöbb
számítástechnikai boltban tudunk
vásárolni. Ha mégsem tudnánk sehol
sem beszerezni, vagy egyszerûen tudni szeretnénk,
hogyan lehet ilyet készíteni, akkor az
alábbi táblázatban láthatjuk, hogy
miként tudunk egy hétköznapi
nyomtatókábelt átalakítani a
céljainkra.
A PLIP beállításaElõször is szereznünk kell valahonnan egy
laplink kábelt. Ha ez megvan, akkor mind a két
gépen ellenõrizzük, hogy a rendszermag
tartalmazza az &man.lpt.4; meghajtót:&prompt.root; grep lp /var/run/dmesg.boot
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven portA párhuzamos portnak megszakítással
vezéreltnek kell lennie (interrupt driven),
és az /boot/device.hints
állományban szerepelnie kell
nagyjából a következõ soroknak:hint.ppc.0.at="isa"
hint.ppc.0.irq="7"Ezután nézzük meg, hogy a rendszermag
beállításait tartalmazó
állományban megjelenik-e a device
plip sor, vagy a plip.ko modul
betöltõdött-e. Akármelyik is
történt, a párhuzamos hálózati
felület most már a rendelkezésünkre
áll, és az &man.ifconfig.8; paranccsal ezt meg is
tudjuk nézni:&prompt.root; ifconfig plip0
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500A laplink kábelt csatlakoztassuk mind a két
számítógéphez.Mind a két a hálózati felület
paramétereit root
felhasználóként hangoljuk be.
Például, ha az
egyikgép
nevû gépet akarjuk a
másikgép
nevû géphez csatlakoztatni:egyikgép <-----> másikgép
IP-cím 10.0.0.1 10.0.0.2Az
egyikgép
felületét így állítsuk be:&prompt.root; ifconfig plip0 10.0.0.1 10.0.0.2A
másikgép
felületét így állítsuk be:&prompt.root; ifconfig plip0 10.0.0.2 10.0.0.1Ezt követõen már egy mûködõ
kapcsolatnak kell felépülnie. Az egyéb
részletek kapcsán az &man.lp.4; és az
&man.lpt.4; man oldalait nézzük át.Ezt a két gépet vegyük fel az
/etc/hosts állományba
is:127.0.0.1 localhost.saját.tartomány localhost
10.0.0.1 egyikgép.saját.tartomány egyikgép
10.0.0.2 másikgép.saját.tartományA kapcsolat
mûködõképességérõl
úgy tudunk meggyõzõdni, ha az egyik
géprõl megpróbáljuk pingelni a
másikat. Például az
egyikgép
esetében:&prompt.root; ifconfig plip0
plip0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
&prompt.root; netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
másikgépegyikgép UH 0 0 plip0
&prompt.root; ping -c 4 másikgép
PING másikgép (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
--- másikgép ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 msAaronKaplanEredetileg írta: TomRhodesÁtszervezte és
kiegészítette: BradDavisTovább bõvítette: Az IPv6Az IPv6 (másik néven az IPng, vagy a az
internet következõ generációs
protokollja, IP next generation) a
jól ismert IP protokoll (avagy az IPv4)
új változata. Hasonlóan a jelenleg
mûködõ összes többi BSD rendszerhez, a
&os; is tartalmazza a KAME IPv6 referencia
implementációt. Ezért ha ezzel
szeretnénk kísérletezni, akkor ehhez a &os;
minden eszköz biztosít számunkra. Ez a szakasz
az IPv6 beállítását és
használatát mutatja be.Az 1990-es évek elején az IPv4-es
címterek rohamos mértékû
kimerülését figyelték meg. Az internet
jelenlegi bõvülési üteme mellett két
nagyobb aggodalomnak adott okot:A címek elfogyása. Napjainkban efelõl
egyre kevesebb a kétség, mivel az RFC 1918
által megfogalmazott privát címterek
(10.0.0.0/8, 172.16.0.0/12, és 192.168.0.0/16), valamint a
hálózati címfordítás
(Network Address Translation, NAT)
használata igen elterjedt.Az útválasztási
táblázatok méretének
növekedése. Ez még manapság is
aggasztó.Az IPv6 ezeket és még más egyéb
problémákat a következõ módon
igyekszik megoldani:A 128 bites címtér használata.
Más szóval, elméletben összesen
340 282 366 920 938 463 463 374 607 431 768 211 456
darab címet képes kiosztani. Ez azt jelenti,
hogy bolygónk minden egyes
négyzetméterére
megközelítõleg 6,67 * 10^27 IPv6
típusú cím jut.Az útválasztók a saját
táblázataikban csak a hálózatok
összevont címeit tárolják el,
ezáltal egy átlagos
útválasztási táblázatban
található bejegyzések száma 8192
alá csökken.Az IPv6 emellett még rengeteg más
elõnyös lehetõséget is
kínál:A címek automatikus beállítása
(lásd RFC 2462)Anycast (bárkiküldés, vagyis egy
a sokból)Kötelezõ (mandatory) multicastIPsec (IP szintû védelem)Egyszerûsített fejlécMobil IPIPv6-IPv4 közti
átjárhatóságHa mindezekrõl többet szeretnénk megtudni,
akkor erre érdemes továbblépnünk:Az IPv6 áttekintése a playground.sun.com
honlaponKAME.netAz IPv6 címek háttereAz IPv6 címeknek több típusa
létezik: a unicast (egyesküldés), az anycast
(bárkiküldés) és a multicast
(többesküldés).A unicasthez használt címek jól ismert
címek. Az így elküldött csomag pontosan
ahhoz a felülethez érkezik meg, amelyhez az adott
cím tartozik.Az anycasthez használt címek
felírásukban tökéletesen megegyeznek a
unicast esetével, de valójában
felületek egy csoportját címezik. Az
anycastre beállított címekre
küldött csomagok mindig a(z
útválasztó szerinti) legközelebb
levõ felülethez érkeznek meg. Az anycastet az
útválasztók számára
találták ki.A multicasthez használt címek felületek
egy csoportját nevezik meg. A multicast címekre
érkezõ csomagokat a csoport minden egyes tagja
megkapja.Az IPv4 esetében az
üzenetszórásra szánt
(általában az xxx.xxx.xxx.255
formátumú) címeket az IPv6
esetében multicast címekkel fejezzük
ki.
Fenntartott IPv6 címekIPv6 címAz elõtag hossza (bitekben)LeírásMegjegyzés::128 bitnem specifikáltVö. a 0.0.0.0
címmel az IPv4 esetében.::1128 bitsaját címVö. a 127.0.0.1 címmel az IPv4
esetében.::00:xx:xx:xx:xx96 bitIPv4 beágyazásaAz alsó 32 bit egy IPv4
formátumú cím. Ezt IPv4
kompatibilis IPv6 címnek is
nevezik.::ff:xx:xx:xx:xx96 bitIPv4-re leképzett IPv6 címekAz alsó 32 bit egy IPv4 címet
jelöl. Olyan gépeknél
használatos, amelyek nem támogatják
az IPv6 protokollt.fe80:: - feb::10 bithelyi összeköttetésVö. az IPv4 loopback címeivel.fec0:: - fef::10 bithelyi címff::8 bitmulticast001 (2-es alapú)3 bitglobális unicastAz összes globális unicast címet
ebbõl a tartományból osztjuk ki. Az
elsõ 3 bit
értéke001.
Az IPv6 címek olvasásaAz IPv6 címek kanonikus formája így
ábrázolható: x:x:x:x:x:x:x:x, ahol mindegyik
x egy 16 bites hexadecimális
érték. Például: FEBC:A574:382B:23C1:AA49:4592:4EFE:9982.Gyakran a címek hosszú nullákból
álló sorozatokat tartalmaznak, ezért
mindegyik ilyen sorozatot rövidíteni tudjuk a
:: jelöléssel. Rajtuk
kívül még az egyes hexadecimális
csoportokban a bevezetõ nullák is
elhagyhatóak. Például az fe80::1 cím kanonikus
formája: fe80:0000:0000:0000:0000:0000:0000:0001.A harmadik forma szerint az utolsó 32 bites
részt írjuk fel a megszokott (decimális)
IPv4 stílusú pontozással, ahol tehát
a . választja el a tagokat. Így
például a 2002::10.0.0.1 felírás a
2002:0000:0000:0000:0000:0000:0a00:0001
kanonikus (hexadecimális)
ábrázolásnak feleltethetõ meg, ami
pedig egyszerûen 2002::a00:1 alakban is
megadható.Mostanra már minden bizonnyal a kedves olvasó
érteni fogja a következõt:&prompt.root; ifconfigrl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1
ether 00:00:21:03:08:e1
media: Ethernet autoselect (100baseTX )
status: activeA fe80::200:21ff:fe03:8e1%rl0 cím
az automatikusan beállított helyi
összeköttetés címe. Ez az automatikus
beállítás részeként a
MAC-címbõl jött létre.Az IPv6 címek szerkezetérõl
további részleteket az RFC 3513-ban
találunk.KapcsolódásJelenleg négy módon tudunk más IPv6-os
géphez és hálózathoz
csatlakozni:Kérjünk a hálózati
elérésünkért felelõs
illetékesektõl IPv6 alapú
hálózatot. A részletek
tekintetében vegyük fel a kapcsolatot az
internet-szolgáltatónkkal.A SixXS a
világ minden táján kínál
végpontokkal rendelkezõ tunneleket.Egy 6-ból-4 (RFC 3068)
típusú tunnellel.Ha betárcsázós kapcsolatunk van,
akkor használjuk a net/freenet6 portot.A nevek feloldása az IPv6
világábanIPv6 alatt régebben két típusa volt a
nevek feloldásáért felelõs
rekordoknak. Az IETF az A6 rekordokat idõközben
elavultnak nyilvánította. Ezért
manapság már az AAAA rekordok tekinthetõek
szabványosnak.Az AAAA rekordok használata magától
értetõdik. A hálózati
nevükhöz az alábbi módon tudunk IPv6
címet rendelni az elsõdleges zónát
leíró állományban:SAJÁTNÉV AAAA SAJÁTIPv6CÍMHa nem rendelkezünk saját
névfeloldási zónával, akkor erre
kérjük meg a névfeloldást
végzõ szolgáltatónkat. A
bind jelenlegi változatai (8.3
és 9), valamint a dns/djbdns (IPv6
támogatására vonatkozó
javítással) támogatják az AAAA
rekordokat.Az /etc/rc.conf szükséges
módosításaiAz IPv6 kliensek beállításaiEzek a beállítások egy helyi
hálózaton levõ gépre vonatkoznak,
nem pedig egy útválasztóra. Az
&man.rtsol.8; az alábbi megadásával fogja
automatikusan beállítani a felületeinket a
rendszer indításakor:ipv6_enable="YES"Ha az fxp0 felülethez
statikusan akarunk IP-címet rendelni,
például a
2001:471:1f11:251:290:27ff:fee0:2093 címet,
akkor ehhez a következõt kell megadni:ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"Az /etc/rc.conf
állományban az alapértelmezett
átjárót a következõ
módon tudjuk a 2001:471:1f11:251::1 címre
beállítani:ipv6_defaultrouter="2001:471:1f11:251::1"Az IPv6 útválasztók és
átjárók
beállításaItt most a tunnelt biztosító
szolgáltató által mutatott irányt
követjük, és olyan formára
alakítjuk, amely megmarad az
újraindítás után is. A rendszer
indításakor az /etc/rc.conf
állományban valami ilyesmit kell megadni a
járat
visszaállításához:Soroljuk fel a beállítandó
általános tunnel alapú felületeket,
ilyen lehet például a
gif0:gif_interfaces="gif0"A felületnek állítsunk be egy helyi
végpontot a
SAJÁT_IPv4_CÍM
megadásával, valamint egy távoli
végpontot a
TÁVOLI_IPv4_CÍM
megadásával:gifconfig_gif0="SAJÁT_IPv4_CÍM TÁVOLI_IPv4_CÍM"Az IPv6 tunnelünk végpontjához kapott
cím aktiválásához az
alábbit kell még megadnunk:ipv6_ifconfig_gif0="SAJÁT_KAPOTT_IPv6_TUNNEL_VÉGPONTJÁNAK_CÍME"Ezután már csak az alapértelmezett
útvonalat kell beállítani az IPv6
számára. Ez az IPv6 járat másik
oldala:ipv6_defaultrouter="SAJÁT_IPv6_TÁVOLI_TUNNEL_VÉGPONTJÁNAK_CÍME"Az IPv6 tunnel beállításaiAmennyiben a szerver IPv6 alapú forgalmat
közvetít a hálózatunk és a
világ között, az
/etc/rc.conf állományba a
következõt kell felvennünk:ipv6_gateway_enable="YES"Az útválasztók kihirdetése
és automatikus konfigurációjaEbben a szakaszban az &man.rtadvd.8;
beállításával fogjuk az
alapértelmezett IPv6 útvonalat kihirdetni.Az &man.rtadvd.8; engedélyezéséhez az
alábbi sort kell betennünk az
/etc/rc.conf
állományba:rtadvd_enable="YES"Emellett még fontos megadnunk azt a felületet,
ahol az IPv6 útválasztó
kérelmezését végezzük. Ha erre
a feladatra például az
fxp0 felületet választjuk,
akkor errõl az &man.rtadvd.8; így
értesíthetõ:rtadvd_interfaces="fxp0"Most pedig készítenünk kell hozzá
egy konfigurációt is, vagyis az
/etc/rtadvd.conf állományt.
Íme erre egy példa:fxp0:\
:addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:Az fxp0 felületet
természetesen cseréljük ki a
sajátunkkal.Ezután a 2001:471:1f11:246:: címre
helyére írjuk be a saját kiosztásunk
elõtagját.Egy egész /64
alhálózat esetén nem is kell többet
megadni. Minden más helyezetben az elõtag
hosszára prefixlen# vonatkozó
értéket is be kell még
állítanunk.HartiBrandtKészítette: Az Aszinkron adatátviteli mód (ATM)A klasszikus IP-címek
beállítása ATM felett
(állandó)A klasszikus IP ATM felett (Classical IP over ATM,
CLIP) a legegyszerûbb módszer az
IP-címek használatára az Aszinkron
adatátviteli móddal (Asynchronous Transfer Mode,
ATM) együtt. Kapcsolt és állandó
kapcsolatok (Switched Virtual Channel, SVC és Permanent
Virtual Channel, PVC) esetén egyaránt
megfelelõ. Ebben a szakaszban ez utóbbival fogunk
foglalkozni.A teljesen hálószerû
konfigurációkA CLIP
beállítását állandó
csatornákon például úgy tudjuk
megoldani, ha az összes gépet külön
ezekre a célokra szánt állandó
csatornákkal összekapcsoljuk egymással. Ez
az egyszerû megoldás azonban nagyobb
számú gép esetében már nem
eléggé hatékony. A következõ
példában csupán négy gépet
kötünk hálózatba, melyik mindegyike
egy ATM
kártyával csatlakozik az ATM
hálózatra. Ehhez elsõként
tervezzük meg az IP-címek kiosztását
és a gépek közti ATM kapcsolatokat.
A példában ez az alábbiak szerint
alakul:GépIP-címA-gep192.168.173.1B-gep192.168.173.2C-gep192.168.173.3D-gep192.168.173.4A teljes hálózat
felépítéséhez minden egyes
pár között egy-egy ATM kapcsolatra lesz
szükségünk:GépekVPI.VCI párA-gep -
B-gep0.100A-gep -
C-gep0.101A-gep -
D-gep0.102B-gep -
C-gep0.103B-gep -
D-gep0.104C-gep -
D-gep0.105A kapcsolatok egyes végein szereplõ VPI
és VCI értékek természetesen
eltérhetnek, de ezeket mi most az
egyszerûség kedvéért egyenlõnek
tekintettük. A következõ
lépésben minden gépen
állítsuk be az ATM felület:A-gep&prompt.root; ifconfig hatm0 192.168.173.1 up
B-gep&prompt.root; ifconfig hatm0 192.168.173.2 up
C-gep&prompt.root; ifconfig hatm0 192.168.173.3 up
D-gep&prompt.root; ifconfig hatm0 192.168.173.4 upHa feltételezzük, hogy minden gépen a
hatm0 az ATM felület neve. Most
pedig az A-gep-en állítsuk be
az állandó csatornákat. (Itt most
feltesszük, hogy az ATM switch-eken mindezt már
elvégeztük. A switch
kézikönyvében errõl
részletesebb leírást is
találhatunk.)A-gep&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
A-gep&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
A-gep&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr
B-gep&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
B-gep&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
B-gep&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr
C-gep&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
C-gep&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
C-gep&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr
D-gep&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
D-gep&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
D-gep&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubrTermészetesen nem csak UBR
használható, hanem minden más olyan
forgalmazási beállítás, amit az
ATM kártyáink ismernek. Itt most a forgalmi
beállítás nevét a
hozzátartozó konkrét paraméterek
követik. Az &man.atmconfig.8; segédprogram
használatához így kérhetünk
segítséget:&prompt.root; atmconfig help natm addOlvassuk el az &man.atmconfig.8; man
oldalát.Ugyanez a beállítás az
/etc/rc.conf állomány
használatával is elvégezhetõ. Az
A-gep esetében mindez így
nézne ki:network_interfaces="lo0 hatm0"
ifconfig_hatm0="inet 192.168.173.1 up"
natm_static_routes="B-gep C-gep D-gep"
route_B-gep="192.168.173.2 hatm0 0 100 llc/snap ubr"
route_C-gep="192.168.173.3 hatm0 0 101 llc/snap ubr"
route_D-gep="192.168.173.4 hatm0 0 102 llc/snap ubr"A CLIP útvonalak pillanatnyi
állapota így kérdezhetõ le:A-gep&prompt.root; atmconfig natm showTomRhodesÍrta: A Közös cím redundancia protokoll
(CARP)CARPKözös cím redundancia
protokollA Közös cím redundancia protokoll (Common
- Access Redundancy Protocol, avagy CARP)
+ Address Redundancy Protocol, avagy CARP)
segítségével több gép
képes egyazon IP-címen osztozni.
Bizonyos konfigurációkban ez a terhelés
elosztására
(terhelés-kiegyenlítésre) vagy a
rendelkezésre állás
növelésére (hibatûrésre)
alkalmazható. A benne szereplõ gépek
akár eltérõ IP-címmel
is rendelkezhetnek, ahogy azt majd a példában is
láthatjuk.A CARP támogatásának
engedélyezéséhez a &os; rendszermagját
a következõ beállítással kell
újrafordítanunk:device carpA CARP által biztosított
lehetõségek ezután már
elérhetõek, és számos
sysctl változón keresztül
állíthatóak:VáltozóLeírásnet.inet.carp.allowA beérkezõ CARP
csomagok elfogadása. Alapértelmezés
szerint engedélyezett.net.inet.carp.preemptEzzel a beállítással az adott
gépen az összes CARP
felület leáll, ha közülük
bármelyik is
mûködésképtelenné
válik. Alapértelmezés szerint
tiltott.net.inet.carp.logA 0 értékkel
kikapcsoljuk a naplózást. Az
1 értékkel a rossz
CARP csomagok
naplózását engedélyezzük.
Az ettõl nagyobb értékek esetén
pedig a CARP felületek
változásait naplózzuk. Az
alapértelmezett értéke az
1.net.inet.carp.arpbalanceAz ARP protokoll
segítségével próbálja
meg a helyi hálózati forgalmat
mentesíteni a terheléstõl.
Alapértelmezés szerint tiltott.net.inet.carp.suppress_preemptEz a változó
írásvédett, és a
megszakítás elnyomásának
állapotát mutatja. A
megszakítás elnyomható, ha a
felület egyik linkje nem mûködik. A
0 érték arra utal, hogy a
megszakítást nem nyomták el. Minden
probléma növeli ennek a
változónak az
értékét.A CARP eszközök maguk az
ifconfig paranccsal
készíthetõek el:&prompt.root; ifconfig carp0 createEgy valós környezetben az ilyen felületeknek
egy VHID néven ismert egyedi
azonosítóval kell rendelkezniük. Ez a
VHID vagy más néven a
virtuális gépazonosító (azaz Virtual
Host Identification) fogja a gépünket a
hálózat többi elemétõl
megkülönböztetni.A CARP felhasználása a rendelkezésre
állás javításábanA CARP használatának egyik
módja, ahogy arra már korábban is utaltunk,
a szerverek rendelkezésre állásának
feljavítása. Ebben a példában
három géppel fogunk hibatûrést
biztosítani, melyik mindegyike egyedi
IP-címmel rendelkezik és
ugyanazt a webes tartalmat szolgáltatják. A
gépeket egy Round Robin rendszerû
(körbejáró) névfeloldással
együtt használjuk. A tartalék
gépünknek lesz még további két
CARP felülete, külön a szerver
IP-címeihez tartozó egyes webes
tartalmakhoz. Amikor valami meghibásodik, a
tartalék szerver átveszi a meghibásodott
gép IP-címét. Ilyenkor
a hiba teljesen észrevétlen marad a
felhasználók számára. A
tartalék szerveren a többi szerverrel egyezõ
tartalomnak és szolgáltatásoknak kell
megjelennie, hogy bármikor át tudja
tõlük venni a forgalmat.A hálózati neveiktõl és a
virtuális azonosítóiktól eltekintve
a két gépet ugyanúgy kell
beállítani. Ebben a példában a
gépeket most az a-gep.minta.org
és b-gep.minta.org nevekkel
láttuk el. Elõször is a
CARP
beállításához el kell
helyeznünk a megfelelõ hivatkozásokat az
rc.conf állományban. Az
a-gep.minta.org esetében az
rc.conf állomány a
következõ sorokat tartalmazza:hostname="a-gep.minta.org"
ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24"Miközben a b-gep.minta.org az
rc.conf állományában
ezeket adjuk meg:hostname="b-gep.minta.org"
ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24"Nagyon fontos, hogy az ifconfig parancs
pass paraméterével megadott
jelszavak megegyezzenek. A carp
eszközök csak a megfelelõ jelszót
birtokló gépeket fogadják el. A
virtuális gépazonosítónak azonban
minden esetben el kell térnie.A harmadik, szolgaltato.minta.org
címmel rendelkezõ gépet fogjuk
felkészíteni az elõbbi gépek
meghibásodására felkészíteni.
Ennek a gépnek két carp
eszközre lesz szüksége, melyek az egyes
gépeket kezelik. Az ehhez illeszkedõ sorok valahogy
így fognak kinézni az rc.conf
állományban:hostname="szolgaltato.minta.org"
ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0"
cloned_interfaces="carp0 carp1"
ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24"
ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24"Két carp eszköz
használatával a
szolgaltato.minta.org képes
észlelni és átvenni bármelyik olyan
gép IP-címét, amely nem
válaszol.Az alap &os; rendszermag használata esetén
elõfordulhat, hogy a
megszakítás (a preemption
opció) engedélyezett. Amennyiben így
lenne, a szolgaltato.minta.org nem fogja
minden esetben fogja rendesen visszaadni az
IP-címet az eredeti
tulajdonosának. Ilyenkor a rendszergazdának
kell ezt manuálisan megtennie. Tehát a
következõ parancsot kell kiadnia a
szolgaltato.minta.org gépen:&prompt.root; ifconfig carp0 down && ifconfig carp0 upEzt az adott géphez tartozó
carp felülettel kell
megcsinálni.Innentõl a CARP már teljesen
engedélyezhetõ és készen áll a
tesztelésre. A teszteléshez vagy a
hálózati rendszert kell
újraindítani, vagy a gépeket.További információkat a &man.carp.4;
man oldalán találhatunk.
diff --git a/hu_HU.ISO8859-2/books/handbook/desktop/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/desktop/chapter.sgml
index bc718f41e8..808bf9f01b 100644
--- a/hu_HU.ISO8859-2/books/handbook/desktop/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/desktop/chapter.sgml
@@ -1,1394 +1,1394 @@
ChristopheJunietÍrta: Asztali alkalmazásokÁttekintésA &os;-n asztali alkalmazások széles
spektrumát lehet futtatni, például
böngészõket és
szövegszerkesztõket. Legtöbbjük
csomagként áll rendelkezésre, illetve
automatizált módon lefordíthatóak a
Portgyûjteménybõl. Az új
felhasználók közül sokan
szeretnének ilyen fajta alkalmazásokat
használni, ezért ez a fejezet bemutatja,
miként lehet a népszerûbb asztali
alkalmazásokat minden különösebb
erõfeszítés nélkül
telepíteni, legyen szó az elõre csomagolt vagy
a Portgyûjteményben megtalálható
formájukról.Amikor portként telepítünk egy programot,
lényegében a forráskódját
fordítjuk le. Ez bizonyos esetekben nagyon sokáig
is eltarthat attól függõen, hogy pontosan mit is
fordítunk le, illetve mekkora az erre a célra
felhasznált számítógépünk
vagy számítógépeink
teljesítménye. Amennyiben a
fordításra nem tudunk vagy nem
kívánunk elegendõ idõt szánni, a
Portgyûjteményben található programok
többségét már elõre
lefordított csomagból is
telepíthetjük.Mivel a &os;-ben bináris szintû Linux
kompatibilitás is található, ezért az
eredetileg Linuxra fejlesztett alkalmazások is
használhatóak a munkakörnyezetünkben.
Azonban határozottan javasoljuk, hogy a linuxos
alkalmazások használatához elõször
figyelmesen olvassuk át a et. A
linuxos bináris kompabilitást használó
portok neve általában a linux-
elõtaggal kezdõdik, amit ne felejtsük el figyelembe
venni, amikor például a &man.whereis.1;
segítségével keressük valamelyiket. A
fejezet további részében
feltételezzük, hogy a linuxos alkalmazások
telepítése elõtt aktiváltuk a
bináris Linux kompatibilitást.Íme a fejezetben tárgyalt
kategóriák:Böngészõk (mint a
Firefox,
Opera,
Konqueror)Irodai eszközök (mint a
KOffice,
AbiWord, The
GIMP,
OpenOffice.org)Dokumentum-megjelenítõk (mint az
&acrobat.reader;,
gv,
Xpdf,
GQview)Pénzügyi szoftverek (mint a
GnuCash,
Gnumeric,
Abacus)A fejezet elolvasásához ajánlott:a külsõ alkalmazások
telepítésének ismerete ();linuxos alkalmazások
telepítésének ismerete ().a multimédiás környezet
kialakítására vonatkozó
információkért a t
érdemes elolvasni. Az elektronikus levelezés
beállítását és
használatát a bõl
tudhatjuk meg.BöngészõkböngészõkvilághálóA &os;-vel együtt nem települ semmilyen
böngészõ. Helyette keressük meg a
Portgyûjteményben a www
könyvtárat, ahol ezzel szemben rengeteg
böngészõ áll telepítésre
készen. Ha nem lenne idõnk mindent lefordítani
(ami egyes esetekben akár rengeteg idõnkbe is
kerülhet), ezek csomagolt formában is
elérhetõek.A KDE-hez és a
GNOME-hoz eleve tartoznak
HTML-böngészõk. Ezen komplett
munkakörnyezetek beállításához a
t olvassuk el.Ha viszont csak egy kevés erõforrást
igénylõ böngészõkre vágyunk,
érdemes megnéznünk a
Portgyûjteményben található www/dillo, www/links vagy www/w3m portokat.Ez a rész az alábbi alkalmazásokat
említi:AlkalmazásErõforrásigényTelepítés
forrásbólFõbb függõségekFirefoxközepesnehézGtk+OperakevéskönnyûVannak &os;-s és linuxos változatai is.
A linuxos verzió használatához
azonban szükség van a bináris Linux
kompatibilitásra és a
linux-openmotif portra.KonquerorközepesnehézA KDE
függvénykönyvtárai.FirefoxFirefoxA Firefox egy modern, szabad
és nyílt forráskódú
böngészõ, amely tökéletesen
használható &os; alatt.
Megtalálható benne egy, a jelenlegi HTML
szabványoknak nagyon jól megfelelõ
megjelenítõ motor, a lapokra bontható
böngészés támogatása, a
kéretlenül felbukkanó ablakok
blokkolása, különbözõ
kiterjesztések, javított biztonsági
lehetõségek és még sok minden
más. A Firefox forrása
a Mozilla kódján
alapszik.Csomagból így telepíthetõ:&prompt.root; pkg_add -r firefoxEkkor a Firefox
2.X változata fog
települni. Ha helyette a
Firefox
3.X változatát
szeretnénk használni, akkor ezt a parancsot adjuk
ki:&prompt.root; pkg_add -r firefox3Ha forrásból szeretnénk felrakni,
használhatjuk a Portgyûjteményben
található portját is:&prompt.root; cd /usr/ports/www/firefox
&prompt.root; make install cleanA Firefox
3.X
telepítéséhez az iménti parancsban
cseréljük ki a firefox
részt a firefox3
könyvtárra.A Firefox és a &java; pluginEnnél és a következõ
résznél feltételezzük, hogy
már korábban telepítettük a
Firefox alkalmazást.A &os; Alapítvány megegyezett a Sun
Microsystems-szel, hogy terjesztheti a &java;
futtatókörnyezet (&jre;) és a &java;
fejlesztõkörnyezet (&jdk;) &os;-re lefordított
bináris változatait. Ezek a csomagok
elérhetõek a &os;
Alapítvány
honlapjáról.Ha tehát &java;-támogatást
szeretnénk hozzáadni a
Firefox
böngészõhöz, elsõként fel kell
telepítenünk a java/javavmwrapper portot.
Ezután le kell töltenünk a Diablo
&jre; csomagot a
címrõl, majd telepítenünk azt a
&man.pkg.add.1; segítségével.Indítsuk el a böngészõnket,
és írjuk be a címsorba, hogy
about:plugins és nyomjuk le az
Enter billentyût. Az
eredményül kapott oldalon láthatjuk az eddig
telepített pluginok listáját, ahol mostanra
már a &java; pluginnak is meg
kell jelennie. Amennyiben ez nem következne be,
root felhasználóként
adjuk ki az alábbi parancsot:&prompt.root; ln -s /usr/local/diablo-jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/local/lib/browser_plugins/Ezt követõen indítsuk újra a
böngészõnket.A Firefox és a ¯omedia; &flash; pluginFlashA ¯omedia; &flash; plugin nem érhetõ el
közvetlenül &os;-re. Azonban létezik egy, a
plugin linuxos verziójára épített
szoftveres réteg (wrapper). Ez a wrapper még
többek közt az &adobe; &acrobat; és a
&realplayer; pluginjait is használhatóvá
teszi.A most következõ részben a &flash;
9.X
telepítését tárgyaljuk a
legfrissebb &os; -STABLE és 7.1-RELEASE
változatok esetén. Ha a &os; valamelyik
korábbi változatát használjuk
és problémákba
ütköznénk, javasolt inkább a www/linux-flashplugin7 port
telepítése és a &man.linprocfs.5;
beállítására vonatkozó
rész kihagyása.Telepítsük a www/nspluginwrapper portot. A port
telepítése viszont maga után vonja a
- emulators/linux_base
+ emulators/linux_base-fc4
telepítését is, amely viszont egy nagyobb
port.A következõ lépésben
telepítsük a www/linux-flashplugin9 portot.
Miután felkerült, a hozzátartozó
plugint minden felhasználónak külön
telepítenie kell az nspluginwrapper
parancs kiadásával:&prompt.user; nspluginwrapper -v -a -iHa &flash; animációkat szeretnénk
lejátszani, akkor ehhez a /usr/compat/linux/proc
könyvtárba csatlakoztatnunk kell egy
&man.linprocfs.5; típusú linuxos proc
állományrendszert. Ezt a következõ
paranccsal tehetjük meg:&prompt.root; mount -t linprocfs linproc /usr/compat/linux/procAz /etc/fstab állományban
az alábbi sor hozzáadásával azonban
ennek csatlakoztatása akár automatikussá is
tehetõ a rendszerindítás során:linproc /usr/compat/linux/proc linprocfs rw 0 0Ezután indítsuk el a
böngészõt, majd gépeljük be a
about:plugins szöveget a címsorba
és nyomjuk le az Enter billentyût.
Ekkor a jelenleg elérhetõ pluginok
listájának kell megjelennie.A Firefox és az Swfdec &flash; pluginAz Swfdec egy &flash; animációk
dekódolásáért és
megjelenítéséért felelõs
programkönyvtár. Az Swfdec-Mozilla pedig egy
Firefox
böngészõkhöz készített
plugin, amely az Swfdec könyvtáron keresztül
játszik le SWF állományokat. Jelenleg
még aktív fejlesztés alatt
áll.Ha nem akarjuk vagy netalán nem tudjuk
forrásból lefordítani, akkor egyszerûen
csak telepítsük csomagként a
hálózaton keresztül:&prompt.root; pkg_add -r swfdec-pluginHa valamiért mégsem érhetõ el
hozzá csomag, akkor a Portgyûjteménybõl is
telepíthetjük:&prompt.root; cd /usr/ports/www/swfdec-plugin
&prompt.root; make install cleanMiután telepítettük a plugint, a
használatához indítsuk újra a
böngészõt.OperaOperaAz Opera egy sokoldalú
és szabványokkal kompatibilis
böngészõ. Tartalmaz beépített
levelezõ klienst és hírolvasót,
IRC-klienst, RSS/Atom-olvasót és még sok
mindent mást. Ennek ellenére az
Opera viszonylag
pehelysúlyúnak és gyorsnak
számít. Két fajta módon is
használható: létezik
natív &os;-s változata, valamint a
Linux emulációval futó
változata.Az Opera &os;-s
változatát a megfelelõ csomag
telepítésével érhetjük
el:&prompt.root; pkg_add -r operaHabár egyes FTP oldalakon nem található
meg az összes csomag, viszont a
Portgyûjteménybõl még ekkor is be tudjuk
szerezni az Operat:&prompt.root; cd /usr/ports/www/opera
&prompt.root; make install cleanA linuxos Opera
telepítéséhez opera
helyett linux-opera nevet kell megadnunk a
fenti parancsokban. Ennek a verziónak a
használata akkor lehet elõnyös, ha olyan
plugineket akarunk elérni, amelyek csak Linuxra
léteznek. Ilyen például az
Adobe &acrobat.reader;. Ettõl
eltekintve azonban a &os;-s és a linuxos
változatok szinte teljesen megegyeznek.KonquerorKonquerorA Konqueror a
KDE része, de a
használatához elegendõ, ha csak a x11/kdebase3 portot
telepítjük fel. A
Konqueror több, mint egy
egyszerû böngészõ:
állománykezelõ és
multimédiás nézegetõ is.Számtalan plugin áll rendelkezésre a
Konquerorhoz, melyeket a misc/konq-plugins portban
találunk meg.A Konqueror ismeri a
&flash;t is. A
&flash; és a
Konqueror kapcsolatával egy
külön Hogyan is foglalkozik, amelyet a
címen olvashatunk el.Irodai eszközökAmikor irodai felhasználásról van
szó, az új felhasználók gyakorta
keresnek egy jó irodai programcsomagot vagy egy
barátságos szövegszerkesztõt.
Habár az egyes munkakörnyezetek, mint
például a KDE, gyakran
saját irodai eszközöket is tartalmaznak, &os;
alatt nincs alapértelmezett irodai programcsomag. A
rendszer a munkakörnyezetektõl függetlenül
igyekszik felkínálni mindazt, amire
szükségünk lehet.Ebben a részben a következõ
alkalmazásokról esik szó:AlkalmazásErõforrásigényTelepítés
forrásbólFõbb függõségekKOfficekevésnehézKDEAbiWordkevéskönnyûGtk+ vagy
GNOMEThe GimpkevésnehézGtk+OpenOffice.orgsoknagyon nehéz&jdk; 1.4,
MozillaKOfficeKOfficeirodai programcsomagKOfficeA KDE közösség által kiadott
munkakörnyezethez társul egy irodai programcsomag
is, amely a KDE-tõl
függetlenül is használható. Tartalmazza
a többi irodai programcsomagban is
megtalálható négy szabványos
komponenst: a KWord
szövegszerkesztõt, a
KSpread táblazatkezelõt,
a KPresenter
prezentációkészítõt és
végezetül a Kontourt,
mellyel grafikus dokumentumokat tudunk
elkészíteni.A legfrissebb KOffice
telepítése elõtt bizonyosodjuk meg
róla, hogy a KDE legfrissebb
verziójával is rendelkezünk.Ha a KOffice-t csomagként
akarjuk telepíteni, akkor adjuk ki az alábbi
parancsot:&prompt.root; pkg_add -r kofficeAmennyiben ez a csomag nem érhetõ el,
telepíthetjük a Portgyûjteménybõl
is. Például a KDE3-hoz
tartozó KOffice-t így
rakhatjuk fel:&prompt.root; cd /usr/ports/editors/koffice-kde3
&prompt.root; make install cleanAbiWordAbiWordAz AbiWord egy szabad
szövegszerkesztõ program, a µsoft;
Word-höz hasonló kinézettel.
Remekül használható levelek,
beszámolók, feljegyzések, cikkek stb.
írásához. Nagyon gyors, rengeteg
funkciót ajánl fel, és kifejezetten
felhasználóbarát.Az AbiWord képes
többféle állományformátumba
exportálni és onnan importálni,
beleértve az olyan zárt formátumokat is,
mint például a µsoft;
.doc.Az AbiWord csomagból
telepíthetõ a következõ
módon:&prompt.root; pkg_add -r abiwordAmennyiben ez a csomag nem érhetõ el,
lefordítható a Portgyûjteménybõl
is, ami ráadásul sokszor egy frissebb
verziót tartalmaz. Ezt így tudjuk
megtenni:&prompt.root; cd /usr/ports/editors/abiword
&prompt.root; make install cleanThe GIMPThe GIMPKépek készítésére vagy
retusálásra a The GIMP
a legfejlettebb képszerkesztõ program.
Egyszerû rajzolóprogram gyanánt is
használható, de akár minõségi
fényképretusálásra is.
Óriási mennyiségû plugin
található hozzá és magában
foglal egy szkriptes interfészt is. A The
GIMP formátumok széles
skáláját ismeri. Számos scanner
és digitális rajztábla
csatlakoztatható hozzá.A hozzátartozó csomag a következõ
módon telepíthetõ fel:&prompt.root; pkg_add -r gimpHa a csomagoknak beállított FTP oldalon nem
található meg ez a csomag,
megpróbálkozhatunk vele a
Portgyûjteményen keresztül is. A
gyûjtemény graphics
könyvtárában ezen felül
fellelhetjük a The Gimp Manualt,
vagyis a The GIMP
kézikönyvét. Így kell ezeket innen
telepíteni:&prompt.root; cd /usr/ports/graphics/gimp
&prompt.root; make install clean
&prompt.root; cd /usr/ports/graphics/gimp-manual-pdf
&prompt.root; make install cleanA Portgyûjtemény graphics
könyvtárában a The
GIMP fejlesztõi változatával
is találkozhatunk a graphics/gimp-devel
alkönyvtárban. A The Gimp
Manual HTML változata pedig a graphics/gimp-manual-html
alkönyvtárban található.OpenOffice.orgOpenOffice.orgirodai programcsomagOpenOffice.orgAz OpenOffice.org tartalmaz
minden olyan elengedhetetlenül fontos alkalmazást,
amelyek napjaink bármelyik irodájához
hozzátartoznak: egy szövegszerkesztõt, egy
táblázatkezelõt, egy
prezentációszerkesztõt és egy
rajzolóprogramot. A felhasználói
felülete nagyon hasonlít a többi irodai
programcsomagéhoz, és képes
többféle elterjedt
állományformátumot kezelni. Számos
különbözõ nyelven elérhetõ
— a honosítása kiterjed a felületekre,
helyesírás ellenõrzõkre és
szótárakra is.Az OpenOffice.org
szövegszerkesztõje natív XML
állományformátumot használ a
hordozhatóság és a rugalmasság
növeléséhez. A
táblázatkezelõje tartalmaz egy
makrónyelvet és könnyedén
összekapcsolható külsõ
adatbázisokkal. Az
OpenOffice.org natívan
és megbízhatóan fut &windows;-on,
&solaris;-on, &linux;-on, &os;-n és &macos; X-en.
Az OpenOffice.org-ról
bõvebb információt a projekt saját
honlapján találhatunk. A &os;-s
változatra vonatkozó információkat
és a csomagokat pedig a &os; OpenOffice.org
Porting Team honlapján lelhetjük meg.Az OpenOffice.org
telepítéséhez ennyit kell csak
beírni:&prompt.root; pkg_add -r openoffice.orgHa a &os; -RELEASE ágát használjuk,
ennek mûködnie kell. Ettõl eltérõ
esetben érdemes egy pillantást vetni a &os;
OpenOffice.org Porting Team
honlapjára, ahonnan le tudjuk tölteni a
verziókhoz megfelelõ csomagot, amelyet
ezután a &man.pkg.add.1;-al fel is tudunk
telepíteni. A legfrissebb megbízható
és fejlesztõi változat egyaránt
elérhetõ errõl a helyrõl.Ahogy sikerült feltelepíteni a csomagot,
egyszerûen csak be kell gépelni a
következõ parancsot az
OpenOffice.org
futtatásához:&prompt.user; openoffice.orgAz elsõ futtatás során
válaszolnunk kell még néhány
további kérdésre is, valamint a
felhasználói könyvtárunkban
keletkezik egy .openoffice.org2
könyvtár.Ha nem érhetõek el
OpenOffice.org csomagok,
lefordíthatjuk a forrását is. Azonban
mielõtt még ennek nekilátnánk, el kell
fogadnunk, hogy ez a mûvelet a lemezünkön
rettenetesen sok területet fog igényelni és
meglehetõsen sokáig tart.&prompt.root; cd /usr/ports/editors/openoffice.org-2
&prompt.root; make install cleanHa egy honosított verziót szeretnénk
fordítani, az utolsó parancs helyett
írjuk inkább ezt:&prompt.root; make LOCALIZED_LANG=nyelv install cleanA nyelv helyett itt
természetesen a nyelvnek megfelelõ
ISO-kódot kell megadni. Az itt támogatott
nyelvek kódjának listája a port
könyvtárán belül, a
files/Makefile.localized
állományban található meg.Ahogy a fordítás befejezõdött, az
OpenOffice.org így
indítható el parancssorból:&prompt.user; openoffice.orgDokumentum-megjelenítõkA &unix; megjelenése óta néhány
új népszerû dokumentumformátum is
felbukkant, melyek szabványos megjelenítõi nem
minden esetben részei az alaprendszernek. Ebben a
részben azt tekintjük át, hogyan lehet ilyen
megjelenítõket telepíteni.Ez a rész az alábbi alkalmazásokat
említi:AlkalmazásErõforrásigényTelepítés
forrásbólFõbb függõségek&acrobat.reader;kevéskönnyûBináris Linux kompatibilitásgvkevéskönnyûXaw3dXpdfkevéskönnyûFreeTypeGQviewkevéskönnyûGtk+ vagy
GNOME&acrobat.reader;Acrobat ReaderPDFmegjelenítõA dokumentumok többsége manapság PDF
(Portable Document Format, avagy hordozható
dokumentumformátum) állományok
formájában terjed. Az ilyen típusú
állományok megnézésére az
egyik legalkalmasabb alkalmazás az
&acrobat.reader;, melyet az Adobe
adott ki Linuxra. De mivel a &os; képes Linux
binárisok futtatására, ezért
így &os;-re is elérhetõ.Ha az &acrobat.reader; 7-et a
Portgyûjteménybõl akarjuk telepíteni,
akkor írjuk be:&prompt.root; cd /usr/ports/print/acroread7
&prompt.root; make install cleanLicencelési megszorítások miatt csomag
nem áll rendelkezésre.gvgvPDFmegjelenítõPostScriptmegjelenítõA gv egy &postscript; és
PDF megjelenítõ. Eredetileg a
ghostview alapján
készült, de a Xaw3d-nek
köszönhetõen sokkal szebben néz ki. Gyors
és az felülete letisztult. A
gv sok mindent tud, többek
közt beállítható benne a dokumentum
tájolása, a papírméret,
skálázás és az
élsimítás. Szinte bármelyik
mûvelet elvégezhetõ csak
billentyûzetrõl vagy egérrel.A gv csomagjának
telepítéséhez a következõ
parancsot használhatjuk:&prompt.root; pkg_add -r gvHa pedig nem tudjuk letölteni a csomagot,
használhatjuk a Portgyûjteményt is:&prompt.root; cd /usr/ports/print/gv
&prompt.root; make install cleanXpdfXpdfPDFmegjelenítõHa egy egyszerû &os;-s PDF megjelenítõre
lenne szükségünk, erre a célra az
Xpdf pontosan megfelel. Nagyon
kevés erõforrást igényel és
nagyon megbízható. A szabványos X-beli
betûtípusokat használja, és nincs
szüksége sem a &motif;ra,
sem pedig más X-es eszközkészletre.Az Xpdf csomagjának
felrakásához az alábbi parancs
javasolt:&prompt.root; pkg_add -r xpdfAmennyiben nem áll rendelkezésre az
említett csomag, vagy egyszerûen csak a
Portgyûjteménybõl szeretnénk felrakni,
adjuk ki ezeket a parancsokat:&prompt.root; cd /usr/ports/graphics/xpdf
&prompt.root; make install cleanAhogy a telepítés befejezõdik, már
el is indíthatjuk az Xpdf
alkalmazást, ahol a jobb egérgombbal tudjuk
aktiválni a menüt.GQviewGQviewA GQview egy
képkezelõ. Állományokat tudunk
megnyitni benne egyetlen kattintással, külsõ
szerkesztõprogramot tudunk indítani vagy akár
még a képek kicsinyített változatait
is láthatjuk és így tovább.
Megtalálható benne a diavetítés
és az alapvetõ állománymûveletek.
Képgyûjteményeket is kezelhetünk
és könnyedén megtalálhatjuk a
bennük levõ képek között az
egyezõeket. A GQview teljes
képernyõs nézegetést is megenged,
illetve támogatja a honosítást.A GQview csomag
telepítéséhez ezt a parancsot kell
kiadni:&prompt.root; pkg_add -r gqviewAmikor ez a csomag nem tölthetõ le, vagy amikor
inkább a Portgyûjteménybõl
szeretnénk felrakni, ezt írjuk be:&prompt.root; cd /usr/ports/graphics/gqview
&prompt.root; make install cleanPénzügyi szoftverekHa bármilyen ok folytán a &os;-vel
szeretnénk kezeli személyes
pénzügyeinket, akadnak olyan kellõen komoly
és könnyen kezelhetõ alkalmazások, amelyek
csak a telepítésükre várnak.
Néhányuk közülük kompatibilis az
elterjedtebb állományformátumokkal, mint
például amiben a Quicken és az
Excel is tárolja az
adatait.Ebben a részben az alábbi programokat
vesszük sorra:AlkalmazásErõforrásigényTelepítés
forrásbólFõbb függõségekGnuCashkevésnehézGNOMEGnumerickevésnehézGNOMEAbacuskevéskönnyûTcl/TkKMyMoneykevésnehézKDEGnuCashGnuCashA GnuCash a
GNOME része, és egy
felhasználóbarát, mégis
hatékony eszközt ad a felhasználók
kezébe. A GnuCash
segítségével nyilván tudjuk tartani
a bevételeinket és kiadásainkat,
bankszámláinkat és befektetéseinket.
Felülete intuitív, miközben továbbra is
professzionális minõségû.A GnuCash-ben
megtalálhatunk egy intelligens
nyilvántartást, a számlák
hierarchikus rendszerét, és számtalan
billentyûkombinációt és automatikus
kiegészítést, amivel felgyorsul a
munkánk. Egyetlen tranzakciót képes
felbontani több kisebb és részletesebb
elemre. A GnuCash képes
importálni és exportálni a
Quicken QIF típusú
állományait. Ezen kívül még
kezeli a legtöbb nemzetközi
dátumformátumot és pénznemet.A GnuCash-t az alábbi
módon tudjuk telepíteni a
rendszerünkre:&prompt.root; pkg_add -r gnucashHa ez a csomag nem érhetõ el,
használhatjuk a Portgyûjteményt is:&prompt.root; cd /usr/ports/finance/gnucash
&prompt.root; make install cleanGnumericGnumerictáblázatkezelõGnumericA Gnumeric egy
táblázatkezelõ program, a
GNOME munkakörnyezet
része. Sok esetben képes a helyzethez
alkalmazkodva automatikusan kitalálni a
felhasználó gondolatait a cellák
formátumának megfelelõ automatikus
kiegészítõ rendszerével. Be tud
olvasni számos népszerûbb formátumot,
mint például az Excel,
Lotus 1-2-3 vagy a
Quattro Pro
állományait. A math/guppi
grafikonkészítõ programon keresztül
támogatja grafikonok rajzolását is. Nagy
számú beépített funkcióval
rendelkezik, és ismeri az összes megszokott
cellaformátumot, legyen az szám, pénznem,
dátum, idõ vagy bármi más.A Gnumeric
telepítését az alábbi paranccsal
adhatjuk ki:&prompt.root; pkg_add -r gnumericHa valamiért nem érhetõ el ez a csomag, a
Portgyûjteménybõl is fel tudjuk rakni:&prompt.root; cd /usr/ports/math/gnumeric
&prompt.root; make install cleanAbacusAbacustáblázatkezelõAbacusAz Abacus egy kicsi és
egyszerûen használható
táblázatkezelõ program. Számos olyan
funkciót tartalmaz beépítve, amelyek
kifejezetten hasznosnak bizonyulhatnak a statisztika,
pénzügyek és a matematika
területén. Importálni és
exportálni tudja az Excel
állományformátumát is. Az
Abacus még &postscript;
formátumú kimenetet is tud
készíteni.Az Abacus
telepítéséhez csupán ennyit kell
tennünk:&prompt.root; pkg_add -r abacusAmennyiben viszont nem érhetõ el ez a csomag,
használhatjuk a Portgyûjteményt is:&prompt.root; cd /usr/ports/deskutils/abacus
&prompt.root; make install cleanKMyMoneyKMyMoneytáblázatkezelõKMyMoneyA KMyMoney a
KDE részeként
kifejlesztett személyi pénzügyi
nyilvántartó. A
KMyMoney igyekszik az összes
kereskedelmi pénzügyi nyilvántartó
programban megtalálható fontosabb
lehetõséget magában foglalni és
rendelkezésre bocsátani. Mindezek mellett egy
könnyen használható és nagyon
ügyes kettõs könyvelést is
találhatunk benne. A KMyMoney
képes beolvasni a szabványos Quicken Interchange
Format (QIF) szerint készült
állományokat, követni a
befektetéseket, többféle pénznemet
kezelni és sok fajta kimutatást tudunk vele
készíteni. A megfelelõ
bõvítmény hozzáadásával
még az OFX formátumú
állományok olvasására is
alkalmas.A KMyMoney csomagként
így telepíthetõ:&prompt.root; pkg_add -r kmymoney2Ha ez a csomag nem érhetõ el, akkor a
Portgyûjteményen keresztül is fel tudjuk
rakni:&prompt.root; cd /usr/ports/finance/kmymoney2
&prompt.root; make install cleanÖsszefoglalásMiközben a &os; igen népszerû az
internetszolgáltatók körében a
teljesítménye és
megbízhatósága révén, a
hétköznapi használatban is remekül
beválik. Többezernyi olyan alkalmazás
érhetõ el hozzá csomagként
vagy portként,
amelyekkel az igényeinknek megfelelõ
munkakörnyezetet tudjuk kiépíteni.Íme egy rövidke emlékeztetõ
azokról az asztali alkalmazásokról, melyeket
a fejezetben tárgyaltunk:AlkalmazásCsomagPortOperaoperawww/operaFirefoxfirefoxwww/firefoxKOfficekoffice-kde3editors/koffice-kde3AbiWordabiwordeditors/abiwordThe GIMPgimpgraphics/gimpOpenOffice.orgopenofficeeditors/openoffice-1.1&acrobat.reader;acroreadprint/acroread7gvgvprint/gvXpdfxpdfgraphics/xpdfGQviewgqviewgraphics/gqviewGnuCashgnucashfinance/gnucashGnumericgnumericmath/gnumericAbacusabacusdeskutils/abacusKMyMoneykmymoney2finance/kmymoney2
diff --git a/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml
index c8db56b0e0..c12400c9d2 100644
--- a/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml
@@ -1,4408 +1,4408 @@
JimMockÁtdolgozta és egyes részeit
aktualizálta: Brian N.HandyEredetileg írta: RichMurpheyBináris Linux kompatibilitásÁttekintésBináris Linux
kompatibilitásbináris kompatibilitásLinuxA &os; számos más &unix;-szerû
operációs rendszerhez nyújt bináris
kompatibilitást, köztük a Linuxhoz is.
Elcsodálkozhatnánk rajta, hogy vajon miért
kell tudnia a &os;-nek Linux binárisokat futtatnia? A
válasz erre nagyon egyszerû. Rengeteg cég
és fejlesztõ kizárólag csak Linuxra
fejleszt, hiszen ez mostanság egy nagyon izgalmas
téma az informatika világában.
Emiatt azonban a &os; közösségnek külön
gyõzködnie kell ezeket a cégeket és
fejlesztõket, hogy készítsék el a
termékeik natív &os;-s változatát.
Ezzel az a gond, a legtöbb ilyen cég egyszerûen
nem veszi észre, hogy ha létezne a
terméküknek &os;-re írt változata, akkor
még többen használnák. Így
továbbra is csak Linuxra fejlesztenek. Mit tudnak tenni
ilyenkor a &os; használói? Nos, ekkor jön
jól a &os; bináris szintû
kompatibilitása.Dióhéjban úgy tudnánk
összefoglalni, hogy ennek köszönhetõen a &os;
felhasználók képesek a linuxos
alkalmazások közel 90%-át mindenféle
további módosítás nélkül
futtatni. Így tehát használható a
&staroffice;,
&netscape; Linux változata, az
&adobe; &acrobat;,
&realplayer;,
VMware,
&oracle;,
&wordperfect;,
Doom, Quake,
és még sok minden más. Sõt, egyes
tapasztalatok szerint bizonyos helyzetekben a &os; által
futtatott Linux binárisok sokkal jobban
teljesítenek, mint Linux alatt.Azonban vannak olyan Linuxra jellemzõ, az
operációs rendszer szintjén
meghúzódó eszközök, amelyek &os;
alatt nem használhatóak. &os;-n nem fognak
mûködni azok a Linux binárisok, amelyek
túlzottan kihasználják az olyan &i386;-os
rendszerhívásokat, mint például a
virtuális 8086 mód.A fejezet elolvasása során
megismerjük:hogyan engedélyezzük rendszerünkön a
Linux kompatibilitást;hogyan telepítsünk linuxos osztott
könyvtárakat;hogyan telepítsünk linuxos
alkalmazásokat a &os; rendszerünkre;a &os; Linux kompatibilitásának
implementációs részleteit.A fejezet elolvasásához ajánlott:külsõ szoftverek
telepítésének ismerete ().TelepítésKLD (betölthetõ rendszermag
objektum)A bináris Linux kompatibilitás
alapértelmezés szerint nem engedélyezett.
Legkönnyebben úgy tudjuk elérhetõvé
tenni, ha betöltjük a linux nevû
KLD modult (Kernel LoaDable). Ehhez
root felhasználóként a
következõket kell begépelni:&prompt.root; kldload linuxHa minden egyes rendszerindítás során
engedélyezni szeretnénk a bináris
kompatibilitást, akkor tegyük bele az
/etc/rc.conf állományba ezt a
sort:linux_enable="YES"A modul betöltõdését a &man.kldstat.8;
paranccsal tudjuk ellenõrizni:&prompt.user; kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.koa rendszermag beállításaiCOMPAT_LINUXHa valamiért nem akarjuk vagy nem éppen nem
tudjuk betölteni a modult, akkor a bináris Linux
kompatibilitást az options COMPAT_LINUX
beállítással be is tudjuk
építeni a rendszermagba. Ennek pontos
menetét a ben találjuk
meg.Linuxos futtatókönyvtárak
telepítéseLinuxlinuxos könyvtárak
telepítéseA linuxos könyvtárakat két módon
is felrakhatjuk: egyrészt a linux_base port
telepítésével, másrészt manuálisan.A könyvtárak telepítése a
linux_base porttalPortgyûjteményA futtatókönyvtárakat a lehetõ
legegyszerûbben a emulators/linux_base porton
keresztül tudjuk telepíteni. Teljesen úgy
történik, mint a Portgyûjtemény
akármelyik másik portjának
telepítése. Csupán ennyit kell
beírnunk:&prompt.root; cd /usr/ports/emulators/linux_base-fc4
&prompt.root; make install distcleanA telepítés végeztével kaptunk
is egy mûködõ bináris Linux
kompatibilitást, habár egyes programok
még panaszkodhatnak a rendszerkönyvtárak
alverzióit illetõen.
Általánosságban véve ez azonban
nem okoz nagyobb gondot.A emulators/linux_base portnak
több változata is használható,
melyek az egyes Linux disztribúcióknak
feleltethetõek meg. Ilyenkor mindig érdemes
közülük azt választani, amelyik a
leginkább megfelel a telepíteni
kívánt linuxos alkalmazás
igényeinek.A könyvtárak telepítése
manuálisanHa korábban még nem telepítettük
volna a Portgyûjteményt, akkor egyénileg kell
felraknunk az egyes könyvtárakat.
Közülük azokra lesz
szükségünk, amelyeket maga az
alkalmazás is használni akar, valamint a
futásidejû linkerre. Emellett még a &os;
rendszerükön levõ Linux binárisok
számára a /compat/linux
könyvtárban létre kell hoznunk a
gyökér ún.
árnyékkönyvtárát
is. A &os; alatt elindított Linux programok
elõször ebben a könyvtárban
fogják keresni a hozzájuk tartozó osztott
könyvtárakat. Így tehát, amikor egy
linuxos program betölti például a
/lib/libc.so
függvénykönyvtárat, akkor a &os;
elõször a
/compat/linux/lib/libc.so
állományt próbálja meg megnyitni,
majd ha az nem létezik, akkor a
/lib/libc.so állományt. Az
osztott könyvtárak ezért a
/compat/linux/lib
árnyékkönyvtárba
telepítendõek, és nem oda, ahova a linuxos
ld.so mutat.Általánosságban szólva eleinte
elég csak azokat az osztott könyvtárakat
megkeresni és felrakni, amelyekre a
telepítendõ linuxos alkalmazásunknak
ténylegesen szüksége van. Egy idõ
után úgyis összegyûlnek azok a
fontosabb függvénykönyvtárak, amelyek
segítségével már minden
további ráfordítás
nélkül futtatni tudjuk a frissen importált
programokat.Hogyan telepítsünk újabb osztott
könyvtárakat?osztott
könyvtárakMit tegyünk, ha az emulators/linux_base port
telepítése után az alkalmazás
még mindig követel néhány
hiányzó osztott könyvtárat? Honnan
tudhatjuk meg, hogy milyen osztott könyvtárak
kellenek majd egy Linux bináris
használatához és honnan szerezzük be
ezeket? Erre alapvetõn két
lehetõségünk van (az
utasításokat root
felhasználóként kell majd
végrehajtanunk).Ha hozzáférünk egy Linux rendszerhez,
akkor szedjük össze az alkalmazásunk
futtatásához szükséges osztott
könyvtárakat és másoljuk ezeket a
&os; partíciójára.
Például:Tegyük fel, hogy FTP-n keresztül
leszedtük a Doom Linux
változatát és felraktuk egy
általunk elérhetõ Linux rendszerre. Az
ldd linuxdoom parancs
segítségével ki tudjuk deríteni,
milyen osztott könyvtárak kellenek majd
nekünk:&prompt.user; ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29szimbolikus linkekAz utolsó oszlopban levõ
állományokat másoljuk át,
tegyük ezeket a /compat/linux
könyvtárba, és hozzunk létre az
elsõ oszlopban szereplõ szimbolikus linkeket.
Így tehát a következõ
állományok kellenének:/compat/linux/usr/X11/lib/libXt.so.3.1.0
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Ha már rendelkezünk az
ldd kimenetének elsõ
oszlopában szereplõ
fõverziószámú osztott
könyvtár, akkor nem kell
átmásolni az utolsó oszlopban
levõ állományokat, hiszen így
is mûködnie kellene mindennek. Ha viszont egy
újabb változattal találkozunk,
akkor érdemes mégis inkább
átmásolni. Miután a szimbolikus
linkeket átirányítottuk az
új változatra, a régit akár
törölhetjük is. Ha például
ezek a könyvtárak elérhetõek a
rendszerünkön:/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27Észrevesszük, hogy az
ldd kimenetében az új
bináris egy újabb változatot
igényel:libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29Ha csak az utolsó jegyében marad le
valamivel a verziószám, akkor nem
különösebben aggódnunk a
/lib/libc.so.4.6.29 miatt sem,
hiszen a programnak egy picivel korábbi
verzióval is remekül kellene tudnia
mûködnie. Természetesen, ha akarjuk,
ettõl függetlnül
lecserélhetjük a
libc.so állományt,
ami ezt eredményezi:/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
A szimbolikus linkek karbantartása
csak a Linux binárisok
esetén szükséges. A &os;
saját futásidejû linkere
magától megkeresi a megfelelõ
fõverziószámú
könyvtárakat, ezért emiatt
általában nem kell aggódni.
Linux ELF binárisok telepítéseLinuxELF binárisokAz ELF binárisok futtatása elõtt
néha még szükség van a
megbélyegzés (branding)
használatára is. Ha egy bélyegezetlen ELF
binárist akarunk elindítani, akkor a
következõ hibaüzenetet kapjuk:&prompt.user; ./egy-linux-elf-bináris
ELF binary type not known
AbortA &os; rendszermagjának a &man.brandelf.1; paranccsal
tudunk segíteni a &os; és a Linux
binárisainak
megkülönböztetésében.&prompt.user; brandelf -t Linux egy-linux-elf-binárisGNU
eszköztárA GNU által fejlesztett eszközök
manapság már automatikusan elhelyezik az ELF
binárisok azonosításához
szükséges bélyegeket, ezért ez a
lépés a jövõben egyre inkább
feleslegessé válik.A névfeloldó
beállításaHa a névfeloldás (DNS) valamiért nem
mûködne, vagy egy ehhez hasonló üzenetet
kapunk:resolv+: "bind" is an invalid keyword resolv+:
"hosts" is an invalid keywordAkkor az /compat/linux/etc/host.conf
állományba be kell illesztenünk a
következõ sorokat:order hosts, bind
multi onAz itt megszabott sorrend szerint elõször a
/etc/hosts állományt
nézi át, és majd csak ezután
próbálja meg feloldani a nevet. Ha a
/compat/linux/etc/host.conf
állomány nem létezik, akkor a linuxos
alkalmazás a &os; /etc/host.conf
állományát találja meg, és
panaszkodni fog a &os; eltérõ
formátumára. Távolítsuk el a
bind szócskát, ha nem
állítottunk be névszervert az
/etc/resolv.conf
állományhoz.BorisHollasA Mathematica 5.X verziójához
igazította: A &mathematica; telepítésealkalmazásokMathematicaEbben a szakaszban megismerhetjük, hogyan
telepítsük a &mathematica;
5.X Linux változatát &os;
rendszerekre.A &mathematica; vagy a
&mathematica; for Students linuxos
változatai közvetlenül megrendelhetõek a
fejlesztõtõl: .A &mathematica; telepítõjének
elindításaElõször is jeleznünk kell a &os;-nek, hogy a
&mathematica; binárisai a
linuxos ABI-t (Appplication Binary Interface) fogják
használni. Itt legkönnyebben úgy
járhatunk el, ha egyszerûen
beállítjuk, hogy a rendszer a bélyegezetlen
ELF binárisokat automatikusan Linux binárisoknak
tekintse:&prompt.root; sysctl kern.fallback_elf_brand=3Ennek köszönhetõen a &os; most már az
összes bélyegezetlen ELF bináris
esetén a linuxos ABI-t fogja használni, és
így a telepítõt akár már
közvetlenül a CD-rõl is
indíthatjuk.Most másoljuk át a
MathInstaller nevû
állományt a merevlemezünkre:&prompt.root; mount /cdrom
&prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller helyi_könyvtárAz állományban cseréljük ki az
elsõ sorban található
/bin/sh hivatkozást a
/compat/linux/bin/sh hivatkozásra.
Ezzel biztosíthatjuk be, hogy a telepítõt a
linuxos &man.sh.1; fogja elindítani. Ezután a
kedvenc szövegszerkesztõnkkel vagy a
következõ szakaszban található szkript
segítségével helyettesítsük
benne a Linux) szöveg összes
elõfordulását a FreeBSD)
szöveggel. Mivel a
&mathematica; telepítõje
az uname -s parancsra kapott
válaszból állapítja meg az
operációs rendszer típusát,
ezért ezzel a módosítással a &os;-t
is a Linuxhoz hasonló módon fogja kezelni. A
MathInstaller elindítása
után most már telepíthetõ a
&mathematica;.A &mathematica; állományainak
módosításaA &mathematica;
telepítése során létrejött
szkripteket a használatuk elõtt át kell
írnunk. Amennyiben a
&mathematica;hoz tartozó
programokat a /usr/local/bin
könyvtárba telepítettük, akkor itt
találunk kell a math,
mathematica,
Mathematica és
MathKernel állományokra
mutató szimbolikus linkeket. Ezek mindegyikében
cseréljük ki a Linux)
karakterláncot a FreeBSD)
szövegre a kedvenc szövegszerkesztõnkkel vagy az
alábbi szkripttel:#!/bin/sh
cd /usr/local/bin
for i in math mathematica Mathematica MathKernel
do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp
sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
rm $i.tmp
chmod a+x $i
doneA &mathematica; jelszavának
megszerzéseEthernetMAC-címA &mathematica; elsõ
indítása során kérni fog egy
jelszót. Ha még nem kértünk volna
jelszót a fejlesztõtõl, akkor a
számítógépünk
azonosítójának (machine ID)
megállapításához indítsuk el
a telepítés könyvtárában
található mathinfo nevû
programot. Ez az azonosító
lényegében az elsõdleges Ethernet
kártyánk MAC-címe lesz, ezért a
&mathematica; nem futtatható
több számítógépen.Amikor e-mailen, telefonon vagy faxon keresztül
regisztráljuk a terméket a Wolframnál,
akkor meg kell adnunk nekik ezt az azonosítót
machine ID néven, amire õk
elküldik a hozzátartozó
jelszót.A &mathematica; frontendjének futtatása
hálózaton keresztülA &mathematica; a
szabványos betûkészletekkel meg nem
jeleníthetõ szimbólumokhoz
(integráljelek, szummák, görög
betûk, matematikai jelölések stb.)
használ néhány olyan speciális
betûtípust, amelyek nem minden esetben állnak
rendelkezésre. A X által használt
protokoll miatt ezeket a betûtípusokat
helyben kell telepíteni. Ennek
értelmében a
&mathematica; CD-jén
található betûtípusokat
telepítenünk kell a
számítógépünkre is. A CD-n
ezeket általában a
/cdrom/Unix/Files/SystemFiles/Fonts
könyvtárban találjuk meg, vagy a merevlemezen
a /usr/local/mathematica/SystemFiles/Fonts
könyvtárban. Ezen belül pedig a
Type1 és X
alkönyvtárakra van szükségünk. Az
alábbiakban leírtak szerint több módon
is használhatjuk ezeket.Az egyik ilyen módszer, ha átmásoljuk
az imént említett könyvtárakat a
többi mellé, vagyis a
/usr/X11R6/lib/X11/fonts
könyvtárba. Ekkor szükségünk lesz
még a fonts.dir
állomány átírására is,
ahova fel kell vennünk a betûtípusok neveit,
majd ennek megfelelõen az elsõ sorban
módosítanunk a könyvtárban
található betûtípusok
számát. De ugyanígy lefuttathatjuk ebben a
könyvtárban a &man.mkfontdir.1; parancsot is.Az a másik megoldás, ha a
könyvtárakat így másoljuk át a
/usr/X11R6/lib/X11/fonts helyre:&prompt.root; cd /usr/X11R6/lib/X11/fonts
&prompt.root; mkdir X
&prompt.root; mkdir MathType1
&prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts
&prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X
&prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; cd /usr/X11R6/lib/X11/fonts/X
&prompt.root; mkfontdir
&prompt.root; cd ../MathType1
&prompt.root; mkfontdirMost adjuk hozzá az új
könyvtárakat a betûtípusok
könyvtáraihoz:&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X
&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; xset fp rehashHa az &xorg; szervert
használjuk, akkor az xorg.conf
állományban megadhatjuk ezen
könyvtárak automatikus betöltését
is.Az &xfree86;
típusú szerverek esetén az
XF86Config konfigurációs
állományt kell
módosítanunk.betûkHa még nincs/usr/X11R6/lib/X11/fonts/Type1 nevû
könyvtárunk, akkor a példában
szereplõ MathType1
könyvtárat nyugodtan átnevezhetjük
Type1 nevûre.AaronKaplanÍrta: RobertGetschmannKöszönet: A &maple; telepítésealkalmazásokMapleA &maple; egy
&mathematica;hoz hasonló
kereskedelmi alkalmazás. A használatához
elõször meg kell vásárolni a címrõl, majd
a licenc megszerzéséhez ugyanott
regisztrálni. &os;-re a szoftvert a következõ
egyszerû lépéseken keresztül tudjuk
telepíteni.Indítsuk el a termékhez mellékelt
INSTALL nevû szkriptet.
Válasszuk a telepítõprogram által
felkínált opciók közül a
RedHat címkéjût. A
telepítés célkönyvtára legyen
a /usr/local/maple.Ha eddig még nem tettük volna meg,
rendeljük meg a &maple;
licencét a Maple Waterloo Software-tõl () és
másoljuk az
/usr/local/maple/license/license.dat
állományba.Az &maple;-höz
mellékelt INSTALL_LIC szkript
elindításával telepítsük a
FLEXlm licenckezelõt. A
szervernek adjuk meg a
számítógépünk
hálózati nevét.Javítsuk át a
/usr/local/maple/bin/maple.system.type
állományt a következõ
módon: ----- itt kezdõdik a módosítás ---------
*** maple.system.type.orig Sun Jul 8 16:35:33 2001
--- maple.system.type Sun Jul 8 16:35:51 2001
***************
*** 72,77 ****
--- 72,78 ----
# the IBM RS/6000 AIX case
MAPLE_BIN="bin.IBM_RISC_UNIX"
;;
+ "FreeBSD"|\
"Linux")
# the Linux/x86 case
# We have two Linux implementations, one for Red Hat and
----- módosítás vége -------------------Vigyázzunk, hogy a "FreeBSD"|\
kezdetû sor végén nem szabad semmilyen
további whitespace karakternek lennie.Ez a javítás arra utasítja a
&maple;-t, hogy
FreeBSD-t Linux rendszerként ismerje
fel. A bin/maple szkript hívja a
bin/maple.system.type szkriptet, ami
pedig a uname -a hívással
próbálja kideríteni a
operációs rendszer nevét. Ettõl
függõen választja ki, hogy milyen
típusú binárisokat fog futtatni.Indítsuk el a licenckezelõ szervert.A most következõ szkripttel
könnyedén el tudjuk indítani az
lmgrd programot. A szkriptet
/usr/local/etc/rc.d/lmgrd.sh néven
hozzuk létre: ----- nyissz -----------
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
export PATH
LICENSE_FILE=/usr/local/maple/license/license.dat
LOG=/var/log/lmgrd.log
case "$1" in
start)
lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
echo -n " lmgrd"
;;
stop)
lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
;;
*)
echo "Usage: `basename $0` {start|stop}" 1>&2
exit 64
;;
esac
exit 0
----- nyissz -----------Próbáljuk meg elindítani a
&maple;-t:&prompt.user; cd /usr/local/maple/bin
&prompt.user; ./xmapleSzerencsés esetben innentõl kezdve már
minden mûködik. És ne felejtsünk el
írni a Maplesoftnak, hogy szeretnénk egy
natív &os; verziót a
termékükbõl!Általános buktatókA FLEXlm licenckezelõvel
esetenként nehéz lehet elboldogulni.
Errõl témáról bõvebben a
címen találunk
leírásokat.Az lmgrd nagyon
válogatós a licencállományokat
illetõen és bármilyen
apróságra kiakad. Egy szabályos
licencállomány valahogy így néz
ki:# =======================================================
# License File for UNIX Installations ("Pointer File")
# =======================================================
SERVER chillig ANY
#USE_SERVER
VENDOR maplelmg
FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \
ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
SN=XXXXXXXXXA sorozatszámot természetesen
eltávolítottuk. Itt a
chillig a
számítógép neve.Az itt megadott licencállomány
remekül használható egészen addig
a pontig, amíg békén hagyjuk a
FEATURE kezdetû sort (melyet a
licenckulcs véd).DanPellegÍrta: A &matlab; telepítésealkalmazásokMATLABEz a leírás azt mutatja be, hogyan
telepítsük &os; rendszerekre a &matlab;
version 6.5 Linux változatát. A
&java.virtual.machine; (lásd
) használatától
eltekintve meglepõen jól mûködik.A &matlab; Linux változata
közvetlenül megrendelhetõ a The MathWorks-tõl,
a címen. Ne
felejtsük el beszerezni a licencállományt
és az elkészítéséhez
szükséges útmutatót. Ha már
úgy is arra járunk, jelezzük a
fejlesztõknek, hogy igényt tartanánk a
termékük natív &os;-s változatára
is!A &matlab; telepítéseA &matlab;
telepítéséhez a következõket kell
tennünk:Helyezzük be a telepítõt CD-t és
csatlakoztassuk. A telepítõszkript
javaslatának megfelelõen váltsuk
át a root
felhasználóra. A szóbanforgó
szkript elindításához
gépeljük be a következõt:&prompt.root; /compat/linux/bin/sh /cdrom/installA telepítõ grafikus. Ha a
megjelenítõ használatáról
szóló hibaüzeneteket kapunk, akkor
adjuk ki a setenv HOME
~FELHASZNÁLÓ
parancsot, ahol a
FELHASZNÁLÓ annak
a felhasználónak a neve legyen, amivel az
imént meghívtuk a &man.su.1;
programot.Amikor a &matlab;
könyvtárát kell megadnunk, ezt
írjuk be:
/compat/linux/usr/local/matlab.A telepítés további
részeinek megkönnyítése
érdekében írjuk be ezt a
parancssorba: set
MATLAB=/compat/linux/usr/local/matlabMiután megkaptuk a
&matlab; licencét, az
útmutatás szerint szerkesszük
át.A licencállományt a kedvenc
szövegszerkesztõnkkel akár már
korábban elõ is
készíthetjük, és majd amikor a
telepítõnek szüksége lesz
rá, másoljuk be
$MATLAB/license.dat helyre.Futtassuk le a telepítést.Ezzel befejezõdõtt a
&matlab; hagyományos
telepítése. Innentõl már csak a &os;
rendszer hozzátapasztásán
fogunk dolgozni.A licenckezelõ elindításaHozzunk létre szimbolikus linkeket a
licenckezelõ szkriptjeire:&prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
&prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMWHozzunk létre egy indítószkriptet
/usr/local/etc/rc.d/flexlm.sh
néven. A lentebb látható minta a
&matlab;hoz mellékelt
$MATLAB/etc/rc.lm.glnx86
állomány egy módosított
változata. Benne az állományok
helyét és a licenckezelõ
indításának
körülményeit változtattuk meg (hogy
Linux emuláció alatt fusson).#!/bin/sh
case "$1" in
start)
if [ -f /usr/local/etc/lmboot_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u felhasználó && echo 'MATLAB_lmgrd'
fi
;;
stop)
if [ -f /usr/local/etc/lmdown_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0Tegyük ezt az állományt
végrehajthatóvá:&prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.shA fenti szkriptben cseréljük ki a
felhasználó
nevét a rendszerünkben levõ egyik
felhasználó nevére (ami persze nem a
root).A licenckezelõt az alábbi paranccsal
indítsuk el:&prompt.root; /usr/local/etc/rc.d/flexlm.sh startA &java; futtató környezet
élesítéseA &java; futtató
környezet (&java; Runtime Environment, JRE) linkjét
irányítsuk át egy &os; alatt
mûködõ változatéra:&prompt.root; cd $MATLAB/sys/java/jre/glnx86/
&prompt.root; unlink jre; ln -s ./jre1.1.8 ./jreA &matlab; indítószkriptjének
elkészítéseHozzunk létre egy ilyen
indítószkriptet a
/usr/local/bin/matlab
könyvtárban:#!/bin/sh
/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"Futtassuk le a chmod +x
/usr/local/bin/matlab parancsot.A szkript lefutása során a emulators/linux_base
verziójától függõen
hibákat is kaphatunk. Ha el akarjuk kerülni
ezeket, akkor szerkesszük át a
/compat/linux/usr/local/matlab/bin/matlab
állomány következõ
sorát:if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then(a 13.0.1 számú verzióban ez 410.
sor) erre:if test -L $newbase; thenA &matlab; leállító
szkriptjének elkészítéseA &matlab; szabálytalan kilépéseit az
alábbi utasítások nyomán tudjuk
megszüntetni.Hozzunk létre egy
$MATLAB/toolbox/local/finish.m
nevû állományt, majd írjuk bele
ezt a sort:! $MATLAB/bin/finish.shA $MATLAB szöveget pontosan
így írjuk be.Ugyanebben a könyvtárban találjuk a
beállításaink kilépés
elõtti mentéséért felelõs
finishsav.m és
finishdlg.m
állományokat. Ha ezek valamelyikét
módosítjuk, akkor a elõbbi parancsot
közvetlenül a save
után szúrjuk be.Hozzunk létre egy
$MATLAB/bin/finish.sh
állományt, amiben szerepeljen a
következõ:#!/usr/compat/linux/bin/sh
(sleep 5; killall -1 matlab_helper) &
exit 0Tegyük végrehajthatóvá:&prompt.root; chmod +x $MATLAB/bin/finish.shA &matlab; használataMost már a matlab parancs
begépelésével bármikor
elindíthatjuk.MarcelMoolenaarÍrta: Az &oracle; telepítésealkalmazásokOracleElõszóEz a leírás azt mutatja be, hogyan
telepítsük &os;-re az &oracle;
8.0.5 és &oracle; 8.0.5.1
Enterprise Edition Linux
változatait.A Linux környezet telepítéseTelepítsük a emulators/linux_base és
devel/linux_devtools
portokat a Portgyûjteménybõl. Amennyiben ennek
során nehézségekbe
ütköznénk, próbálkozzunk a
korábbi változataikkal.Fel kell raknunk a Red Hat Tcl csomagját is, ha
az alkalmazáshoz tartozó intelligens
ügynököt is futtatni szeretnénk. Ez a
tcl-8.0.3-20.i386.rpm. A hivatalos
RPM port
segítségével az alábbi
általános parancson keresztül tudunk
csomagokat telepíteni:&prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm csomagA csomag
telepítésének semmilyen hibát nem
kellene okoznia.Az &oracle; környezetének
létrehozásaAz &oracle;
telepítéséhez elõször ki kell
alakítanunk a megfelelõ környezetet. Ez a
leírás kifejezetten
arról szól, hogy &os;-n hogyan futtassuk a linuxos
&oracle;-t, nem pedig az
&oracle; telepítési
útmutatójában bemutatottakat
taglalja.A rendszermag hangolásaa rendszermag
hangolásaAhogy a &oracle;
telepítési útmutatójában is
olvashatjuk, be kell állítanunk az osztott
memória maximális méretét. &os;
alatt erre a célra ne használjuk a
SHMMAX értéket, mivel az
SHMMAX az SHMMAXPGS
és PGSIZE
értékekbõl számolódik ki.
Ezért nekünk itt a SHMMAXPGS
értékét kell meghatároznunk.
Minden egyéb beállítás
történhet az útmutatóban megadottak
szerint. Például:options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61Hangoljuk be ezeket az értékeket a
&oracle; tervezett
használatához.Emellett a konfigurációs
állományban ne feledkezzünk meg az
alábbi beállítások
megadásáról sem:options SYSVSHM #SysV osztott memória
options SYSVSEM #SysV szemaforok
options SYSVMSG #SysV folyamatok közti kommunikációAz &oracle; hozzáféréseEgy rendes hozzáféréshez
hasonlóan hozzunk létre egy külön
oracle hozzáférést
is rendszerünkön. Az oracle
hozzáférés annyira különleges,
hogy csak linuxos parancsértelmezõt
társítsunk hozzá. Ehhez vegyük fel
/compat/linux/bin/bash sort az
/etc/shells állományba,
majd állítsuk át az
oracle nevû
felhasználó
parancsértelmezõjét a
/compat/linux/bin/bash programra.KörnyezetA megszokott &oracle;
környezeti változók, mint
például a ORACLE_HOME és
ORACLE_SID mellett még
definiálnunk kell a következõket is:VáltozóÉrtékLD_LIBRARY_PATH$ORACLE_HOME/libCLASSPATH$ORACLE_HOME/jdbc/lib/classes111.zipPATH/compat/linux/bin
/compat/linux/sbin
/compat/linux/usr/bin
/compat/linux/usr/sbin
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
$ORACLE_HOME/binJavasoljuk, hogy az összes környezeti
változót a .profile
állományban adjuk meg. Ennek megfelelõen a
példa beállításai így
fognak kinézni benne:ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATHAz &oracle; telepítéseA Linux emulátorban meghúzódó
apró egyenletlenségek miatt a
telepítés elõtt létre kell hoznunk egy
.oracle nevû alkönyvtárat
a /var/tmp könyvtárban.
Helyezzük ezt a oracle
felhasználó tulajdonába. Ezt
követõen minden további gond nélkül
képesek leszünk az
&oracle;
telepítésére. Ha netalán
mégis problémákba
ütköznénk, elõször mindig az
&oracle; telepítési
és konfigurációs állományait
ellenõrizzük! Az &oracle;
telepítése után rakjuk fel a
következõ szakaszokban bemutatandó
javításokat.Gyakran problémát okoz, ha a TCP protokollt
még nem telepítettük. Ennek
következményeképpen ugyanis nem tudnak
elindulni a TCP alapú szolgáltatások. Az
alábbi mûveletek ebben igyekeznek
segíteni:&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk ntcontab.o
&prompt.root; cd $ORACLE_HOME/lib
&prompt.root; ar r libnetwork.a ntcontab.o
&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk installNe felejtsük el ismét elindítani a
root.sh szkriptet!A root.sh javításaAz &oracle;
telepítése során
root (privilegizált)
felhasználóként elvégzendõ
mûveleteket a root.sh
elnevezésû szkriptben találjuk. Ez a
szkript a orainst könyvtárba
kerül. A chown parancs helyes
lefutásához alkalmazzunk az alább
mellékelt javítást, vagy az egész
szkriptet egy linuxos parancsértelmezõbõl
indítsuk el.*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this scriptHa nem CD-rõl telepítjük az
&oracle;-t, akkor akár a
root.sh forrását is
kijavíthatjuk. A neve rthd.sh,
és a forrásfa orainst
könyvtárában találhatjuk.A genclntsh javításaA genclntsh szkript a kliensek
által használt osztott könyvtár
létrehozására alkalmazható.
Általában demók
fordításához van rá
szükség. Az alábbi javítás
alkalmazásával a PATH
változó értéke
törölhetõ:*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lstAz &oracle; futtatásaHa rendesen követtük az iménti
utasításokat, akkor most már úgy
tudjuk futtatni az &oracle;-t, mintha
csak Linuxon futna.HolgerKippÍrta: ValentinoVaschettoAz eredeti verziót SGML-re ültette:
Az &sap.r3; telepítésealkalmazásokSAP R/3Az &sap; típusú
rendszerek telepítéséhez &os;-re hivatalosan
nem kaphatunk mûszaki segélynyújtást
— csak a minõsített plaformokat
támogatják.ElõszóEz a leírás az
&sap.r3; rendszer és
&oracle; adatbázis Linux
változatainak telepítését mutatja be
&os;-n, beleértve a &os; és az
&oracle;
telepítését. Kétféle
konfigurációt írunk le:&sap.r3; 4.6B (IDES) és
&oracle; 8.0.5, FreeBSD 4.3-STABLE&sap.r3; 4.6C és
&oracle; 8.1.7, FreeBSD 4.5-STABLEHabár ez a dokumentum igyekszik az összes fontos
lépést a lehetõ legrészletesebb
módon tárgyalni, semmiképpen sem
célja az &oracle; és az
&sap.r3; alkalmazásokhoz
mellékelt telepítési
útmutatók kiváltása.A kifejezetten az &sap; vagy az
&oracle; Linux változataira
vonatkozó kérdések, valamint az
&oracle; és az
&sap; OSS konkrét
használatával kapcsolatos leírások
tekintetében a saját
dokumentációjukat olvassuk el.A szoftverAz &sap;
telepítéséhez az alábbi CD-ket
használtuk fel:&sap.r3; 4.6B, &oracle; 8.0.5NévSzámLeírásKERNEL51009113SAP Kernel Oracle /
telepítõ / AIX, Linux, SolarisRDBMS51007558Oracle / RDBMS 8.0.5.X /
LinuxEXPORT151010208IDES / DB-Export /
1. lemezEXPORT251010209IDES / DB-Export /
2. lemezEXPORT351010210IDES / DB-Export /
3. lemezEXPORT451010211IDES / DB-Export /
4. lemezEXPORT551010212IDES / DB-Export /
5. lemezEXPORT651010213IDES / DB-Export /
6. (utolsó) lemezEmellett még használtuk az
&oracle; 8 Server (az elõzetes
8.0.5 változat a Linux 2.0.33 verziójához)
CD-jét is, amely igazából nem
feltétlenül szükséges, valamint a &os;
(a 4.3 RELEASE kiadása után nem sokkal levõ)
4.3-STABLE változatát.&sap.r3; 4.6C SR2, &oracle; 8.1.7NévSzámLeírásKERNEL51014004SAP Kernel Oracle /
SAP Kernel 4.6D változat / DEC, LinuxRDBMS51012930Oracle 8.1.7/ RDBMS /
LinuxEXPORT1510139534.6C kiadás SR2 / Export
/ 1. lemezEXPORT1510139534.6C kiadás SR2 / Export
/ 2. lemezEXPORT1510139534.6C kiadás SR2 / Export
/ 3. lemezEXPORT1510139534.6C kiadás SR2 / Export
/ 4. (utolsó) lemezLANG1510139544.6C kiadás SR2 / Nyelvi
támogatás / német, angol, francia
/ 1. lemezA telepítendõ nyelvtõl függõen
egyéb nyelvi támogatást tartalmazó
CD használata is szükségessé
válhat. Itt most csak a német és angol
nyelveket használjuk, ezért elegendõ az
elsõ CD. Csendben hozzátesszük, hogy mind a
négy EXPORT CD száma megegyezik.
Ugyanígy a három nyelvi CD-nek is megegyeznek a
számai (ez eltér a 4.6B IDES kiadás CD
számozásától). Az
írás pillanatában a &os; 4.5-STABLE
(2002.03.20-i) változatát
használjuk.&sap; füzetekAz &sap.r3;
telepítésével kapcsolatban az alábbi
füzetek bizonyultak hasznosnak:&sap.r3; 4.6B, &oracle; 8.0.5SzámCím0171356SAP Software on Linux: Essential
Comments0201147INST: 4.6C R/3 Inst. on UNIX -
Oracle0373203Update / Migration Oracle 8.0.5 -->
8.0.6/8.1.6 LINUX0072984Release of Digital UNIX 4.0B for
Oracle0130581R3SETUP step DIPGNTAB terminates0144978Your system has not been installed
correctly0162266Questions and tips for R3SETUP on Windows
NT / W2K&sap.r3; 4.6C, &oracle; 8.1.7SzámCím0015023Initializing table TCPDB (RSXP0004)
(EBCDIC)0045619R/3 with several languages or
typefaces0171356SAP Software on Linux: Essential
Comments0195603RedHat 6.1 Enterprise version:
Known problems0212876The new archiving tool SAPCAR0300900Linux: Released DELL Hardware0377187RedHat 6.2: important remarks0387074INST: R/3 4.6C SR2 Installation on
UNIX0387077INST: R/3 4.6C SR2 Inst. on UNIX -
Oracle0387078SAP Software on UNIX: OS Dependencies
4.6C SR2HardverkövetelményekAz alábbi hardvereszközök
szükségesek az &sap.r3;
rendszer telepítéséhez. Az éles
használathoz ennél természetesen valamivel
több kell majd:Változat4.6B4.6CProcesszorKét &pentium; III 800MHzKét &pentium; III 800MHzMemória1GB ECC2GB ECCSzabad hely a merevlemezen50 - 60GB (IDES)50 - 60GB (IDES)Éles használatra nagyobb
gyorsítótárral rendelkezõ &xeon;
processzorokat, nagysebességû
háttértárakat (SCSI, hardveres RAID
vezérlõvel), USV és ECC memória
modulok ajánlottak. A nagy tárigényt
egyébként az elõre beállított
IDES rendszer indokolja, ami egy 27 GB méretû
adatbázist hoz létre a telepítés
során. Ez a terület általában
elegendõ egy frissen induló rendszer és
hozzátartozó alkalmazásadatok
tárolására.&sap.r3; 4.6B, &oracle; 8.0.5A következõ hardverkonfigurációt
használtuk: két 800 MHz-es &pentium; III
processzor és a hozzájuk tartozó alaplap,
egy &adaptec; 29160 Ultra160 SCSI-vezérlõ (a
40/80 GB méretû DLT szalagos meghajtó
és CD-meghajtó használatához)
és egy &mylex; &acceleraid; RAID-vezérlõ (2
csatorna, 6.00-1-00 verziójú firmware és
32 MB memória), amihez két 17 GB-os
(tükrözött) merevlemez és négy
36 GB-os merevlemez (RAID 5) csatlakozik.&sap.r3; 4.6C, &oracle; 8.1.7Itt a hardver egy &dell; &poweredge; 2500 volt:
kétprocesszoros alaplap, két darab
1000 MHz-es &pentium; III processzorral
(fejenként 256 KB
gyorsítótárral), 2 GB PC133-as ECC
SDRAM memóriával, PERC/3 DC PCI
RAID-vezérlõvel (128 MB memória),
valamint egy EIDE DVD-meghajtóval. A
RAID-vezérlõre két, egyenként
18 GB méretû merevlemezt (tükrözve)
és négy 36 GB méretû
merevlemezt csatlakoztattunk (RAID 5-ben).A &os; telepítéseElõször is telepítenünk kell a &os;-t.
Ez több módon is lehetséges, ezekrõl a
ban olvashatunk
bõvebben.A lemezek felosztásaAz egyszerûség kedvéért az
&sap.r3; 46B és
&sap.r3; 46C SR2
telepítése során is ugyanazt a
felosztást használtuk. Egyedül az
eszközök nevei változtak, mivel a
telepítés eltérõ hardvereken
történt (/dev/da) és
/dev/amr, tehát ha az AMI
&megaraid; esetén a /dev/da0s1a
helyett a /dev/amr0s1a eszközt
láthatjuk):ÁllományrendszerMéret (1 KB-os blokkokban)Méret (GB-ban)Csatlakozási pont/dev/da0s1a1.016.3031//dev/da0s1b6lapozóállomány/dev/da0s1e2.032.6232/var/dev/da0s1f8.205.3398/usr/dev/da1s1e45.734.36145/compat/linux/oracle/dev/da1s1f2.032.6232/compat/linux/sapmnt/dev/da1s1g2.032.6232/compat/linux/usr/sapElõre állítsuk be és
inicializáljuk a két logikai meghajtót a
&mylex; és a PERC/3 RAID-vezérlõkön.
A hozzátartozó szoftver a
BIOS indításának
fázisában hívható be.A lemezek felosztása némileg eltér az
&sap; által javasoltaktól, mivel az &sap;
szerint az &oracle;
könyvtárait (néhány másikkal
együtt) külön-külön érdemes
csatlakoztatni — mi most az
egyszerûsítés kedvéért csak
létrehoztuk ezeket.A make world és egy új
rendszermagTöltsük le a legfrissebb -STABLE
forrásokat. Fordítsuk újra az
összes forrást (make world)
és a beállításainak
elvégzése után a saját
rendszermagunkat is. Itt ne felejtsük el megadni az
&sap.r3; és az
&oracle;
mûködéséhez szükséges
paramétereket.A Linux környezet telepítéseAz linuxos alaprendszer telepítéseElsõként a linux_base portot kell
felraknunk (root
felhasználóként):
- &prompt.root; cd /usr/ports/emulators/linux_base
+ &prompt.root; cd /usr/ports/emulators/linux_base-fc4
&prompt.root; make install distcleanA linuxos fejlesztõi környezet
telepítéseHa az &oracle;-t &os;-re a
ban leírtak szerint
akarjuk telepíteni, akkor szükségünk
lesz a linuxos fejlesztõeszközökre is:&prompt.root; cd /usr/ports/devel/linux_devtools
&prompt.root; make install distcleanA linuxos fejlesztõkörnyezetet csak az
&sap.r3; 46B IDES
telepítésénél raktuk fel. Nincs
rá szükségünk, ha a &os; rendszeren
nem akarjuk újralinkelni az
&oracle; adatbázist.
Pontosan ez a helyezet, amikor egy Linux rendszerhez
gyártott &oracle;
készletet használunk.A szükséges RPM csomagok
telepítéseRPMAz R3SETUP
elindításához PAM
támogatásra is szükségünk lesz.
Amikor elõször próbáltuk meg
telepíteni a &os; 4.3-STABLE változatára
az &sap;-t, felraktuk PAM-et
és az összes hozzátartozó csomagot,
majd végül úgy bírtuk
mûködésre, hogy
kényszerítettük a PAM
telepítését is. Az &sap.r3;
4.6C SR2 esetén szintén
sikerült önmagában felrakni a PAM RPM
csomagját is, tehát úgy néz ki,
hogy a függõségeit már nem kell
telepíteni: &prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
pam-0.68-7.i386.rpmAz &oracle; 8.0.5
verziójához mellékelt intelligens
ügynök futtatásához fel kell rakni a
RedHat tcl-8.0.5-30.i386.rpm nevû
Tcl csomagját is (máskülönben a az
&oracle; telepítése
közben szükséges újralinkelés
nem fog mûködni). Vannak ugyan
egyébként is gondok az
&oracle;
újralinkelésével, azonban ez linuxos
probléma, nem pedig &os;-s.Néhány további tippHasznos lehet, ha felvesszük a
linprocfs bejegyzést az
/etc/fstab állományba.
Ennek pontos részleteit a &man.linprocfs.5; man oldalon
találjuk meg. Másik fontos paraméter a
kern.fallback_elf_brand=3, amelyet az
/etc/sysctl.conf állományba
kell beszúrnunk.Az &sap.r3; környezetének
létrehozásaA szükséges állományrendszerek
és csatlakozási pontok
létrehozásaEgy egyszerûbb telepítéshez elég
csupán a következõ
állományrendszereket
elkészíteni:csatlakozási pontméret GB-ban/compat/linux/oracle45 GB/compat/linux/sapmnt2 GB/compat/linux/usr/sap2 GBKészítenünk kell még
néhány linket is, különben az
&sap; telepítõje
panaszkodni fogni az ellenõrzésük
során:&prompt.root; ln -s /compat/linux/oracle /oracle
&prompt.root; ln -s /compat/linux/sapmnt /sapmnt
&prompt.root; ln -s /compat/linux/usr/sap /usr/sapAz egyik ilyen telepítés közben
megjelenõ hibaüzenet (a PRD
rendszer és az &sap.r3; 4.6C
SR2 telepítése
esetén):INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200
Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to
/sapmnt/PRD/exe. Creating if it does not exist...
WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400
Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file
/compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The
program cannot go on as long as this link exists at this
location. Move the link to another location.
ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0
can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content
'/sapmnt/PRD/exe'A felhasználók és
könyvtárak létrehozásaAz &sap.r3; rendszernek
két felhasználóra és három
csoportra van szüksége. Az igényelt
felhasználók nevei az
&sap; rendszer
azonosítójától (System ID, SID)
függenek, amely három betûbõl
áll. Egyes ilyen rendszerazonosítók az
&sap; számára vannak
fenntartva. (Például a SAP
és a NIX. Ezek teljes
listáját az &sap;
dokumentációjában találjuk meg.)
Erre az IDES telepítéséhez az
IDS, a 4.6C SR2
telepítésénél a
PRD neveket adtuk, mivel ezeket a
rendszereket éles használatra
szánták. Ennélfogva a
következõ csoportokat hoztuk létre
hozzájuk (a csoportok azonosítói ugyan
eltérhetnek az általunk
használtaktól):csoport azonosítójacsoport neveleírás100dbaAdatbázis adminisztrátor101sapsys&sap; rendszer102operAdatbázis operátorAz &oracle;
alapértelmezett
telepítésénél csak a
dba csoport jön létre. A
dba csoportot
oper csoportként is
használhatjuk (bõvebb
információkért lásd az
&oracle; és az
&sap;
dokumentációját).Ezenkívül az alábbi
felhasználókra van még
szükségünk:felhasználói
azonosítófelhasználói néváltalános névcsoportegyéb csoportokleírás1000idsadm/prdadmsidadmsapsysoper&sap; adminisztrátor1002oraids/oraprdorasiddbaoper&oracle; adminisztrátorAz &man.adduser.8; parancs használata során
a következõkre lesz szükségünk egy
&sap; Administrator
létrehozásához (figyeljük a
parancsértelmezõt (shell) és a
felhasználói könyvtárat (home
directory)):Name: sidadm
Password: ******
Fullname: SAP Administrator SID
Uid: 1000
Gid: 101 (sapsys)
Class:
Groups: sapsys dba
HOME: /home/sidadm
Shell: bash (/compat/linux/bin/bash)Ugyanígy az &oracle; Administrator
esetében:Name: orasid
Password: ******
Fullname: Oracle Administrator SID
Uid: 1002
Gid: 100 (dba)
Class:
Groups: dba
HOME: /oracle/sid
Shell: bash (/compat/linux/bin/bash)A dba és
oper csoportok használata
során ne felejtsük el megadni az
oper csoportot sem.Könyvtárak létrehozásaA könyvtárakat általában
külön állományrendszerekként
hozzák létre, de ez teljesen az
igényeinken múlik. Mi most egyszerû
könyvtárakként alakítottuk ki
ezeket, ezért tulajdonképpen ugyanazon a
RAID 5 tömbön találhatóak
meg:Ehhez elõször beállítjuk az egyes
könyvtárak tulajdonosait és
engedélyeit (root
felhasználóként):&prompt.root; chmod 775 /oracle
&prompt.root; chmod 777 /sapmnt
&prompt.root; chown root:dba /oracle
&prompt.root; chown sidadm:sapsys /compat/linux/usr/sap
&prompt.root; chmod 775 /compat/linux/usr/sapMásodsorban
orasid
felhasználóként hozzuk létre az
/oracle/SID
alkönyvtárait:&prompt.root; su - orasid
&prompt.root; cd /oracle/SID
&prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB
&prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
&prompt.root; mkdir saparch sapreorg
&prompt.root; exitAz &oracle; 8.1.7
telepítésénél még
további könyvtárakra is
szükségünk lesz:&prompt.root; su - orasid
&prompt.root; cd /oracle
&prompt.root; mkdir 805_32
&prompt.root; mkdir client stage
&prompt.root; mkdir client/80x_32
&prompt.root; mkdir stage/817_32
&prompt.root; cd /oracle/SID
&prompt.root; mkdir 817_32A client/80x_32
könyvtárnak pontosan ilyen névvel kell
rendelkeznie. Ne cseréljük ki a benne
szereplõ x-et semmire se!A harmadik lépésben létrehozzuk a
sidadm
felhasználóhoz tartozó
könyvtárakat:&prompt.root; su - sidadm
&prompt.root; cd /usr/sap
&prompt.root; mkdir SID
&prompt.root; mkdir trans
&prompt.root; exitAz /etc/servicesA &sap.r3;
mûködéséhez fel kell vennünk
néhány olyan bejegyzést is az
/etc/services állományba,
amelyek a &os; telepítése során nem
jönnek létre. Így tehát
írjuk be az alábbi sorokat (legalább a
használni kívánt példány
számához illõ sorokat adjuk meg — ez
jelen esetünkben most a 00.
Természetesen az sem okoz gond, ha a
dp, gw,
sp és ms
esetén beírjuk az összes
példánynak megfelelõ portot
00-tól 99-ig).
Amennyiben a SAProuter vagy az
&sap; OSS
használatára lenne szükségünk,
akkor adjuk meg a SAProuter
által lefoglalt 99-es
példánynak megfelelõ 3299-es portot a
rendszerünkön:
sapdp00 3200/tcp # SAP menetirányító 3200 + a példány száma
sapgw00 3300/tcp # SAP átjáró 3300 + a példány száma
sapsp00 3400/tcp # 3400 + a példány száma
sapms00 3500/tcp # 3500 + a példány száma
sapmsSID 3600/tcp # SAP üzenetkezelõ szerver 3600 + a példány száma
sapgw00s 4800/tcp # biztonságos SAP átjáró 4800 + a példány számaA szükséges nyelvi
beállításoknyelvi
beállításAz &sap;-nek legalább
két olyan nyelvre van szüksége, amely nem
részei az alap RedHat telepítéseknek. Az
&sap; a saját FTP szervereirõl
elérhetõvé tette az ehhez
szükséges RPM csomagokat (amelyek viszont csak OSS
típusú hozzáférés
birtokában tölthetõek le). A 0171356
számú jegyzet tartalmazza a beszerzendõ
RPM-ek listáját.Megcsinálhatjuk úgy is, hogy egyszerûen
csak linkeket hozunk létre (például az
de_DE és
en_US könyvtárakra),
habár ezt egy éles rendszer esetében
semmiképpen sem ajánljuk (az IDES rendszerrel
tapasztalataink szerint eddig még remekül
mûködött). Az alábbi nyelvi
beállítások fognak tehát
nekünk kelleni:de_DE.ISO-8859-1
en_US.ISO-8859-1Így hozzuk létre hozzájuk a
linkeket:&prompt.root; cd /compat/linux/usr/share/locale
&prompt.root; ln -s de_DE de_DE.ISO-8859-1
&prompt.root; ln -s en_US en_US.ISO-8859-1A telepítés során az iméntiek
hiánya gondokat okozhat. Ha folyamatosan figyelmen
kívül hagyjuk az ezekbõl fakadó
hibákat (vagyis a CENTRDB.R3S
állományban a gondot okozó
lépések STATUS
értékét OK-ra
állítjuk), akkor komolyabb
erõfeszítések megtétele
nélkül majd képtelenek leszünk
bejelentkezni a frissen telepített
&sap; rendszerünkbe.A rendszermag finomhangolásaa rendszermag
finomhangolásaAz &sap.r3; rendszerek
temérdek mennyiségû erõforrást
igényelnek. Ennek
kielégítésére az alábbi
paramétereket adjuk hozzá a rendszermag
beállításait tartalmazó
állományhoz:# Adjunk a memóriazabálóknak (SAP és Oracle):
options MAXDSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"
# Kell néhány System V beállítás is:
options SYSVSHM # SYSV típusú osztott memória be
options SHMMAXPGS=262144 # a megosztható memória maximális mérete lapokban
#options SHMMAXPGS=393216 # a 46C telepítésekor ezt használjuk
options SHMMNI=256 # az osztott memóriákhoz tartozó azonosítók maximális száma
options SHMSEG=100 # a futó programonként megosztható szegmensek maximuma
options SYSVMSG # SYSV típusú üzenetsorok
options MSGSEG=32767 # a rendszerben keringõ üzenetszegmensek maximális száma
options MSGSSZ=32 # az üzenetszegmensek mérete. 2 hatványa LEGYEN
options MSGMNB=65535 # maximális karakter üzenetsoronként
options MSGTQL=2046 # a rendszerben levõ üzenetek maximuma
options SYSVSEM # SYSV típusú szemaforok
options SEMMNU=256 # a szemaforok UNDO struktúráinak száma
options SEMMNS=1024 # a rendszerben levõ szemaforok száma
options SEMMNI=520 # a szemaforok azonosítóinak mennyisége
options SEMUME=100 # az UNDO kulcsok számaAz itt megadott minimum értékek az &sap;
által kiadott dokumentációkból
származnak. Mivel a Linux változathoz
errõl nincs külön leírás,
ezért a (32 bites) HP-UX változat
dokumentációi között érdemes
ennek utánanézni. Mivel a 4.6C SR2
telepítéséhez használt rendszeren
valamivel több fizikai memória állt
rendelkezésünkre, ezért az osztott
szegmensek méretét nagyobbra tudtuk
megválasztani mind az &sap;
és mind az &oracle;
esetében, ami magyarázza a megosztható
lapok nagyobb számát.Az &os; &i386; változatának
telepítése során hagyjuk meg a
MAXDSIZ és
DFLDSIZ értékek
alapértelmezett 1 GB-os maximumát.
Ellenkezõ esetben ezekhez hasonló furcsa
hibaüzeneteket láthatunk: ORA-27102:
out of memory vagy Linux Error: 12:
Cannot allocate memory.Az &sap.r3; telepítéseAz &sap; CD-k
elõkészítéseSok CD-t kell a telepítés során
mozgatni, tehát csatlakoztatni és
leválasztani. Ha viszont elegendõ
meghajtóval rendelkezünk, akkor akár
csatlakoztathatjuk egyszerre is az összeset. Vagy
felmásolhatjuk a CD-t tartalmát a nekik
megfelelõ könyvtárakba:/oracle/SID/sapreorg/cd-neveahol a cd-neve a
következõk valamelyike: KERNEL,
RDBMS, EXPORT1,
EXPORT2, EXPORT3,
EXPORT4, EXPORT5
és EXPORT6 (4.6B/IDES), valamint
KERNEL, RDBMS,
DISK1, DISK2,
DISK3, DISK4
és LANG (4.6C SR2). A
csatlakoztatott CD-ken található
állományok neveinek nagybetûseknek kell
lenniük. Ha nem így lenne, akkor a
csatlakoztatásnál adjuk meg a
opciót. Így tehát a
következõ parancsokat kell kiadnunk:&prompt.root; mount_cd9660 -g /dev/cd0a /mnt
&prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/cd-neve
&prompt.root; umount /mntA telepítõszkript futtatásaElsõként egy install nevû
könyvtárat kell
elõkészítenünk:&prompt.root; cd /oracle/SID/sapreorg
&prompt.root; mkdir install
&prompt.root; cd installEzután futtassuk le a
telepítõszkriptet, ami pedig bemásolja az
install
könyvtárba szinte az összes fontos
állományt:&prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SHAz IDES (4.6B) változathoz egy teljes &sap.r3;
bemutató rendszer is tartozik, ezért a
megszokott három CD helyett hat EXPORT
típusú CD-bõl áll. Itt a
CENTRDB.R3S telepítõsablon
csak a szabvány központi példányt
hozza létre (&r3; és
az adatbázis), az IDES központi
példányát már nem. Ezért
az EXPORT1
könyvtárból ki kell másolnunk a
CENTRDB.R3S állományt,
különben az R3SETUP csak
három EXPORT CD-t fog kérni.Az újabb &sap; 4.6 SR2
kiadáshoz négy EXPORT CD tartozik. A
telepítés folyamatát a
CENTRAL.R3S állományban
levõ paraméterek vezérlik. A
korábbi kiadásokkal ellentétben nincsenek
külön sablonok az adatbázissal és a
nélküle telepítendõ központi
példányok számára. Az
&sap; az adatbázisok
telepítésére külön sablont
használ. Újrakezdéskor a
telepítést ettõl függetlenül
elegendõ az eredeti állománnyal
újraindítani.A telepítés közben és
után az &sap;-nek a
hostname paranccsal csak a gép
saját nevét, nem pedig a teljes
hálózati nevét kell megadnunk. Ilyenkor
ezt vagy egyenként begépeljük, vagy
létrehozunk rá egy álnevet az
orasid
és
sidadm
(valamint a megfelelõ lépésekben a
root) felhasználóknak:
alias hostname='hostname -s'.
Ezenkívül még az
&sap; telepítésekor
létrehozott mindkét felhasználó
.profile és
.login állományait is
beállíthatjuk ennek megfelelõen.Az R3SETUP 4.6B
verziójának indításaNe felejtsük el jól beállítani
az LD_LIBRARY_PATH környezeti
változót:&prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/libA telepítés könyvtárában
root felhasználóként
indítsuk el az R3SETUP
programot:&prompt.root; cd /oracle/IDS/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRDB.R3SA szkript ezek után feltesz néhány
kérdést (az alapértelmezett
válaszok zárójelben,
közvetlenül a megadottak után):KérdésAlapértelmezésVálaszEnter SAP System ID[C11]IDSEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[troubadix.domain.de]EnterEnter name of SAP db host[troubadix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.61EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/IDS/sapreorg/KERNELEnter path to RDBMS CD[/sapcd]/oracle/IDS/sapreorg/RDBMSEnter path to EXPORT1 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT1Directory to copy EXPORT1 CD[/oracle/IDS/sapreorg/CD4_DIR]EnterEnter path to EXPORT2 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT2Directory to copy EXPORT2 CD[/oracle/IDS/sapreorg/CD5_DIR]EnterEnter path to EXPORT3 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT3Directory to copy EXPORT3 CD[/oracle/IDS/sapreorg/CD6_DIR]EnterEnter path to EXPORT4 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT4Directory to copy EXPORT4 CD[/oracle/IDS/sapreorg/CD7_DIR]EnterEnter path to EXPORT5 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT5Directory to copy EXPORT5 CD[/oracle/IDS/sapreorg/CD8_DIR]EnterEnter path to EXPORT6 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT6Directory to copy EXPORT6 CD[/oracle/IDS/sapreorg/CD9_DIR]EnterEnter amount of RAM for SAP + DB850Enter (megabyte)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[101]EnterEnter Group-ID of oper[102]EnterEnter Group-ID of dba[100]EnterEnter User-ID of sidadm[1000]EnterEnter User-ID of orasid[1002]EnterNumber of parallel procs[2]EnterHa a CD-ket nem különbözõ helyekre
másoltuk, akkor az &sap;
telepítõje nem fogja megtalálni a ezeket (a
rajtuk levõ LABEL.ASC segít
neki az azonosításban) és kérni
fogja a CD csatlakoztatását, illetve a
csatlakozási pontjának
megadását.A CENTRDB.R3S sem minden esetben
mentes a hibáktól. A tapasztalataink szerint az
EXPORT4 címkéjû CD-t kérte
újra, miközben a helyes kulcsokat jelezte ki
(6_LOCATION, majd 7_LOCATION stb.), így egyszerûen
csak lépjünk tovább az
értékek meghagyásával.Függetlenül az iménti megemlített
problémáktól, egészen az &oracle;
adatbáziskezelõ telepítéséig
mindennek mûködnie kellene.Az R3SETUP 4.6C SR2
elindításaÁllítsuk be jól az
LD_LIBRARY_PATH környezeti
változó értékét. Ez
némileg eltér a 4.6B és az
&oracle; 8.0.5
párosának
beállításától:&prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/libA telepítés
könyvtárából
root felhasználóként
indítsuk el az R3SETUP
programot:&prompt.root; cd /oracle/PRD/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRAL.R3SA szkript ezek után feltesz néhány
kérdést (az alapértelmezett
válaszok zárójelben,
közvetlenül a megadottak után):KérdésAlapértelmezésVálaszEnter SAP System ID[C11]PRDEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[majestix]EnterEnter Database System ID[PRD]PRDEnterEnter name of SAP db host[majestix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (2) Oracle 8.1.72EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/PRD/sapreorg/KERNELEnter amount of RAM for SAP + DB20441800Enter (megabyte)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[100]EnterEnter Group-ID of oper[101]EnterEnter Group-ID of dba[102]EnterEnter User-ID of oraprd[1002]EnterEnter User-ID of prdadm[1000]EnterLDAP support3Enter (nincs
támogatás)Installation step completed[1] (continue)EnterChoose installation service[1] (DB inst,file)EnterAz OSUSERDBSID_IND_ORA és OSUSERIDADM_IND_ORA
lépésekben az
orasid
és
sidadm)
felhasználók létrehozása
hibákra futhat.Függetlenül az említett
problémáktól, az &oracle;
adatbáziskezelõ telepítéséig
mindennek remekül kell mûködnie.Az &oracle; 8.0.5 telepítéseAz &oracle; Linux
változatának telepítése során
felmerülõ problémák tekintetében
keressük fel az &sap; füzeteket és az &oracle;
Readme állományait. A
legtöbb, ha nem is az összes gondot az
egymással nem kompatibilis
függvénykönyvtárak
okozzák.Az &oracle;
telepítésének részleteit a Az &oracle;
telepítése címû szakaszban
találjuk.Az &oracle; 8.0.5 telepítése az
orainst
segítségévelAz &oracle; 8.0.5
verziójának használata esetén
néhány további
függvénykönyvtár
újralinkelésére is szükség
lesz, mivel az &oracle; 8.0.5
még a régi glibc könyvtárral lett
fordítva (RedHat 6.0), viszont a RedHat 6.1
már a glibc újabb verzióját
használja. A linkelés
mûködéséhez az alábbi
csomagokat kell még telepítenünk:compat-libs-5.2-2.i386.rpmcompat-glibc-5.2-2.0.7.2.i386.rpmcompat-egcs-5.2-1.0.3a.1.i386.rpmcompat-egcs-c++-5.2-1.0.3a.1.i386.rpmcompat-binutils-5.2-2.9.1.0.23.1.i386.rpmA részleteket lásd az &sap; füzeteiben
vagy az &oracle; Readme
állományaiban. Amennyiben ez nem oldható
meg, akkor az eredeti binárisok, esetleg az eredeti
RedHat rendszerbõl származó
újralinkelt binárisok is
használhatóak (habár a
telepítés pillanatában személyesen
ezt nem tudtuk ellenõrizni).Az intelligens ügynök
lefordításához fel kell raknunk a RedHat
saját Tcl csomagját. Ha ehhez nem tudjuk
beszerezni a tcl-8.0.3-20.i386.rpm
csomagot, akkor a RedHat 6.1 változatához
készült tcl-8.0.5-30.i386.rpm
is megteszi.Az újralinkeléstõl eltekintve a
telepítés többi része szinte adja
magát:&prompt.root; su - oraids
&prompt.root; export TERM=xterm
&prompt.root; export ORACLE_TERM=xterm
&prompt.root; export ORACLE_HOME=/oracle/IDS
&prompt.root; cd $ORACLE_HOME/orainst_sap
&prompt.root; ./orainstAz &oracle; On-Line Text Viewer
kikapcsolásán (mivel az jelenleg nem Linux alatt
sem érhetõ el) kívül mindegyik
képernyõt hagyjuk jóvá az
Enter billentyû
lenyomásával. Az
&oracle; ezután a
rendelkezésre álló
gcc, egcs vagy
i386-redhat-linux-gcc helyett a
i386-glibc20-linux-gcc
használatával újra akarjuk linkelni
magát.Idõ hiányában az &oracle;
8.0.5 PreProduction
kiadásából emeltünk ki
binárisokat, de az adatbáziskezelõ rendszer
felélesztésére tett elsõ
kísérleteink kudarcba fulladtak, és
ezután a megfelelõ RPM-ek összeszedése
valódi rémálomnak bizonyult.Az &oracle; 8.0.5 Pre-production Release for Linux
(Kernel 2.0.33) telepítéseA telepítés nagyon könnyû.
Csatlakoztassuk a CD-t, majd indítsuk el a
telepítõt. Ezután meg kell adnunk az
&oracle; felhasználói
könyvtárát és a telepítõ
odamásolja az összes binárist.
Habár a telepítés megkezdése
elõtt a korábbi kísérleteink
nyomát nem tüntettük el.Ezt követõen az
&oracle; adatbázisrendszer
minden további gond nélkül
elindítható.Az &oracle; 8.1.7 Linux változatának
telepítéseSzedjük le az oracle8172.tgz
állományt a Linux rendszeren létrehozott
könyvtárából, és bontsuk ki a
/oracle/SID/817_32/
könyvtárba.Az &sap.r3; telepítésének
folytatásaElõször is ellenõrizzük az
isamd (sidadm)
és oraids
(orasid) felhasználók
környezeti beállításait. A
.profile, .login
és .cshrc
állományaikban a korábbi
beállítások szerint kell szerepelnie a
hostname parancsnak. Ha még mindig a
teljes hálózati név lenne meg bennünk,
akkor a hostname parancsot át kell
írni mind a három állományban a
hostname -s parancsra.Az adatbázis feltöltéseEzután az R3SETUP
folytatható vagy újraindítható
(attól függõen, hogy a kilépés
választottuk-e vagy sem). Az
R3SETUP ekkor létrehozza az
adatbázisban a táblákat és az
R3load meghívásával
feltölti ezeket adatokkal (a 46B IDES változat
esetében az EXPORT1 - EXPORT6, a 46C esetében
pedig a DISK1 - DISK4 lemezekrõl).Amikor a feltöltés befejezõdõtt (ami
akár órákig is eltarthat),
szükség lesz még néhány
jelszó megadására is. A
próbatelepítéseknél nyugodtan
használhatjuk a jól ismert
alapértelmezett jelszavakat (azonban
mindenképpen változtassuk meg ezeket, ha egy
kicsit is számít a biztonság!):KérdésVálaszEnter Password for sapr3sapEnterConfirum Password for sapr3sapEnterEnter Password for syschange_on_installEnterConfirm Password for syschange_on_installEnterEnter Password for systemmanagerEnterConfirm Password for systemmanagerEnterA 4.6B telepítése során még
gondjaink akadtak a dipgntab
használatával.Az &oracle; Listener elindításaÍgy kell elindítani az
orasid
felhasználóval az
&oracle; Listenert:&prompt.user; umask 0; lsnrctl startHa máshogy próbálkozunk, akkor az
ORA-12546 kódú
hibát fogjuk kapni, mert a hálózati
portok socketei nem rendelkeznek a szükséges
engedélyekkel. Lásd a 072984-es &sap;
füzet.Az MNLS táblák
frissítéseHa nem Latin 1 kódolású nyelveket
akarunk importálni az &sap;
rendszerbe, akkor frissítenünk kell a
többnyelvû nyelvi támogatáshoz (Multi
National Language Support, MNLS) tartozó
táblázatokat. Ezek bemutatását a
15023 és 45619 számú &sap; OSS
füzetekben olvashatjuk. Minden más esetben az
&sap; telepítésekor
nyugodtan kihagyhatjuk.Ha még nincs is konkrétan
szükségünk az MNLS-re, akkor is
ellenõriznünk és inicializálnunk
kell a TCPDB táblát. A 0015023 és
0045619 számú &sap; füzetekben tudhatunk
meg errõl többet.Telepítés utáni teendõkAz &sap.r3; licenckulcsának
megszerzéseAz &sap.r3;
licenckulcsát külön kell kérni.
Fontos, mert a telepítéshez használatos
ideiglenes licenc csak négy hétig
érvényes. Elõször szerezzük meg
a hardverkulcsot. Jelentkezzünk be az
idsadm felhasználóval
és adjuk ki a saplicense
parancsot:&prompt.root; /sapmnt/IDS/exe/saplicense -getHa a saplicense paraméter
nélkül meghívására
válaszul opciókat listáz ki. A
licenckulcsot megérkezése után így
tudjuk élesíteni:&prompt.root; /sapmnt/IDS/exe/saplicense -installEzután a következõ
értékeket kell megadni:SAP SYSTEM ID = SID, 3 karakter
CUSTOMER KEY = hardverkulcs, 11 karakter
INSTALLATION NO = telepítés száma, 10 számjegy
EXPIRATION DATE = ééééhhnn, tehát "99991231"
LICENSE KEY = licenckulcs, 24 karakterA felhasználók
létrehozásaHozzunk létre egy felhasználót a 000
kliensen belül (a csak rajta belül
elvégezhetõ feladatokhoz, aki
különbözik a sap*
és ddic
felhasználóktól).
Felhasználónévként
általában a wartung nevet
választottuk (ami angolul a
service névnek, avagy
szolgáltatásnak felel meg). A
sap_new és
sap_all nevû profilok is kellenek. A
biztonságosság kedvéért a kliens
összes alapértelmezett
felhasználójának (beleértve a
sap* és ddic
felhasználókat is) változtassuk meg a
jelszavát.A szállítási rendszer, a profilok,
mûködési módok stb.
beállításaA ddic és
sap* felhasználóktól
eltérõ nevû felhasználóval a
000 kliensen belül legalább a
következõket végezzük el:FeladatTranzakcióA szállítási rendszer (Transport
System) beállítása,
például a Stand-Alone Transport
Domain Entity értékreSTMSA rendszer profiljának
létrehozása és
szerkesztéseRZ10A mûködési módok és
példányok karbantartásaRZ04Az iménti és az összes többi
telepítés utáni lépések
leírása teljes egészében
megtalálható az &sap;
telepítési útmutatóiban.Az
initsid.sap
(initIDS.sap) szerkesztéseAz /oracle/IDS/dbs/initIDS.sap
állomány tartalmazza a
&sap; tartalék
profilját. Itt többek közt a
használni kívánt szalag
méretét, a tömörítés
típusát és hasonló
paramétereket kell definiálni. A
sapdba / brbackup
futtatásához a következõ
értékeket változtattuk meg:compress = hardware
archive_function = copy_delete_save
cpio_flags = "-ov --format=newc --block-size=128 --quiet"
cpio_in_flags = "-iuv --block-size=128 --quiet"
tape_size = 38000M
tape_address = /dev/nsa0
tape_address_rew = /dev/sa0Magyarázat:compress
(tömörítés): HP DLT1
típusú szalagot használtunk, ami tud
hardveres tömörítést.archive_function
(archiválási házirend): Ez adja meg, hogy
alapértelmezés szerint mi történjen
az &oracle; archívált naplóival: az
új naplóállományok
elõször a szalagra mentõdnek, majd a már
lementett naplók ismét mentésre
kerülnek és végül törlõdnek.
Ezzel sok fejfájástól
menekülünk meg, mivel ilyenkor az
archiváló szalagok esetleges
sérülése esetén is
valószínûleg képesek leszünk
visszaállítani az adatbázist.cpio_flags (a cpio
beállítása): A
használata alapértelmezés, amivel a
blokkok mérete 5120 byte-ra
állítódik. A DLT típusú
szalagokhoz a HP legalább 32 KB-os
blokkméretet javasolt, ezért a
beállítással ezt 64 KB-ra
növeltük. Szükségünk volt a
beállításra is, mivel 65535-nél
több inode számunk van. Az utolsó
beállítás a ,
amivel megakadályozzuk, hogy a cpio
lementett blokkokat összefoglaló
kijelzésére begerjedjen a
brbackup.cpio_in_flags (a cpio bemeneti
beállításai): A szalagok
visszatöltésénél használt
beállítások. A formátumot
automatikusan felismeri.tape_size (szalagméret): Ezzel
adjuk meg általában a szalag nyers
kapacitását. Biztonsági okokból
(hardveres tömörítést
használunk) ez az érték a
ténylegesnél valamivel kisebb.tape_address (szalagos eszköz): a
cpio által használható
nem visszatekerhetõ eszköz.tape_address_rew (visszatekerhetõ
szalagos eszköz): A cpio által
használható visszatekerhetõ
eszköz.Telepítés utáni
beállításokAz &sap; alábbi
paramétereit kell beállítani a
telepítés után (IDES 46B, 1 GB
memóriával):NévÉrtékztta/roll_extension250000000abap/heap_area_dia300000000abap/heap_area_nondia400000000em/initial_size_MB256em/blocksize_kB1024ipc/shm_psize_40700000000013026 &sap; füzet:NévÉrtékztta/dynpro_area25000000157246 &sap; füzet:NévÉrtékrdisp/ROLL_MAXFS16000rdisp/PG_MAXFS30000A fenti paraméterek használatával
egy 1 gigabyte fizikai memóriával
rendelkezõ rendszer esetén
nagyjából így alakul a
memóriahasználat:Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free(547 MB aktív, 305 MB inaktív,
109 MB rögzített, 40 MB
gyorsítótár, 112 MB puffer,
3492 KB szabad)A telepítés során adódó
problémákAz R3SETUP
újraindítása egy probléma
kijavítása utánAz R3SETUP hiba esetén
leáll. Miután átnéztük a
hibára utaló naplókat és
elhárítottuk a hiba okát, újra el
kell indítanunk az R3SETUP
programot, majd a REPEAT opció
kiválasztásával próbáljuk
megismételni az R3SETUP által
kifogásolt legutóbbi mûveletet.Az R3SETUP
újraindításához egyszerûen
adjuk meg a megfelelõ R3S
állományt:&prompt.root; ./R3SETUP -f CENTRDB.R3Sa 4.6B verzió esetén, vagy a&prompt.root; ./R3SETUP -f CENTRAL.R3Sa 4.6C verzió esetén, függetlenül
attól, hogy a hiba a CENTRAL.R3S
vagy DATABASE.R3S
állományoknál keletkezett.Egyes lépéseknél az
R3SETUP úgy véli, hogy az
&sap; programjai
mûködnek (mivel a hozzájuk tartozó
lépéseket már megtettük),
így a hibák miatt az adatbázist esetleg
korábban nem tudta elindítani. Ezért a
hibák kijavításának
végeztével az R3SETUP
ismételt indítása elõtt
nekünk kell beindítani mind az
adatbázist, mind pedig az
&sap; rendszert.Ne felejtsük el újra elindítani az
&oracle; Listener
segédprogramját sem (az
orasid
felhasználóval adjuk ki a umask 0;
lsnrctl start parancsot), ha az
idõközben leállt volna
(például a rendszer kényszerû
újraindítása miatt).OSUSERSIDADM_IND_ORA az R3SETUP
közbenHa az R3SETUP panaszkodik ebben a
lépésben, akkor írjuk át az
általa ekkor használt sablont (a 4.6B
esetén ez a CENTRDB.R3S, illetve a
4.6C esetén ez a CENTRAL.R3S vagy
a DATABASE.R3S). Keressük a
[OSUSERSIDADM_IND_ORA] szöveget, vagy
csak a STATUS=ERROR bejegyzést, majd
írjuk be a következõ
értékeket:HOME=/home/sidadm (üres volt)
STATUS=OK (ERROR státusza volt)
Ezután indítsuk újra az
R3SETUP programot.OSUSERDBSID_IND_ORA az R3SETUP
közbenAz R3SETUP ebben a
lépésben is hajlamos panaszkodni. Az itt
felbukkanó hiba hasonló az OSUSERSIDADM_IND_ORA
lépésben jelentkezõhöz.
Szerkesszük át az R3SETUP
által ilyenkor használt sablont (4.6B
verzió esetén ez a
CENTRDB.R3S, illetve 4.6C
verziónál a CENTRAL.R3S
vagy DATABASE.R3S). Keressük meg a
[OSUSERDBSID_IND_ORA] részt, vagy
csak a STATUS=ERROR bejegyzést, majd
írjuk át az ebben a szakaszban szereplõ
értéket így:STATUS=OKIndítsuk újra az R3SETUP
programot.oraview.vrf FILE NOT FOUND hiba az
&oracle; telepítése közbenA telepítés megkezdése elõtt nem
tiltottuk le az &oracle; On-Line Text
Viewer felrakását. Habár
Linux esetén ez nem használható,
alapértelmezés szerint mégis ki van
választva. Az &oracle; telepítõ
menüjében tiltsuk le ezt és
nélküle kezdjük újra a
telepítést.TEXTENV_INVALID hiba az
R3SETUP, RFC vagy SAPgui Start
programokbanHa ilyen hibával kerülünk szembe, akkor
hiányoznak a megfelelõ nyelvi
állományok. A 0171356 &sap; füzet
tartalmazza a telepítendõ RPM csomagok
felsorolását (például a
RedHat 6.1 esetén a
saplocales-1.0-3 és
saposcheck-1.0-1). Amennyiben figyelmen
kívül hagyjuk az ilyen hibákat, és
az R3SETUP minden
kiakadásánál átírjuk (a
CENTRDB.R3S állományban) az
STATUS értékét az
ERROR értékrõl az
OK értékre és
újraindítjuk, az
&sap; nem
állítódik be jól és nem
tudunk a SAPgui
alkalmazással rácsatlakozni a frissen
telepített rendszerre még akkor sem, ha el
tudtuk indítani. Amikor a régebbi linuxos
SAPgui alkalmazással
csatlakozunk, a következõ üzeneteket
kapjuk:Sat May 5 14:23:14 2001
*** ERROR => no valid userarea given [trgmsgo. 0401]
Sat May 5 14:23:22 2001
*** ERROR => ERROR NR 24 occured [trgmsgi. 0410]
*** ERROR => Error when generating text environment. [trgmsgi. 0435]
*** ERROR => function failed [trgmsgi. 0447]
*** ERROR => no socket operation allowed [trxio.c 3363]
SpeicherzugriffsfehlerEz a viselkedés annak köszönhetõ,
hogy az &sap.r3; nem képes
jól összerendelni a nyelvi
beállításokat, sõt, magát sem
képes jól beállítani
(hiányoznak némely bejegyzések az
adatbázis egyes tábláiban). Az
&sap;-hez úgy tudunk
ilyenkor csatlakozni, ha a DEFAULT.PFL
állományba felvesszük a következõ
bejegyzéseket (lásd 0043288 füzet):abap/set_etct_env_at_new_mode = 0
install/collate/active = 0
rscp/TCP0B = TCP0BMajd indítsuk újra az egész
&sap; rendszert. Ezután
már tudunk csatlakozni hozzá, még ha az
országra jellemzõ nyelvi
beállítások nem is mûködnek
tökéletesen. Miután korrigáltuk az
ország beállításait (és
felraktuk a megfelelõ nyelvi állományokat),
távolítsuk el az iménti
bejegyzéseket a DEFAULT.PFL
állományból és indítsuk
újra az &sap;
rendszert.Az ORA-00001 hibaEz a hiba &os; alatt az &oracle;
8.1.7 használata során
következhet be. Akkor történik, amikor az
&oracle; adatbázis nem volt
képes rendesen inicializálni magát
és összeomlott, aminek révén
szemaforokat és memóriát hagyott
megosztva a rendszerben. Így az adatbázis
következõ indításakor kapunk egy
kövér ORA-00001
hibát.Az ipcs -a paranccsal keressük meg
ezeket, majd az ipcrm
segítségével pedig számoljuk
fel.Az ORA-00445 (a PMON
háttérprogram nem indult el) hibaEz a hiba az &oracle; 8.1.7
használatakor következhet be. Akkor kapjuk ezt a
hibát, amikor prdadm
felhasználóként a elindítjuk
startsap szkriptet (például
startsap_majestix_00).Erre gyógyír lehet, ha ehelyette az
adatbázis elindításához az
oraprd felhasználóval adjuk
ki az svrmgrl parancsot:&prompt.user; svrmgrl
SVRMGR> connect internal;
SVRMGR> startup;
SVRMGR> exitAz ORA-12546 (A Listener
indítása megfelelõ engedélyekkel)
hibaAz &oracle; Listener
alkalmazását oraids
felhasználóként az alábbi
paranccsal indítsuk el:&prompt.root; umask 0; lsnrctl startMáskülönben
ORA-12546 hibát kapunk, mivel a
hálózati portokhoz tartozó socketek nem
rendelkeznek a megfelelõ engedélyekkel.
Lásd 0072984 &sap; füzet.Az ORA-27102 (Nincs elég
memória) hibaAkkor fordul elõ ilyen hiba, amikor a
MAXDSIZ és
DFLDSIZ értékeit
1 GB-nál (1024 x 1024 x 1024-nél) nagyobbra
állítottuk. Mellé még kapunk egy
Linux Error 12: Cannot allocate memory
hibát is.[DIPGNTAB_IND_IND] az R3SETUP
közbenErrõl alapvetõen a 0130581 számú
&sap; füzet ad tájékoztatást (az
R3SETUPDIPGNTAB
lépése hibára fut). Az IDES
telepítése során az
&sap; rendszer valamiért az
IDS név helyett egy üres
karakterláncot használ. Ez a
könyvtárak elérésében kisebb
gondokat okoz, mivel az elérési útvonaluk
a SID-bõl
generálódik (ami ebben az esetben az IDS).
Tehát a/usr/sap/IDS/SYS/...
/usr/sap/IDS/DVMGS00helyett a következõt próbálja meg
elérni:/usr/sap//SYS/...
/usr/sap/D00A telepítés folytatásához
létrehoztunk egy linket és egy másik
könyvtárat:&prompt.root; pwd
/compat/linux/usr/sap
&prompt.root; ls -l
total 4
drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00
drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS
lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS
drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 transÉszrevettük, hogy a &sap; füzetekben
(0029227 és 0008401) ugyanezt a viselkedést
írják le. Az &sap;
4.6C telepítésénél
azonban ilyen hibával nem találkoztunk.[RFCRSWBOINI_IND_IND] az R3SETUP
közbenAz &sap; 4.6C
telepítése folyamán ez a hiba
csupán egy korábban bekövetkezett
másik hiba utóhatása volt. Itt át
kell néznünk az összes érintett
naplót és ki kell javítanunk a
tényleges problémát.Amennyiben a naplók
átvizsgálása után csak ezt
találjuk egyedüli hibának (lásd
&sap; füzetek), állítsuk át (a
CENTRDB.R3S állományban) a
STATUS értékét az
OK értékre, majd
indítsuk újra az R3SETUP
programot. A telepítés befejezése
után hajtsuk végre az SE38
tranzakcióból az RSWBOINS
riportot. A további RFCRSWBOINI
és RFCRADDBDIF
lépésekkel kapcsolatban lásd a 0162266
&sap; füzetet.[RFCRADDBDIF_IND_IND] az R3SETUP
közbenItt az elõbbihez hasonló feltételek
élnek: mindenképpen ellenõrizzük a
naplókban, hogy a hibát nem egy korábban
keletkezett hiba okozta.Ha tényleg csak az 0162266 &sap; füzetben
leírtak érvényesek, akkor (a
CENTRDB.R3S állományban)
állítsuk a gondot okozó
lépés STATUS
értékét az ERROR
értékrõl az OK
értékre, és indítsuk újra
az R3SETUP programot. A
telepítés után pedig hajtsuk végre
az SE38 tranzakciból az RADDBDIF
riportot.A sigaction sig31: File size limit
exceeded hibaEz a disp és work&sap; programok
indítása során történhet meg.
Az &sap; rendszert
indító startsap
szkriptrõl leválva indulnak el a többi
&sap; program
elindításáért felelõs
alfolyamatok. Ennek eredményeképpen a szkript
maga nem fogja észrevenni a hibát.Az &sap; programok
elindulását az ps ax | grep
SID paranccsal tudjuk
ellenõrizni. Az eredményül kapott
listában az összes aktív
&oracle; és
&sap; programnak szerepelnie kell.
Ha ebbõl az tûnik ki, hogy bizonyos programok
hiányoznak, vagy nem képesek kapcsolódni
az &sap; rendszerhez, akkor az
/usr/sap/SID/DVEBMGSnr/work/
könyvtárban nézzük át a
hozzájuk tartozó
naplóállományokat. Elsõsorban a
dev_ms és a
dev_disp állományok
fontosak számunkra.A 31-es jelzés akkor keletkezik, ha az
&oracle; és az
&sap; által használt
osztott memória mértéke meghaladja a
rendszermag beállításai közt
megadott értéket. Ezt tehát ennek
növelésével lehet orvosolni:# az éles 46C rendszereknek több kell:
options SHMMAXPGS=393216
# a 46B beéri kevesebbel is:
#options SHMMAXPGS=262144A saposcol nem indulA saposcol (4.6D verzió)
programmal akad néhány probléma. Az
&sap; rendszer az
saposcol segítségével
próbál adatokat gyûjteni a rendszer
teljesítményérõl. Mivel ez a
program nem feltétlenül szükséges az
&sap; rendszer
mûködéséhez, ez a probléma nem
tekinthetõ komolynak. A korábbi (4.6B)
verziókban ugyan mûködik, de semmilyen adatot
nem képes begyûjteni (mivel a legtöbb
hívás, például a
processzorhasználat függvénye,
egyszerûen csak nullát ad vissza).Témák haladóknakHa kíváncsiak vagyunk a Linux
emuláció mûködésére,
olvassuk el ezt a szakaszt. Az itt ismertettek leginkább
Terry Lambert (tlambert@primenet.com) &a.chat;
címére írt levele nyomán kerülnek
bemutatásra (Az üzenet azonosítója:
<199906020108.SAA07001@usr09.primenet.com>).Hogyan mûködik?végrehajtási osztály
betöltõA &os; rendelkezik egy ún.
végrehajtási osztály
betöltõvel (execution class loader). Ez
lényegében a &man.execve.2;
rendszerhívás alatt meghúzódó
absztrakciós réteg.A &os;-nek a #! karaktersorozat
hatására parancsértelmezõk vagy a
hozzájuk tartozó szkriptek
betöltésére utasító
biztonsági betöltõ helyett van egy
listája az alkalmas betöltõkrõl.A &unix; rendszerek a hagyományok szerint egyetlen
betöltõvel rendelkeznek, ami elõször
megvizsgálja a betölteni kívánt
állomány bûvös számát (ami
általában az elsõ 4 vagy 8 byte) és ez
alapján eldönti, hogy az adott formátum
támogatott-e. Amennyiben ez így van,
meghívja a betöltõt.Ha a bináris típusa nem ismert a rendszer
számára, akkor az &man.execve.2;
hívás hibával tér vissza, és
a parancsértelmezõ próbálja meg a
saját parancsaiként értelmezni.Eddig ez volt az alapértelmezés,
akármilyen parancsértelmezõnk is
volt.Késõbb az &man.sh.1; kódjába
bekerült egy aprócska okosítás, amivel
megnézte az állomány elsõ két
karakterét, és ha az :\n volt,
akkor a futtatáshoz maga helyett a &man.csh.1;
parancsértelmezõt hívta meg (ezt
állítólag elõször a SCO
csinálta).A &os; viszont végignézi a betöltõk
teljes listáját, amiben a sor végén
szerepel egy általános #!
formátumú betöltõ. Ez az
állomány futtatásához
használatos értelmezõk kódját
keresi, és ha egyet sem sikerül azonosítania,
akkor a /bin/sh programot indítja
el.ELFA Linux ABI támogatását a &os;
úgy oldja meg, hogy elõször észleli az
ELF bináris bûvös számát (ekkor
még nem tesz különbséget a &os;,
&solaris;, Linux vagy más ELF típusú
binárisokat használó
operációs rendszerek közt).SolarisEzután az ELF formátum betöltõje az
ELF állomány megjegyzéseket
tároló szakaszában
bélyegek (brand) után kutat,
ami SVR4 és &solaris; ELF binárisok esetén
nem létezik.A Linux binárisokat
mûködésükhöz a &man.brandelf.1;
segítségével Linux
típusúnak kell
megbélyegezni:&prompt.root; brandelf -t Linux állományMiután ezt megcsináltuk, az ELF
betöltõ észre fogja venni az
állomány Linux
típusát.ELFmegbélyegzésMikor az ELF betöltõ észleli, hogy az
állomány Linux
típusú, kicseréli egy mutató
értékét a proc
struktúrában. Minden rendszerhívás
ezen a mutatón keresztül érhetõ el (a
hagyományos &unix; rendszerekben ez a
rendszerhívásokat tartalmazó
sysent[] struktúratömb).
Emellett a frissen elindított program szoftveres
megszakításait tartalmazó
tömbjéhez beállítja a speciális
jelzések kezelését, valamint a Linux modul
által végzett néhány további
(kisebb) javítást.A Linux rendszerhívásokat tartalmazó
tömb többek közt tartalmazza a
sysent[] bejegyzések egy
listáját, amelyek címei a rendszermag Linux
moduljára mutatnak.Amikor a Linux bináris hív egy
rendszerhívást, a hozzátartozó
szoftveres megszakítás kódja a
proc struktúrából a neki
megfelelõ rendszerhívás kódját
hivatkozza, így &os; rendszerhívás
belépési pontja helyett a Linuxét kapja
meg.Ráadásul Linux módban a
különbözõ állományok
hivatkozásai is
átirányítódnak.
Ez lényegében olyan, mint amit az
állományrendszerek
csatlakoztatásánál a
beállítás csinál (ami
nem egyezik meg az
unionfs állományrendszerrel!).
Ilyenkor az állományokat elõször a
/compat/linux/eredeti-hely
könyvtárában keresi, és
majd ha ott nem találja, csak akkor
kezdi el keresni az
/eredeti-hely
ponton. Ezzel oldhatjuk meg, hogy más binárisok
futtatását igénylõ binárisok is
képesek legyenek rendesen mûködni
(például így az egész linuxos
eszköztár tud futni a Linux ABI-n keresztül).
Egyúttal arra is utal, hogy ha a Linux binárisok
számára nem áll rendelkezésre a
megfelelõ bináris, akkor &os; binárisokat is
el tudnak indítani. Ha a &man.uname.1; programot pedig
bemásoljuk a /compat/linux
könyvtáron belülre, akkor a Linux
binárisok képtelenek lesznek megmondani, hogy nem
Linux alatt futnak.Így lényegében egy Linux magot
találunk a &os; rendszermagjában. A benne
megtalálható különbözõ
szolgáltatásokat megvalósító
függvények: az állománymûveletek,
a virtuális memória kezelése, a
jelzések küldése és System V
típusú folyamatok közti
kommunikáció stb. megegyeznek a &os; és a
Linux hívásai esetén egyaránt.
Egyetlen eltérés, hogy a &os; binárisok a
&os; segédfüggvényein
(glue function), a Linux binárisok pedig a Linux
segédfüggvényein keresztül férnek
hozzájuk (a legelsõ operációs
rendszerek tulajdonképpen csak a saját
segédfüggvényeiket tartalmazták: a
hívást kezdeményezõ program
proc struktúrájában a
függvények dinamikusan beállított
címe helyett egy globális
sysent[] struktúratömbben
tárolták a meghívható
függvényeket).Melyik közülük a &os; natív ABI-ja?
Ez teljesen lényegtelen. Alapvetõen az egyetlen
különbség csupán annyi (pillanatnyilag,
de ez a jövõben még változhat,
valószínûleg hamarosan), hogy a &os;
segédfüggvényei
statikusan megtalálhatóak a rendszermagban,
míg a Linux
segédfüggvényei
egyaránt elérhetõek modulból vagy
statikus linkeléssel.Na igen, de akkor ez most emuláció? Nem. Ez
egy ABI, nem emuláció. Itt szó sincs
emulátorról (ahogy szimulátorról
sincs).De akkor mégis miért hívják ezt
sokszor Linux emulációnak?
Hát hogy nehezebb legyen eladni a &os;-t! Komolyra
fordítva a szót: ennek a kezdeti változata
akkoriban született meg, amikor erre még nem volt
rendes szó. Nem mondhattuk, hogy a &os;
befordítás vagy egy modul betöltése
nélkül képes lett volna Linux
binárisokat futtatni, ezért valamilyen
módon meg kellett neveznünk az ilyenkor
betöltött kódot — ebbõl lett
a Linux emulátor.