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 af9670ecca..05d85a492a 100644
--- a/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml
@@ -1,7818 +1,7800 @@
+ Original Revision: 1.407 -->
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
többesküldésre (multicasting) 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.Az ú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;.BGPRIPOSPFAlHoangÍ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
többesküldés eseténútválasztás
többesküldésnéla rendszermag
beállításaiMROUTINGA &os; alapból támogatja mind a
többesküldést használó
alkalmazásokat, mind pedig a
többesküldéshez tartozó
útválasztást.
Többesküldés 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 többesküldés
ú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
többesküldéshez tartozó további
beállításokat az &man.mrouted.8; man
oldalán találhatjuk.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; modul betöltését jelenti. Ez
a modul automatikusan betöltõdik a vezeték
nélküli eszközmeghajtóval együtt.
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 # John Bicket "SampleRate" vezérlési algoritmusa
device wlan # a 802.11 támogatása (kell!)
device wlan_wep # WEP titkosítás támogatása a 802.11 eszközök számára
device wlan_ccmp # AES-CCMP titkosítás támogatása a 802.11 eszközök számára
device wlan_tkip # TKIP és Michael titkosítás támogatása a 802.11 eszközök számáraA fentiek 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ározattan 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.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=294
-
- A &os; 6.0 valamint a &os; 5.X ágon
- belül az 5.5 elõtti változatokban a Bluetooth
- protokollkészletet kézzel kell beüzemelni.
- A &os; 5.5, illetve 6.1 és attól
- újabb változatokban ezt már a
- &man.devd.8; magától elvégzi.
-
Másoljuk az
- /usr/share/examples/netgraph/bluetooth/rc.bluetooth
+ /usr/share/examples/netgraph/bluetooth/rc.bluetooth
állományt valamilyen alkalmas helyre,
például az /etc/rc.bluetooth
könyvtárba. Ez a 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.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: 8
- HCIHost 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 start
- A &os; 6.0, és a &os; 5.X
- ágában az 5.5 elõtti verzióiban az
- sdpd nem szerepel még a
- rendszer indítószkriptjei között.
- Ezért így kell manuálisan
- beindítanunk:
-
- &prompt.root; sdpd
-
A 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ásaLe tudjuk korlátozni az egy felület
mögül küldeni képes egyedi
MAC-címeket. 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.fecA Cisco EtherChannel 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 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.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.roundrobinA 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 ezeket a
felületeket egy csoportba (channel group):interface FastEthernet0/1
channel-group 1 mode active
channel-protocol lacp
!
interface FastEthernet0/2
channel-group 1 mode active
channel-protocol lacp
!A &os;-s gépen pedig hozzunk létre a
lagg felületet:&prompt.root; ifconfig lagg0 create
&prompt.root; ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1Ellenõrizzük a felület
állapotát az ifconfig parancs
meghívásával. Az
ACTIVE, 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 switch-en is látni fogjuk, hogy mely portjai
aktívak. Pontosabb részleteket a
show lacp neighbor detail paranccsal
kapunk.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 0x3DA 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ásik felület
használatára tudunk
áttérni.&prompt.root; ifconfig lagg0 create
&prompt.root; ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1lagg0: 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-dhcp3-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)Bárkiküldés (anycast, vagyis egy
a sokból)Kötelezõ többesküldés
(mandatory multicast)IPsec (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: az egyesküldés (unicast), a
bárkiküldés (anycast) és a
többesküldés (multicast).Az egyesküldéshez 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.A bárkiküldéshez használt
címek felírásukban tökéletesen
megegyeznek az egyesküldés esetével, de
valójában felületek egy csoportját
címezik. A bárkiküldésre
beállított címekre küldött
csomagok mindig a(z útválasztó szerinti)
legközelebb levõ felülethez érkeznek meg.
A bárkiküldést az
útválasztók számára
találták ki.A többesküldéshez használt
címek felületek egy csoportját nevezik meg.
A többküldésre beállított
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 többküldést
megvalósító 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 bittöbbesküldés001 (2-es alapú)3 bitglobális egyesküldésAz összes globális
egyesküldéshez tartozó 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)
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/config/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml
index 2036bcf652..0ff4a2d687 100644
--- a/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml
@@ -1,4830 +1,4811 @@
+ Original Revision: 1.232 -->
ChernLeeÍrta: MikeSmithAz alapjául szolgáló
bemutatást írta: MattDillonValamint az alapját képzõ tuning(7)
oldalt írta: Beállítás és
finomhangolásÁttekintésa rendszer
beállításaa rendszer
finomhangolásaA &os; egyik fontos szempontja a rendszer megfelelõ
beállítása, aminek
segítségével elkerülhetjük a
késõbbi frissítések során
keletkezõ kellemetlenségeket. Ez a fejezet a &os;
beállítási folyamatából
kíván minél többet bemutatni,
köztük a &os; rendszerek finomhangolására
szánt paramétereket.A fejezet elolvasása során
megismerjük:hogyan dolgozzunk hatékonyan az
állományrendszerekkel és a
lapozóállományokkal;az rc.conf
beállításának alapjait és a
/usr/local/etc/rc.d
könyvtárban található
indítási rendszert;hogyan állítsunk be és
próbáljunk ki egy hálózati
kártyát;hogyan állítsunk be virtuális
címeket a hálózati
eszközökeinken;hogyan használjuk az /etc
könyvtárban megtalálható
különféle konfigurációs
állományokat;hogyan hangoljuk a &os; mûködését
a sysctl változóinak
segítségével;hogyan hangoljuk a lemezek
teljesítményét és
módosítsuk a rendszermag
korlátozásait.A fejezet elolvasásához ajánlott:a &unix; és a &os; alapjainak
megértése ();a rendszermag beállításához
és fordításához
kötõdõ alapok ismerete ().Kezdeti beállításokA partíciók kiosztásapartíciókiosztás/etc/var/usrAlappartíciókAmikor a &man.bsdlabel.8; vagy a &man.sysinstall.8;
segítségével
állományrendszereket telepítünk, nem
szabad figyelmen kívül hagynunk a tényt,
hogy a merevlemezes egységekben a külsõ
sávokból gyorsabban lehet
hozzáférni az adatokhoz, mint a
belsõkbõl. Emiatt a kisebb és gyakrabban
elérni kívánt
állományrendszereket a meghajtó
lemezének külsejéhez közel kell
létrehozni, míg például a
/usr partícióhoz
hasonló nagyobb partíciókat annak
belsõ része felé. A
partíciókat a következõ sorrendben
érdemes kialakítani: gyökér
(rendszerindító),
lapozóállomány, /var
és /usr.A /var méretének
tükröznie kell a
számítógép
szándékolt használatát. A
/var partíción foglalnak
helyet a felhasználók postaládái,
a naplóállományok és a
nyomtatási sorok. A postaládák és
a naplóállományok egészen
váratlan mértékben is képesek
megnövekedni attól függõen, hogy mennyi
felhasználónk van a rendszerben és hogy
mekkora naplókat tartunk meg. Itt a legtöbb
felhasználónak soha nem lesz
szüksége egy gigabyte-nál több helyre,
de ne feledjük, hogy a /var/tmp
könyvtárban el kell tudni férnie a
csomagoknak.A /usr partíció
tartalmazza a rendszer mûködéséhez
elengedhetetlenül fontos legtöbb
állományt, a portok
gyûjteményét (ajánlott, lásd
&man.ports.7;) és a forráskódot
(választható). Ez utóbbiak a
telepítés során
választhatóak. Ehhez a
partícióhoz legalább két
gigabyte-nyi hely ajánlott.Vegyük figyelembe a tárbeli igényeket,
amikor megválasztjuk partíciók
méretét. Igen kellemetlen lehet, amikor
úgy futunk ki az egyik partíción a szabad
helybõl, hogy a másikat alig
használjuk.Egyes felhasználók szerint
elõfordulhat, hogy a &man.sysinstall.8;
Auto-defaults opciója a
/var és /
partíciók méretét túl
kicsire választja. Partícionáljuk
okosan és nagylelkûen!A lapozóállomány
partíciójaa lapozóállomány
méretea lapozóállomány
partíciójaÁltalános szabály, hogy a
lapozóállományt tároló
partíció mérete legyen a rendszer fizikai
memóriájának (RAM) kétszerese.
Például, ha a
számítógépünk
128 megabyte memóriával rendelkezik, akkor
a lapozóállomány méretének
256 megabyte-nak kell lennie. Az ennél kevesebb
memóriát maguknak tudó rendszerek
több lapozóállománnyal jobban
teljesítenek. 256 megabyte-nál kevesebb
lapozóállományt semmiképpen sem
ajánlunk, és inkább a fizikai
memóriát érdemes
bõvítenünk. A rendszermag virtuális
memóriát kezelõ lapozási
algoritmusait úgy állították be,
hogy abban az esetben teljesítsenek a legjobban, ha a
lapozóállomány mérete
legalább kétszerese a központi
memória mennyiségének. A túl
kicsi lapozóállomány
beállítása rontja a virtuális
memória lapkeresésési rutinjának
hatékonyságát és a memória
bõvítése esetén még
további gondokat is okozhat.A több SCSI-lemezzel (vagy a
különbözõ vezérlõkre
csatlakoztatott több IDE-lemezzel) bíró
nagyobb rendszerek esetében érdemes minden egyes
(de legfeljebb négy) meghajtóra
beállítani lapozóállományt.
A lapozóállományoknak közel azonos
méretûnek kell lenniük. A rendszermag
tetszõleges méretûeket képes kezelni,
azonban a belsejében alkalmazott adatszerkezetek a
legnagyobb lapozóállomány
méretének négyszereséig
képesek növekedni. Ha a
lapozóállományokat
nagyjából ugyanazon a méreten tartjuk,
akkor a rendszermag képes lesz a lapozáshoz
felhasznált területet optimálisan elosztani
a lemezek között. A nagyobb
lapozóállományok használata
még akkor is jól jön, ha nem is
használjuk annyira. Segítségével
sokkal könnyebben talpra tudunk állni egy
elszabadult program tombolásából,
és nem kell rögtön
újraindítanunk a rendszert.Miért partícionáljunk?Egyes felhasználók úgy
gondolják, hogy egyetlen nagyobb méretû
partíció mindenre megfelel, ám ez a
gondolat több okból is helytelennek
tekinthetõ. Elõször is, minden egyes
partíciónak eltér a
mûködési jellemzõje, és
különválasztásukkal
lehetõvé válik az
állományrendszerek megfelelõ
behangolása. Például a
rendszerindításhoz használt és a
/usr partíciókat
többségében csak olvasásra
használják, és nem sokat írnak
rájuk. Eközben a /var
és /var/tmp
könyvtárakban zajlik az írások
és olvasások túlnyomó
része.A rendszer megfelelõ felosztásával a
kisebb, intenzívebben írt
partíciókon megjelenõ
töredezettség nem szivárog át a
többségében csak olvasásra
használt partíciókra. Ha a sokat
írt partíciókat közel tartjuk a
lemez széléhez, akkor azokon a
partíciókon növekszik az I/O
teljesítménye, ahol az a leggyakrabban
megjelenik. Mivel mostanság az I/O
teljesítményére inkább a nagyobb
partíciók esetén van szükség,
azzal nem érünk el ebben különösebb
mértékû növekedést, ha a
/var partíciót a lemez
szélére toljuk. Befejezésképpen
hozzátesszük, hogy ennek vannak biztonsági
megfontolásai is. Egy kisebb és takarosabb
rendszerindító partíció, ami
többnyire írásvédett, nagyobb
eséllyel él túl egy csúfos
rendszerösszeomlást.A mag beállításarc állományokrc.confA rendszer beállításaira vonatkozó
információk központi lelõhelye az
/etc/rc.conf állomány. Ez az
állomány tartalmazza a
beállításokra vonatkozó adatok
széles körét, amelyet elsõsorban a
rendszer indulása során a rendszer
beállítására használnak. Erre
a neve is utal: ez az rc*
állományok konfigurációs
állománya.A rendszergazda az rc.conf
állományban tudja felülbírálni az
/etc/defaults/rc.conf
állományban szereplõ alapértelmezett
beállításokat. Az
alapértelmezéseket tartalmazó
állományt nem szabad közvetlenül
átmásolni az /etc
könyvtárba, hiszen alapértelmezett
értékeket tartalmaz, nem pedig mintákat.
Minden rendszerfüggõ beállítást
magában az rc.conf
állományban kell elvégezni.Számos stratégia létezik a tömegesen
adminisztrált
számítógépeknél a
közös és rendszerfüggõ
beállítások
különválasztására, ezáltal a
karbantartási költségek
csökkentésére. A közös
beállításokat ajánlott egy
másik helyre, például az
/etc/rc.conf.site állományba
rakni, majd hivatkozni erre a kizárólag csak
rendszerfüggõ információkat
tartalmazó /etc/rc.conf
állományból.Mivel az rc.conf állományt
az &man.sh.1; dolgozza fel, ezt elég könnyen el tudjuk
érni. Például:rc.conf: . /etc/rc.conf.site
hostname="node15.example.com"
network_interfaces="fxp0 lo0"
ifconfig_fxp0="inet 10.1.1.1"rc.conf.site: defaultrouter="10.1.1.254"
saver="daemon"
blanktime="100"Az rc.conf.site állomány
ezt követõen az rsync parancs
használatával már
szétszórható a rendszerben, miközben az
rc.conf állomány
mindenkinél egyedi marad.Ha a rendszert a &man.sysinstall.8; vagy a make
world használatával
frissítjük, akkor az rc.conf
tartalma nem íródik felül, így a
rendszer beállításairól
szóló adatok nem vesznek el.Az alkalmazások
beállításaA telepített alkalmazások
általában saját konfigurációs
állományokkal, amelyek pedig saját
formátummal stb. rendelkeznek. Fontos, hogy ezeket az
állományokat az alaprendszertõl
elkülönítve tároljuk, ezáltal a
csomagkezelõ eszközök könnyen rájuk
tudjanak találni és dolgozni velük./usr/local/etcEzeket az állományokat általában a
/usr/local/etc könyvtárban
találjuk meg. Amennyiben egy alkalmazáshoz
több konfigurációs állomány is
tartozik, akkor ahhoz ezen belül egy külön
alkönyvtár jön létre.Normális esetben, amikor egy portot vagy csomagot
telepítünk, minta konfigurációs
állományokat is kapunk. Ezek nevében
többnyire a .default utótag
szerepel. Ha még nincs konfigurációs
állomány az adott alkalmazáshoz, akkor a
.default jelzésû
állományokból ez
létrehozható.Példaképpen most tekintsük a
/usr/local/etc/apache könyvtár
tartalmát:-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default
-rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf
-rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.defaultAz állományok mérete jól mutatja,
hogy csak az srm.conf változott meg.
Az Apache késõbbi
frissítései ezt az állományt nem
fogják felülírni.TomRhodesÍrta: Szolgáltatások indításaszolgáltatásokA felhasználók közül sokan
választják a &os;
Portgyûjteményében található
külsõ szoftverek telepítését. A
telepített szoftvert gyakran ilyenkor úgy kell
beállítani, hogy a rendszer
indulásával együtt induljon. Az olyan
szolgáltatások, mint például a
mail/postfix vagy a www/apache13 csupán két
olyan szoftvercsomag, amelyet a rendszerrel együtt kell
elindítani. Ebben a szakaszban a külsõ
szoftverek indítására használatos
eljárásokkal foglalkozunk.A &os;-ben megjelenõ legtöbb
szolgáltatás, mint például a
&man.cron.8;, a rendszerindító szkripteken
keresztül kel életre. Habár ezek a szkriptek a
&os; egyes verziói vagy az egyes gyártók
esetén különbözhetnek, azonban az
mindegyikükben közös, hogy az
elindításukra vonatkozó
beállítások egyszerû
indítószkriptekkel adhatóak meg.Az rc.d eljövetele elõtt az
alkalmazások indításához be kellett
másolni egy egyszerû indítószkriptet a
/usr/local/etc/rc.d
könyvtárba, melyet aztán a rendszer
indításához használt szkriptek
olvastak be. Ezek a szkriptek aztán késõbb a
rendszer indítása során
végrehajtódtak.Miközben rengetegen próbálták
beolvasztani ezt a megszokott konfigurációs
stílust egy új rendszerbe, a külsõ
alkalmazások mûködtetéséhez
továbbra is az elõbb említett
könyvtárban elhelyezett szkriptekre van
szükség. A szkriptek közötti apró
eltérések leginkább abban nyilvánulnak
meg, hogy az rc.d könyvtárat
használják-e vagy sem. A &os; 5.1-es
verziója elõtt a régebbi
konfigurációs megoldást
használták, de az új szkriptek szinte az
összes esetben megfelelõnek bizonyultak.Jóllehet minden szkriptnek teljesítenie kell
minimális elvárásokat, ezek a legtöbb
esetben függetlenek a &os; konkrét
- verziójától. Minden szkriptnek
- .sh kiterjesztéssel kell rendelkeznie
- és minden szkriptnek a rendszer által
- végrehajthatónak kell lennie. Ez utóbbit
+ verziójától. Minden szkriptnek a rendszer
+ által végrehajthatónak kell lennie. Ezt
úgy érhetjük el, ha a chmod
parancs felhasználásával
- beállítjuk a 755
+ beállítjuk a 555
kódú engedélyeket. Ezen felül a
szkriptnek még tudnia kell kezelnie a
start és stop
paramétereket.A legegyszerûbb indítószkript valahogy
így nézhet ki:#!/bin/sh
echo -n ' utility'
case "$1" in
start)
/usr/local/bin/utility
;;
stop)
kill -9 `cat /var/run/utility.pid`
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0Ez a szkript képes értelmezni a
start és stop
parancsokat az alkalmazás számára, ami itt
egyszerûen csak a utility nevet
kapta.Manuálisan így tudjuk elindítani:&prompt.root; /usr/local/etc/rc.d/utility startHabár nem mindegyik külsõ szoftvert kell
külön megadni az rc.conf
állományban, majdnem minden nap
módosítani kell egy portot a
beállítások elfogadásához. Az
egyes alkalmazásokra vonatkozó
kiegészítõ információkhoz
nézzük meg a telepítés után
keletkezõ üzeneteket. Egyes külsõ
szoftverekhez mellékelnek olyan
indítószkripteket, amelyek lehetõvé
teszik az alkalmazás meghívását az
rc.d könyvtárból.
Ezekrõl a következõ szakaszban még
szólni fogunk.Az alkalmazások részletesebb
beállításaMost miután a &os; rendelkezik egy
rc.d könyvtárral, az
alkalmazások indításának
beállítása is könnyebbé
és ügyesebbé vált. Az rc.d
mûködésérõl szóló
szakaszban megismert kulcsszavak
segítségével az alkalmazások
mostantól kezdve a többi szolgáltatás,
például a DNS után
indulnak el, és az rc.conf
állományon keresztül a szkriptekbe
huzalozottak helyett most már tetszõleges
paramétereket is átadhatunk stb. Egy
egyszerû szkript ehhez hasonlóan néz
ki:#!/bin/sh
#
# PROVIDE: utility
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# NE VÁLTOZTASSUK MEG AZ ITT LÉVÕ ALAPÉRTELMEZÉSEKET,
# INKÁBB AZ /etc/rc.conf ÁLLOMÁNYBAN ÁLLÍTSUK BE EZEKET
#
utility_enable=${utility_enable-"NO"}
utility_flags=${utility_flags-""}
utility_pidfile=${utility_pidfile-"/var/run/utility.pid"}
. /etc/rc.subr
name="utility"
rcvar=`set_rcvar`
command="/usr/local/sbin/utility"
load_rc_config $name
pidfile="${utility_pidfile}"
start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}"
run_rc_command "$1"Ez a szkript gondoskodik arról, hogy a
utility nevû alkalmazás a
daemon szolgáltatás után
induljon el. Emellett még felkínál egy
módszert a PID avagy futó
programok azonosítójának
beállítására és
nyomonkövetésére is.Ezt követõen az /etc/rc.conf
állományból az alkalmazás
elindítható az alábbi sor
hozzáadásával:utility_enable="YES"Ez a módszer megkönnyíti a paranccsorban
átadott paraméterek
módosítását, az
/etc/rc.subr állományban
szereplõ alapértelmezett függvények
használatát, az &man.rcorder.8;
segédprogrammal szembeni kompatibilitást és
az rc.conf állomány
könnyebb beállítását.Szolgáltatások indítása
szolgáltatásokkalMás szolgáltatások, mint
például a POP3 vagy
IMAP szerverek démonai stb. az
&man.inetd.8; segítségével
indíthatóak el. Ez a
Portgyûjteménybõl telepített
szolgáltatások esetén magával vonja
az adott segédprogram felvételét vagy a
hozzátartozó sor
engedélyezését az
/etc/inetd.conf állományban.
Az inetd
mûködésével és annak
beállításával
mélyrehatóbban az inetd szakasza
foglalkozik.A legtöbb esetben a &man.cron.8; démon
használata kézenfekvõ a rendszerszintû
szolgáltatások elindításában.
Ez a megközelítés számos elõnyt
tartogat, mivel a cron ezeket a programokat a
felhasználó crontab
állománya alapján futtatja. Ezzel a mezei
felhasználók számára is
lehetõvé válik, hogy elindítsanak
és karbantsanak alkalmazásokat.A cron segédprogramnak van egy
olyan speciális lehetõsége, hogy az idõ
helyett a @reboot értéket
adhatjuk meg. Ennek hatására a feladat a
&man.cron.8; indításával együtt fut
le, tehát megszokott esetben a rendszer
indítása során.TomRhodesÍrta: A cron segédprogram
beállításacronbeállításaA &man.cron.8; a &os; egyik leghasznosabb
segédprogramja. A cron
segédprogram a háttérben fut és
folyamatosan figyeli az /etc/crontab
állományt. Emellett a cron
új crontab állományok
után kutatva folyamatosan ellenõrzi a
/var/cron/tabs könyvtárat. Ezek
a crontab állományok olyan
feladatokról tárolnak adatokat, amelyeket a
cron programnak egy adott pillanatban el kell
végeznie.A cron a konfigurációs
állományok két külön
fajtáját, a rendszer- és
felhasználói crontabokat használja. A
két típus között levõ egyetlen
különbség a hatodik mezõben
található. A rendszerszintû crontabok
esetében a hatodik mezõ annak a
felhasználónak a nevét tartalmazza, amivel a
program fut. Ezzel a rendszer szintjén
mûködõ crontaboknak megadatott az a
képesség, hogy tetszõleges
felhasználó nevében futtassanak programokat.
A felhasználók crontabjaiban a hatodik mezõ a
futtatandó parancsot tartalmazza, és ilyenkor az
összes parancs a crontabot létrehozó
felhasználó nevében hajtódik
végre. Ez utóbbi egy fontos biztonsági
jellemzõ.A felhasználói crontabok lehetõvé
teszik az egyes felhasználók
számára, hogy a root
felhasználó jogosultságai
nélkül képesek legyenek feladatokat
ütemezni, ugyanis a felhasználóhoz
tartozó crontabban szereplõ parancsok mindegyike a
tulajdonosának engedélyeivel fut.Az átlagos felhasználókhoz
hasonlóan a root
felhasználónak is lehet crontabja, ami nem
ugyanazt, mint az /etc/crontab (a rendszer
saját crontab állománya). De mivel a
rendszernek külön crontabja van, ezért a
root felhasználónak nem kell
külön crontabot létrehozni.Vessünk egy pillanatást az
/etc/crontab (a rendszer crontabjának)
tartalmára:# /etc/crontab - a root crontabja &os; alatt
#
# $&os;: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#
#minute hour day month wday who command
#
#
*/5 * * * * root /usr/libexec/atrun A &os; legtöbb konfigurációs
állományához hasonlóan itt is a
# jelöli a megjegyzéseket. Az
ilyen megjegyzések remekül
használhatóak annak feljegyzésére,
hogy mit és miért akarunk futtatni. A
megjegyzések azonban nem szerepelhetnek a paranccsal
egy sorban, mivel máskülönben a parancs
részeként kerülnek
értelmezésre. Tehát mindig új
sorba kell raknunk ezeket. Az üres sorokat a program nem
veszi figyelembe.Elõször is meg kell adnunk egy környezetet.
Az egyenlõség (=) karakter
használatos a környezeti
beállítások
meghatározására, ahogy mindezt az itteni
példában is tapasztalhatjuk a
SHELL, PATH és
HOME értékek esetében. Ha
nem adunk meg mást, akkor a cron az
alapértelmezés szerinti sh
parancsértelmezõt használja. Ha nem adjuk
meg a PATH változó
értékét, akkor minden
állományra abszolút elérési
úttal kell hivatkoznunk, mivel ennek nincs
alapértelmezett értéke. Ha nem
definiáljuk a HOME változó
értékét, akkor a cron
a parancshoz tartozó felhasználó
könyvtárából fog dolgozni.Ez a sor írja le a megadható hét
mezõt. Az itt szereplõ értékek a
minute (perc), hour
(óra), mday (a hónap napja),
month (hónap),
wday (a hét napja),
who (ki) és
command (mit). A mezõk szinte
maguktól értetõdnek. A
minute egy órán belül
adja meg azokat a perceket, amikor az adott parancsot le kell
futtatni. A hour hasonló a
minute beállításhoz,
csak az itt szereplõ értékét
órákban kell értelmezni. Az
mday a hónap napjaiban
számol. A month hasonló a
minute és hour
opciókhoz, de ez hónapot jelöl. A
wday a hét egy napját jelzi.
Ezeknek a mezõknek numerikus, valamint a
huszonnégy órás
idõformátumnak megfelelõ
értékeket kell tartalmazniuk. A
who mezõ, a többiektõl
eltérõ módon, csak az
/etc/crontab állományban
jelenik meg. Ez a mezõ adja meg, hogy a parancsot milyen
felhasználóval kell futtatni. Ez az
opció nem jelenik meg a felhasználók
saját crontab
állományainak telepítésekor. A
sor végén láthatjuk még a
command oszlopot is. Ez az utolsó
mezõ, és ide kerül a
végrehajtandó parancs.Ez az utolsó sor a fentebb tárgyalt
értékeket határozza meg.
Észrevehetjük, hogy a sor egy
*/5 alakú felírással
kezdõdik, amelyet további *
karakterek követnek. A * karakterek
jelentése elsõ-utolsó, ami
arra utal, hogy mindig. Ennek
megfelelõen úgy értelmezhetjük ezt a
sort, hogy a root
felhasználóval le kell futtatni az
atrun parancsot minden ötödik
percben, függetlenül attól, hogy milyen nap
vagy hónap van. Az atrun
parancsról részletesebban az &man.atrun.8; man
oldalán kapunk
felvilágosítást.Az itt szereplõ parancsoknak tetszõleges
mennyiségû paraméter
átadható, azonban a több soron
keresztül átívelõ parancsok
tördelését a sor végén a
\ karakterrel kell jelezni.Ez mindegyik crontab
állomány alapbeállítása,
habár ettõl általában egy dologban
eltérnek. A hatodik mezõ, ahol a
felhasználót adtuk meg, csak a rendszer
/etc/crontab
állományában jelenik meg. Ez a mezõ a
felhasználók crontab
állományaiból kimarad.Egy crontab telepítéseNem kötelezõ az itt ismertetésre
kerülõ módon szerkeszteni vagy
telepíteni a rendszer crontabját.
Egyszerûen nyissuk meg a kedvenc
szövegszerkesztõnkkel és a
cron segédprogram majd
észreveszi, hogy az állomány
megváltozott, majd ennek megfelelõen neki is
lát a módosított változat
használatának. Errõl a
GYIK-ban (angolul) többet is megtudhatunk.Egy frissen készített
felhasználói crontab
telepítéséhez elõször a kedvenc
szövegszerkesztõnk segítségével
létre kell hoznunk a megfelelõ
formátumú állományt, majd
használnunk a crontab
segédprogramot. Ennek általános
alakja:&prompt.user; crontab crontab_állományEbben a példában a
crontab_állomány
a korábban létrehozott
crontab neve lesz.Lehetõségünk van lekérdezni a
telepített crontab
állományokat: egyszerûen adjuk át a
kapcsolót a
crontab parancsnak és
nézzük meg mit ad vissza.A crontab -e használata olyan
felhasználók számára
ajánlott, akik sablon alkalmazása
nélkül szeretnének teljesen maguktól
megírni egy crontab állományt. Ennek
hatására a kiválasztott
szövegszerkesztõ egy üres állományt
kap. Miután ezt az állományt
elmentettük, a crontab programmal
magától telepítésre
kerül.Ha a késõbbiekben törölni akarjuk a
felhasználónkhoz tartozó
crontab állományt, akkor erre
a célra használjuk a crontab
kapcsolóját.TomRhodesÍrta: Az rc használata &os; alattA rendszer indítására a &os; 2002-ben
átvette a NetBSD rc.d
rendszerét. Ezt a felhasználók könnyen
felismerhetik a /etc/rc.d
könyvtárban található
állományokról. A legtöbbjük olyan
alapvetõ szolgáltatások, amelyeket a
, és
paraméterekkel lehet
vezérelni. Például az &man.sshd.8; az
alábbi paranccsal indítható
újra:&prompt.root; /etc/rc.d/sshd restartEz az eljárás hasonló a többi
szolgáltatás esetén is. Természetesen
ezek a szolgáltatások általában
maguktól indulnak el a rendszer indítása
során az &man.rc.conf.5; állományban megadott
szerint. Például ha a rendszerünk
indulásakor szeretnénk aktiválni a
hálózati címfordítással
foglalatoskodó démont, akkor csak adjuk hozzá
az /etc/rc.conf állományhoz a
következõ sort:natd_enable="YES"Amennyiben a sor már
szerepel benne, akkor egyszerûen írjuk át a
értéket -re.
Ezután az rc szkriptek a a rendszer következõ
indításakor a lentieknek megfelelõen
automatikusan elindítják a
hozzátartozó szolgáltatásokat
is.Mivel az rc.d rendszert elsõsorban
arra használják, hogy szolgáltatásokat
indítsanak el vagy állítsanak le az
operációs rendszerrel együtt, a
szabványos ,
és paraméterek csak abban
az esetben látják a feladatukat, ha a nekik
megfelelõ változókat beállítottuk
az /etc/rc.conf állományban.
Tehát például a sshd
restart csak abban az esetben fog bármit is
csinálni, ha az /etc/rc.conf
állományban az sshd_enable
változót a
értékre állítottuk. Ha az
/etc/rc.conf
beállításaitól függetlenül
kívánunk egy szolgáltatásnak
, vagy
parancsot adni, akkor elé kell
tennünk egy one szót.
Például ha az sshd
szolgáltatás
újraindításához az
/etc/rc.conf tartalmát figyelmen
kívül akarjuk hagyni, akkor ezt a parancsot kell
kiadnunk:&prompt.root; /etc/rc.d/sshd onerestartKönnyen le tudjuk ellenõrizni, hogy az adott
szolgáltatás az /etc/rc.conf
részérõl engedélyezett-e, ha a neki
megfelelõ rc.d szkriptnek megadjuk az
paramétert. Ennek
segítségével például a
rendszergazda így képes ellenõrizni, hogy a
sshd szolgáltatást
engedélyezi-e az /etc/rc.conf:&prompt.root; /etc/rc.d/sshd rcvar
# sshd
$sshd_enable=YESA második sor (# sshd) az
sshd parancs kimenete, nem pedig a
root parancssora.A paraméterrel
kideríthetjük, hogy egy szolgáltatás
aktív-e. Ezzel például így tudjuk
ellenõrizni a sshd
szolgáltatás
mûködését:&prompt.root; /etc/rc.d/sshd status
sshd is running as pid 433.Az üzenet:Az sshd a 433-as azonosítóval fut.Bizonyos esetekben a paraméter
használatával lehetõségünk a
szolgáltatások
újraindítására is. Ilyenkor a
rendszer megpróbál egy olyan jelzést
küldeni a szolgáltatásnak, amivel a
konfigurációs állományainak
újraolvasását kéri. A
legtöbbször lényegében ez a
SIGHUP jelzést
kiküldését rejti magában. Ez a
lehetõség azonban nem mindegyik
szolgáltatás esetén érhetõ
el.Az rc.d rendszer nem csupán
hálózati szolgáltatások esetén
használatos, hanem nagyrészben
hozzájárul a rendszer
indításához is. Erre vegyük
példának a bgfsck
állományt. Amikor ez a szkript lefut, a
következõ üzenetet jeleníti meg:Starting background file system checks in 60 seconds.Az üzenet fordítása:A háttérben 60 másodperc múlva megkezdõdik az állományrendszerek ellenõrzése.Ennek megfelelõen tehát ezt az
állományt az állományrendszerek
háttérben folyó
ellenõrzésére használják, ami
pedig a rendszer indítása során fut
le.Számos rendszerszolgáltatás
igényel a mûködéséhez
további szolgáltatásokat.
Például a NIS és más egyéb
távoli eljáráshíváson
alapú szolgáltatások egészen addig nem
képesek elindulni, amíg az
rpcbind (portmapper)
szolgáltatást el nem indítjuk. Az ilyen
jellegû gondok feloldására az
indítószkriptek elején levõ
megjegyzésekben található egy kevés
metainformáció a szkript
mûködéséhez szükséges elemekre
(függõségeire) vonatkozóan. A rendszer
indítása közben az &man.rcorder.8; nevû
program képes a megjegyzések közt ezeket az
információkat feldolgozni és ebbõl
megállapítani, hogy a függõségi
viszonyok betartásával milyen sorrendben kell
elindítani a rendszer által felkínált
szolgáltatásokat.Ehhez a következõ kulcsszavakat kell megadni az
egyes indító szkriptek elején (az
&man.rc.subr.8; így tudja
engedélyezni az indító
szkriptet):PROVIDE:
segítségével megmondjuk, hogy ez az
állomány milyen szolgáltatásokat
nyújt.A következõ kulcsszavak az egyes
indítóállományok elején
szerepelhetnek. Nem kell feltétlenül
használnunk ezeket, de velük az &man.rcorder.8;
munkáját segíthetjük:REQUIRE: felsoroljuk azokat a
szolgáltatásokat, amelyek a
futásához kellenek. Az állomány
tehát az itt megadott szolgáltatások
után fog lefutni.BEFORE: felsoroljuk azokat a
szolgáltatásokat, amelyek
elõtt futtatni kell ezt az
állományt.Az indító szkriptekben a kulcsszavak ügyes
megválasztásával a rendszergazda nagyon
finoman képes az indításkor
végrehajtódó szkriptek sorrendjét
szabályozni és a többi &unix; alapú
operációs rendszerbõl ismert
futtatási szintek használata
nélkül vezérlelni a rendszerben megjelenõ
szolgáltatásokat.Az rc.d rendszerrõl bõvebben az
&man.rc.8; és &man.rc.subr.8; man oldalakon olvashatunk.
Ha szeretnénk saját rc.d
szkripteket írni vagy javítani a már
meglevõeken, akkor ez a cikk (angolul)
segítségünkre lehet.MarcFonvieilleÍrta: A hálózati kártyák
beállításahálózati kártyákbeállításaManapság már el sem tudunk képzelni
számítógépet hálózati
csatlakozás nélkül. A hálózati
csatolókártyák hozzáadása
és beállítása egy &os; rendszergazda
mindennapos feladata.A megfelelõ meghajtóprogram
felderítésehálózati kártyákmeghajtóMielõtt bárminek is nekikezdenénk,
érdemes tisztában lennünk azzal, hogy a
rendelkezésünkre álló kártya
milyen típusú, milyen chipet használ
és hogy PCI vagy ISA buszon csatlakozik-e. A &os; a PCI
és ISA csatolós kártyák
széles spektrumát ismeri. Az egyes
kiadásokhoz mellékelt Hardware
Compatibility List (Hardverkompatibilitási lista)
dokumentumokban tudjuk ellenõrizni, hogy a
kártyákat ismeri a rendszer.Miután meggyõzõdtünk róla, hogy
a kártyánkat ismeri a rendszer, meg kell
keresnünk a hozzátartozó meghajtót. A
/usr/src/sys/conf/NOTES és a
/usr/src/sys/arch/conf/NOTES
állományok tartalmazzák a
hálózati kártyák meghajtóinak
rövid leírását, benne a
támogatott chipsetek és kártyák
típusaival. Ha ez alapján nem tudjuk teljes
biztosággal eldönteni, hogy melyik a
számunkra megfelelõ meghajtó,
nézzük meg a saját man oldalát. Ezen
a man oldalon megtaláljuk az által ismert
összes eszközt és velük kapcsolatban
elõforduló jellemzõ
problémákat.Ha egy elterjedt típust sikerült
beszereznünk, akkor nem kell különösebben
sokáig keresnünk a neki megfelelõ
meghajtót. Az ismertebb hálózati
kártyák meghajtói ugyanis alapból
benne vannak a GENERIC rendszermagban,
ezért a rendszer indítása során
ehhez hasonlóan meg is jelennek a
kártyák:dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
000ff irq 15 at device 11.0 on pci0
dc0: Ethernet address: 00:a0:cc:da:da:da
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
000ff irq 11 at device 12.0 on pci0
dc1: Ethernet address: 00:a0:cc:da:da:db
miibus1: <MII bus> on dc1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, autoEbben a példában láthatunk is
két olyan kártyát, amelyek a &man.dc.4;
meghajtót használják.Ha a hálózati kártyánk
meghajtója nem szerepel a GENERIC
konfigurációban, akkor a
mûködéséhez be kell tölteni a
megfelelõ meghajtót. Ezt alapvetõen
kétféleképpen érhetjük
el:Ennek legegyszerûbb módja, ha a
&man.kldload.8; használatával
alkalmanként vagy a
/boot/loader.conf
állományban a megfelelõ sor
hozzáadásával a rendszer
indításával együtt
betöltjük a hálózati kártya
meghajtójához tartozó modult. Nem
mindegyik hálózati kártya
meghajtója érhetõ el modul
formájában. Erre konkrét
például szolgálnak az ISA
kártyákhoz tartozó modulok.Másik lehetõségünk, ha
statikusan beépítjük a
kártyánk támogatását a
rendszermagba. A
/usr/src/sys/conf/NOTES és az
/usr/src/sys/arch/conf/NOTES
állományok, valamint a meghajtóhoz
tartozó man oldal elolvasásából
megtudhatjuk a rendszermag beállításait
tartalmazó állományban megadandó
paramétereket. A rendszermag
újrafordítását lásd . Ha a rendszermag
(GENERIC) az indulás
során észlelte a kártyánkat, nem
kell újat készítenünk.A &windows; NDIS meghajtóinak
használataNDISNDISulator&windows;
meghajtókMicrosoft WindowsMicrosoft WindowseszközmeghajtókKLD (a rendszermag betölthetõ
objektuma)Sajnos még mindig sok olyan gyártó
akad, akik a nyílt forrású
közösség számára nem
adják ki a meghajtóik
mûködésének alapjait, mivel az ilyen
adatokat szakmai titkoknak tekintik. Ebbõl
következik, hogy a &os; és más
operációs rendszerek fejlesztõi
számára két választás
marad: vagy a gyári meghajtók
visszafejtésének hosszú és
fájdalmas útján haladva fejlesztik ki a
saját meghajtójukat, vagy pedig a
µsoft.windows; platformra kiadott meghajtók
binárisait hasznosítják. A legtöbb
fejlesztõ, köztük a &os; fejlesztõi is, ez
utóbbi megközelítést
választották.Bill Paul (wpaul) jóvoltából a
&os; 5.3-RELEASE változatában megjelent a
Network Driver Interface Specification (NDIS,
avagy hálózati meghajtók
szabványos felülete) natív
támogatása. A &os; NDISulator
(másnéven Project Evil, a Gonosz terve)
nevû komponense fog egy &windows;-os meghajtót
és elhiteti vele, hogy a &windows;-szal
kommunikál. Mivel az &man.ndis.4; meghajtó
&windows; binárisokat használ fel, ezért
csak &arch.i386; és &arch.amd64; rendszerek
esetén érhetõ el.Az &man.ndis.4; meghajtó leginkább a PCI,
CardBus és PCMCIA csatolójú
eszközök támogatására lett
kitalálva, az USB eszközöket még nem
ismeri.Az NDISulator használatához három
tényezõre van szükségünk:A rendszermag forrásaa &windowsxp; meghajtó binárisa
(.SYS a kiterjesztése)a &windowsxp; meghajtó
konfigurációs állománya
(.INF a kiterjesztése)Keressük meg az említett
állományokat az adott kártyához.
Ezeket általában a mellékelt CD-n vagy a
gyártó honlapján találjuk meg. A
most következõ példákban a
W32DRIVER.SYS és a
W32DRIVER.INF neveket fogjuk
használni.A &windows; i386 architektúrájú
verziójához készült
meghajtóprogramokat nem tudjuk a &os;/amd64
verziójával használni. A
mûködéshez amd64-re készült
&windows;-os meghajtókra van
szükség.A következõ lépés a
meghajtó binárisainak betölthetõ
modulba fordítása. Ennek
eléréséhez használjuk az
&man.ndisgen.8; parancsot a root
felhasználóval:&prompt.root; ndisgen /windowszos/meghajtó/W32DRIVER.INF/windowsos/meghajtó/W32DRIVER.SYSAz &man.ndisgen.8; egy interaktív
segédprogram, amely mûködése
közben még rákérdez
néhány szükséges
információra. Az aktuális
könyvtárban létrehoz egy rendszermagmodult,
amelyet az alábbi módon tudunk
betölteni:&prompt.root; kldload ./W32DRIVER.koAz elõállított modul mellé be
kell töltenünk még az
ndis.ko és az
if_ndis.ko modulokat is. Ez
általában minden olyan modul esetén
megtörténik magától, amely függ
az &man.ndis.4; használatától.
Kézileg az következõ parancsokkal tudjuk
ezeket betölteni:&prompt.root; kldload ndis
&prompt.root; kldload if_ndisItt az elsõ parancs betölti az NDIS miniport
meghajtó burkolására szánt
kódot, valamint a második a tényleges
hálózati csatolófelületet.Most pedig a &man.dmesg.8; kimenetében
ellenõrizzük, hogy történt-e valamilyen
hiba a betöltés során. Ha minden
jól ment, akkor az alábbiakhoz hasonló
kimenetet produkált:ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54MbpsInnentõl kezdve az ndis0
nevû eszközt úgy tudjuk használni,
mint bármelyik más hálózati
felületet (például
dc0).A többi modulhoz hasonló módon be
tudjuk állítani, hogy a rendszer
indulásával együtt betöltõdjenek
az NDIS modulok. Ehhez elõször másoljuk az
imént létrehozott modult, az
W32DRIVER.ko állományt a
/boot/modules
könyvtárba. Ezután adjuk hozzá a
következõ sort a
/boot/loader.conf állomány
tartalmához:W32DRIVER_load="YES"A hálózati kártya
beállításahálózati kártyákbeállításaAhogy betöltõdött a megfelelõ
meghajtó a hálózati
kártyánkhoz, be is kell állítanunk a
kártyát. A hálózati
kártyák sok más dologgal együtt
beállíthatóak a telepítés
során a sysinstall
segítségével.A rendszerünkben beállított
hálózati csatolófelületek
megjelenítéséhez gépeljük be a
következõ parancsot:&prompt.user; ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:a0:cc:da:da:da
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:a0:cc:da:da:db
media: Ethernet 10baseT/UTP
status: no carrier
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500A &os; korábbi változatainál az
&man.ifconfig.8; parancsnak ehhez még meg kell adni az
kapcsolót is. Az &man.ifconfig.8;
érvényes paraméterezésével
kapcsolatban legyünk szívesek elolvasni a
hozzátartozó man oldalt.
Hozzátennénk, hogy IPv6
(inet6 stb.) típusú
bejegyzések nem szerepelnek a
példában.Az elõbbi parancs kimenetében a
következõ eszközök jelentek meg:dc0: az elsõ Ethernet
felületdc1: a második Ethernet
felületlp0: a párhuzamos port
felületelo0: a loopback
eszköztun0: a
ppp által használt
tunnelhez tartozó eszközA &os; a kártyához tartozó
meghajtó nevével és egy sorszámmal
azonosítja a rendszermag indulása során
talált eszközöket. Például az
sis2 a rendszerben
található harmadik olyan eszköz, amely a
&man.sis.4; meghajtót használja.A példában a dc0
eszköz aktív és
mûködõképes. Ennek legfontosabb
jelei:Az UP szó mutatja, hogy a
kártyát sikerült beállítani
és készen áll a
használatra.A kártya internet (inet)
címe (jelen esetünkben ez 192.168.1.3).Érvényes hálózati maszkkal
rendelkezik (netmask, ahol a 0xffffff00 a 255.255.255.0 címnek felel
meg).Érvényes broadcast
(üzenetszóró) címmel rendelkezik
(ami itt most 192.168.1.255).A kártya MAC-címe
(ether) 00:a0:cc:da:da:da.A hozzátartozó fizikai eszköz
kiválasztása automatikus (media:
Ethernet autoselect (100baseTX
<full-duplex>)). Láthatjuk, hogy a
dc1 eszközt egy
10baseT/UTP típusú fizikai
eszközhöz állítottuk be. Az egyes
meghajtókhoz tartozó fizikai
módokról a nekik megfelelõ man oldalakon
olvashatunk.A kapcsolat állapota (status)
active értékû,
tehát van vonal. A dc1
esetén láthatjuk, hogy a status: no
carrier (nincs vonal). Ez teljesen
normálisnak tekinthetõ minden olyan esetben,
amikor a kártyába még nem dugtunk
Ethernet-kábelt.Amennyiben az &man.ifconfig.8; kimenete valami
ilyesmi:dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:a0:cc:da:da:daakkor az arra utal, hogy a kártyát nem
állítottuk be.A kártya beállításához a
root felhasználó
jogosultságaira van szükségünk. A
hálózati kártyák
beállítása az &man.ifconfig.8;
segítségével elvégezhetõ
parancssorból is, de a gép
újraindításakor az így megadott
értékek elvesznek. Ezért az
/etc/rc.conf állományba kell
felvennünk a hálózati kártyák
érvényes beállításait.A kedvenc szövegszerkesztõnkben nyissuk meg az
/etc/rc.conf állományt.
Minden egyes hálózati csatolóhoz fel kell
vennünk benne egy sort, ennek megfelelõen most a
példához tartozó módon az
alábbiakat:ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0"
ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"A dc0 és
dc1 neveket kell a rendszerünkben
ténylegesen megtalálható eszközök
neveire kicserélni, valamint megadni a nekik
megfelelõ címeket. A kártya
meghajtójának és az &man.ifconfig.8; man
oldalának elolvasásával
kideríthetjük az itt megadható további
beállításokat, valamint az &man.rc.conf.5;
man oldalán részletesebben megismerhetjük az
/etc/rc.conf formai
követelményeit.Ha a telepítés során
beállítottuk volna a hálózati
kapcsolatokat, akkor tapasztalhatjuk, hogy egyes
hálózati kártyák sorai itt
már szerepelnek. Ellenõrizzük le az
/etc/rc.conf tartalmát mielõtt
bõvítenénk!Mindezek mellett az /etc/hosts
állományba is be kell írnunk a helyi
hálózatunkon található
különféle gépek neveit és
IP-címeit, ha még nem szerepelnének ott.
Errõl további részleteket a &man.hosts.5; man
oldalról és az
/usr/share/examples/etc/hosts
állományból tudhatunk meg.Tesztelés és
hibaelhárításMiután az /etc/rc.conf
állományban elvégeztük a
szükséges változtatásokat,
érdemes újraindítanunk a
rendszerünket. Ennek révén
érvényesítjük a
csatolófelületekkel kapcsolatos
változtatásainkat és
ellenõrizzük, hogy így a rendszer
mindenféle hibaüzenet nélkül
képes elindulni.Ahogy a rendszerünk
mûködõképessé vált, ki is
tudjuk próbálni a hálózati
felületeket.Az Ethernet kártyák
tesztelésehálózati
kártyákteszteléseAz Ethernet kártyák helyes
beállításának
vizsgálatához két dolgot kell
kipróbálnunk. Elõször is
pingeljük magát a felületet, majd
ezután pingeljünk meg a helyi
hálózaton egy másik
számítógépet.Elsõként tehát próbáljuk
meg a helyi felületet:&prompt.user; ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms
64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms
64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms
--- 192.168.1.3 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 msMost pedig pingeljünk meg egy másik
számítógépet a helyi
hálózaton:&prompt.user; ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 msHa beállítottuk az
/etc/hosts állományt, akkor
a 192.168.1.2 helyett a
gép nevét is megadhatjuk.A hibák elhárításahálózati kártyákhibaelhárításaA hardverek és szoftverek
beállításaiban mindig is valódi
kín megtalálni a hibákat, és
ezeket a kínokat többnyire úgy tudjuk
enyhíteni, ha elõször az egyszerû
hibaforrásokat szûrjük ki. Csatlakoztattuk a
hálózati kábelt? Tisztességesen
beállítottuk a hálózati
szolgáltatásokat? Jól
állítottuk be a tûzfalat? A &os;
képes kezelni a kártyát? A
hibajelentések elküldése elõtt mindig
bújjuk át a támogatott
hardvereszközök listáját. A &os;
verziókat frissítsük a legújabb
STABLE változatra. Olvassuk át a
levelezési listák archívumait vagy
legalább keressünk rá a
témára az interneten.Ha a kártya mûködik, de a
teljesítménye nem kielégítõ,
érdemes ennek utánanézni a &man.tuning.7;
man oldalon. Ilyenkor érdemes ellenõrizni a
hálózati beállításainkat
is, mivel a helytelen beállítások gyakran
okoznak teljesítményvesztést.Bizonyos esetekben láthatunk egy vagy két
device timeout típusú
hibát is, ami a kártyák egyes
fajtáinál elfogadható. Ha azonban
folyamatosan megjelennek vagy zavaróvá
válnak, érdemes utánanéznünk,
hogy az eszköz nem ütközik-e valamelyik
másikkal. Mindenképpen
gyõzödjünk meg a kábelek
épségérõl és
csatlakoztatásáról. Még az is
elképzelhetõ, hogy egyszerûen csak egy
másik hálózati kártyára van
szükségünk.Néha felbukkanak watchdog
timeout jellegû hibák is. Ilyenkor
elsõként mindig a hálózati
kábelt ellenõrizzük. Egyes
kártyáknak olyan PCI foglalatra van
szükségük, ami támogatja a Bus
Mastering opciót. Néhány régebbi
alaplapon csak ilyen PCI bõvítõhely
található (ami általában a 0.
foglalat). Olvassunk utána a hálózati
kártya és az alaplap
dokumentációjában, hátha ezek
okozzák a problémát.A No route to host üzenet
akkor jelenik meg, ha a rendszer képtelen
megállapítani, milyen úton jutassa el a
csomagokat a megadott célhoz. Ez többnyire
olyankor történik meg, amikor nem adtunk meg
alapértelmezett kézbesítési
irányt (default route) vagy nem dugtuk be a
hálózati kábelt. A netstat
-rn kimenetébõl meg tudjuk
állapítani, hogy létezik-e
érvényes út az elérni
kívánt cél felé. Ha nincs, akkor
haladjunk tovább a re.A ping: sendto: Permission denied
jellegû üzeneteket többségében
egy helytelenül beállított tûzfal
okozza. Ha az ipfw
mûködését engedélyeztük a
rendszermagban, de nem adtunk meg hozzá
szabályokat, akkor az alapértelmezett
házirend szerint minden forgalmat blokkolni fog,
tehát még a pingeket is! Ezzel kapcsolatban a
elolvasását
ajánljuk.Elõfordulhat, hogy a kártya
teljesítménye igen gyenge vagy az átlagos
alatt van. Ilyenkor a fizikai eszköz
autoselect (automatikus)
típusú kiválasztása helyett
érdemes megadnunk a konkrét eszköznek
megfelelõ típust. Habár ez a legtöbb
hardver esetén beválik, nem mindenki
számára jelent megoldást.
Ismételten csak annyit tudunk ehhez hozzátenni,
hogy ellenõrizzük a hálózati
beállításainkat és olvassuk el a
&man.tuning.7; man oldalt.Virtuális címekvirtuális
címekIP-álnevekA &os; alkalmazása során igen gyakori a
virtuális címek használata, aminek
segítségével egyetlen szerver több
szerverként képes látszódni a
hálózaton. Ezt úgy érik el, hogy
egyetlen felülethez több hálózati
címet rendelnek hozzá.Az adott hálózati csatolófelületnek
van egy valódi címe és
tetszõleges számú
álcíme. Ezeket az
álcímeket általában az
/etc/rc.conf állományban kell
feltüntetni.Az fxp0 felület esetén az
álcímek megadása valahogy így
néz ki:ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"Figyeljük meg, hogy az álcímekhez
tartozó bejegyzések az alias0
névvel kezdõdnek és szám szerint
növekvõleg következnek egymás után
(például, _alias1,
_alias2 és így tovább). A
beállítás a sorozat elsõ kimaradó
tagjánál megszakad.Az álcímek hálózati
maszkjának pontos meghatározása nagyon
fontos, de szerencsére nem különösebben
bonyolult. Minden felület esetén lennie kell egy
olyan címnek, ami helyesen reprezentálja a
hálózat hálózati maszkját.
Minden egyéb olyan címnek, ami ugyanabba az
alhálózatba esik, végig
1-esekbõl álló
hálózati maszkkal kell rendelkezniük (ami
felírható 255.255.255.255 vagy 0xffffffff formájában
is).Például vegyük azt, hogy az
fxp0 felületen keresztül
két hálózathoz csatlakozunk, melyek
közül az egyik a 10.1.1.0, amelynek hálózati
maszkja 255.255.255.0, és a
202.0.75.16, amelynek
hálózati maszkja 255.255.255.240. Azt szeretnénk
elérni, hogy a rendszerünk az 10.1.1.1 címtõl az 10.1.1.5 címig, valamint a 202.0.75.17 címtõl a 202.0.75.20 címig jelenjen meg a
nekik megfelelõ hálózatokon. Ahogy arra
már fentebb is utaltunk, az adott hálózati
tartományban csak az elsõ címnek (ebben az
esetben ez a 10.0.1.1 és a
202.0.75.17) kell valódi
hálózati maszkkal rendelkeznie. Minden
további címnek (a 10.1.1.2 és 10.1.1.5 között, valamint a
202.0.75.18 és 202.0.75.20 között) legyen
255.255.255.255 a
hálózati maszkja.Az alábbi /etc/rc.conf
bejegyzések ennek az elrendezésnek megfelelõen
állítják be a kártyát:ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255"
ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255"
ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255"
ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255"
ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240"
ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255"
ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255"
ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"Konfigurációs állományokAz /etc
felépítéseA beállításokkal kapcsolatos
információk számos könyvtárban
tárolódnak. Többek közt:/etcÁltalános rendszerszintû
beállítások. Az itt levõ
adatok a rendszer egészére
vonatkoznak./etc/defaultsA rendszer konfigurációs
állományainak alapértelmezett
változatait./etc/mailA &man.sendmail.8;
beállításához tartozó
további állományok, egyéb
levélküldéshez használt
adatok./etc/pppA felhasználói és rendszermag
szintû ppp programok
beállításai./etc/namedbA &man.named.8; mûködéséhez
szükséges adatok alapértelmezett
helye. Általában a
named.conf és a
zónák leírását
tároló állományok
kerülnek ide./usr/local/etcA telepített alkalmazások
konfigurációs állományai.
Néha alkalmazásonként
külön könyvtárakba kerülnek a
benne található
állományok./usr/local/etc/rc.dA telepített alkalmazások
indításával és
leállításával kapcsolatos
szkriptek./var/dbAutomatikusan generált rendszerszintû
adatbázisok a csomagokkal, a programok
helyével stb. kapcsolatosan.Hálózati nevekhálózati
névDNS/etc/resolv.confresolv.confAz /etc/resolv.conf határozza
meg, hogy a &os; névfeloldója miként
fér hozzá az internet tartománynév
rendszeréhez (a DNS-hez).Az resolv.conf
állományban leggyakrabban a következõ
bejegyzések fordulnak elõ:nameserverAnnak a névszernek az IP-címe,
ahova a névfeloldó küldi a
kéréseit. A névszervereket a
felírás sorrendjében
kérdezi meg, maximum hármat.searchA hálózati nevek
keresõlistája. Ezt
általában a helyi hálózati
nevek tartománya határozza meg.domainA helyi tartomány neve.Egy átlagos resolv.conf
tartalma:search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30Csak egy search és
domain opciót szabad
megadni.A DHCP használatakor a &man.dhclient.8; felül
szokta írni a resolv.conf
tartalmát a DHCP szervertõl kapott
információkkal./etc/hostshostsAz /etc/hosts az internet kezdeti
napjaira emlékeztetõ egyszerû szöveges
adatbázis. A nevek és IP-címek
közti leképzéseket a DNS és NIS
rendszerekkel karöltve oldja fel. Ide a helyi
hálózaton csatlakozó
számítógépek neveit lehet
beírni ahelyett, hogy erre a célra
beállítanánk egy külön
&man.named.8; szervert. Ezenkívül még az
/etc/hosts állományba
internetes nevek rekordját is felvehetjük, amivel
így csökkenthetjük a gyakran használt
nevek feloldására irányuló
külsõ kéréseket.# $&os;$
#
# A hálózati nevek adatbázisa
#
# Ebbe az állományba rakjuk a helyi hálózaton található címeket és
# a hozzájuk tartozó hálózati neveket, ahol szinte ugyanez az
# adatbázis megtalálható. A DNS vagy NIS alkalmazása esetén ez az
# állomány nem feltétlenül kerül felhasználásra. A névfeloldás
# sorrendjét az /etc/nsswitch.conf állományban adhatjuk meg.
#
::1 localhost localhost.my.domain myname.my.domain
127.0.0.1 localhost localhost.my.domain myname.my.domain
#
# Egy képzeletbeli hálózat.
#10.0.0.2 myname.my.domain myname
#10.0.0.3 myfriend.my.domain myfriend
#
# Az RFC 1918-nak megfelelõen a következõ IP-címekkel rendelkezõ
# alhálózatok sosem csatlakozhatnak közvetlenül az internetre:
#
# 10.0.0.0 - 10.255.255.255
# 172.16.0.0 - 172.31.255.255
# 192.168.0.0 - 192.168.255.255
#
# Amikor csatlakozunk az internethez, egy valódi, hivatalosan
# kiosztott számra lesz szükségünk. NAGYON SZÉPEN KÉRÜNK mindenkit,
# hogy ne találj ki magunknak hálózati címeket, hanem használja az
# internet-szolgáltatótól kapott címet (amennyiben rendelkezünk
# ilyennel) vagy az internetes nyilvántartásban szereplõ címek közül
# valamelyiket (FTP-n keresztül jelentkezzünk be az rs.internic.net
# gépre, majd lépjünk be a /templates könyvtárba).
Az /etc/hosts formai
felépítése igen egyszerû:[internetes cím] [hivatalos hálózati név] [álnév1] [álnév2] ...Tehát például:10.0.0.1 azEnValodiNevem.aHalozaton.hu azEnValodiNevem izemize1 izemize2A részletekért keressük fel a
&man.hosts.5; man oldalt.A naplóállományok
beállításanaplóállományoksyslog.confsyslog.confA syslog.conf állomány
a &man.syslogd.8; program beállításait
tartalmazza. Segítségével megadhatjuk,
hogy a syslog által generált
üzenetek egyes típusait milyen
naplóállományokba mentsük.# $&os;$
#
# Ebben az állományban HASZNÁLHATÓAK szóközök a mezõk elválasztására,
# habár a többi *nix-típusú rendszer inkább tabulátorokat használ
# erre a célra. Ha több rendszeren is használni akarjuk ezt az
# állományt, akkor ne használjunk szóközöket.
#
# A többit lásd a syslog.conf(5) man oldalon.
#
.err;kern.debug;auth.notice;mail.crit /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
cron.* /var/log/cron
*.err root
*.notice;news.err root
*.alert root
*.emerg *
# Tegyük vissza ezt a sort, ha a /dev/console eszközre kiírt
# üzeneteket át akarjuk irányítani az /var/log/console.log állományba.
#console.info /var/log/console.log
# Ha az összes üzenetet a /var/log/all.log állományba akarjuk menteni,
# akkor tegyük vissza ezt a sort.
#*.* /var/log/all.log
# Ha egy "loghost" nevû gépre szeretnénk naplózni, akkor tegyük vissza
# ezt a sort.
#*.* @loghost
# Az inn használatakor tegyük vissza ezeket a sorokat.
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
!startslip
*.* /var/log/slip.log
!ppp
*.* /var/log/ppp.logA &man.syslog.conf.5; man oldalának
elolvasásával tudhatunk meg többet
ezekrõl.newsyslog.confnewsyslog.confA newsyslog.conf a &man.newsyslog.8;
beállításait tároló
állomány. Ez egy olyan program, ami
általában a &man.cron.8; futtat le. A
&man.newsyslog.8; dönti el, hogy mikor van
szükség a naplók
archiválására és
átrendezésére. Ennek során a
logfile állományból
logfile.0 lesz, a
logfile.0
állományból pedig
logfile.1 és így
tovább. Beállíthatjuk úgy is,
hogy a naplóállományokat
archiválja &man.gzip.1; formátumban, aminek
megfelelõen ezek logfile.0.gz,
logfile.1.gz és ehhez
hasonló névvel jönnek létre.A newsyslog.conf megadja, hogy melyik
naplóállományokat kell felügyelni,
mennyi példányt tartsunk meg belõlük
és mikor kell velük foglalkozni. A
naplóállományok
átrendezhetõek és/vagy
archiválhatóak egy adott méret
elérésekor vagy egy adott idõ eltelte
után.# A newsyslog konfigurációs állománya
# $&os;$
#
# állománynév [tulajdonos:csoport] mód darab méret mikor [ZB] [/pid_állomány] [jelzés]
/var/log/cron 600 3 100 * Z
/var/log/amd.log 644 7 100 * Z
/var/log/kerberos.log 644 7 100 * Z
/var/log/lpd-errs 644 7 100 * Z
/var/log/maillog 644 7 * @T00 Z
/var/log/sendmail.st 644 10 * 168 B
/var/log/messages 644 5 100 * Z
/var/log/all.log 600 7 * @T00 Z
/var/log/slip.log 600 3 100 * Z
/var/log/ppp.log 600 3 100 * Z
/var/log/security 600 10 100 * Z
/var/log/wtmp 644 3 * @01T05 B
/var/log/daily.log 640 7 * @T00 Z
/var/log/weekly.log 640 5 1 $W6D0 Z
/var/log/monthly.log 640 12 * $M1D0 Z
/var/log/console.log 640 5 100 * ZTovábbi információkat a
&man.newsyslog.8; man oldaláról
nyerhetünk.sysctl.confsysctl.confsysctlA sysctl.conf állomány
leginkább az rc.conf
állományhoz hasonlít, benne az
értékeket
változó=érték
párokban adhatjuk meg. Az itt definiált
értékek akkor kerülnek ténylegesen
beállításra, amikor a rendszer
többfelhasználós módba vált.
Ezen a módon nem mindegyik változó
értékét tudjuk
átállítani.A sysctl.conf állományban
az alábbi érték
beállításával tudjuk
beállítani, hogy a rendszer ne naplózza,
amikor a programok végzetes jelzéssel
fejezõdnek be, valamint azt, hogy a
felhasználók láthassák egymás
futó programjait:# Ne naplózzuk a végzetes jelzésekhez (például sig 11) tartozó kilépéseket.
kern.logsigexit=0
# Ne engedjük a felhasználóknak, hogy lássák egy másik felhasználó
# azonosítójával futó programokat.
security.bsd.see_other_uids=0Finomhangolás a sysctl
használatávalsysctlfinomhangolása sysctl használatávalA &man.sysctl.8; egy olyan felület, amely
lehetõséget biztosít egy mûködõ
&os; rendszer megváltoztatására.
Segítségével többek közt
hozzáférhetünk a TCP/IP protokollkészlet
és a virtuális memóriát kezelõ
alrendszer rengeteg apró opciójához, melyek
megfelelõ beállításával egy
tapasztalt rendszergazda kezében drasztikusan
növelhetõ a rendszer teljesítménye. A
&man.sysctl.8; alkalmazásával több mint
ötszáz rendszerszintû változó
kérdezhetõ le és állítható
be.A &man.sysctl.8; két funkciót rejt
magában: a rendszer beállításainak
lekérdezését és
módosítását.Így nézhetjük meg az összes
lekérdezhetó változót:&prompt.user; sysctl -aÍgy kérhetjük egy konkrét
változó, például a
kern.maxproc
értékét:&prompt.user; sysctl kern.maxproc
kern.maxproc: 1044Egy adott változó értékének
módosításához pedig használjuk
a
változó=érték
felírást:&prompt.root; sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000A sysctl változók értékei lehetnek
karakterláncok, számok és logikai
értékek (ahol az 1 az igennek, a
0 a nemnek felel meg).Ha a számítógép
indításakor automatikusan be akarunk
állítani bizonyos változókat, akkor
vegyük fel ezeket az /etc/sysctl.conf
állományba. Ennek pontosabb részleteit a
&man.sysctl.conf.5; man oldalon és a ban találhatjuk
meg.TomRhodesÍrta: A &man.sysctl.8; írásvédett
értékeiEgyes esetekben szükséges lehet a &man.sysctl.8;
írásvédett változóinak
módosítása. Habár gyakran
elengedhetetlen, ezt kizárólag csak a rendszer
(újra)indításakor tudjuk megtenni.Például egyes laptopoknál a
&man.cardbus.4; eszköz nem próbálkozik
több memóriaterület használatával,
ezért egy ehhez hasonló hibával
leáll:cbb0: Could not map register memory
device_probe_and_attach: cbb0 attach returned 12Az ilyen és ehhez hasonló esetekben gyakran
olyan &man.sysctl.8; változók alapértelmezett
értékeit kellene megváltoztatnunk, amelyek
írásvédettek. Ilyenkor tegyük az
érintett &man.sysctl.8; változó
objektumazonosítóját (OID)
és a hozzátartozó értéket a
/boot/loader.conf
állományunkba. Az alapértelmezéseket
a /boot/defaults/loader.conf
állományban találjuk meg.A fentebb tárgyalt probléma
megoldásához a felhasználónak a
értéket kell beállítania az elõbb
említett állományban. Ezután
már a &man.cardbus.4; megfelelõen fog
mûködni.A lemezek finomhangolásaSysctl változókvfs.vmiodirenablevfs.vmiodirenableA vfs.vmiodirenable sysctl
változó értéke lehet 0 (ki) vagy 1
(be, és ez az alapértelmezés is). Ez a
változó vezérli a könyvtárak
gyorsítótárazását a
rendszerben. A könyvtárak többsége
kis méretû, így az
állományrendszerbõl csak egyetlen
(általában 1 KB méretû)
darabkát használnak és még
ennél is kevesebbet (általában
512 byte-ot) a pufferben. A változó
kikapcsolt (avagy 0) értéke mellett a puffer
csak rögzített számú
könyvtárat táraz be még abban az
esetben is, amikor temérdek mennyiségû
memória áll a rendelkezésére. Ha
viszont (az 1 értékkel)
engedélyezzük, akkor a rendszer a
könyvtárak tárazására
felhasználja a virtuális
memóriában pufferelt lapokat is, amivel
lényegében az összes elérhetõ
memóriát a könyvtárak
tárazására fordítja. Ilyenkor
azonban az egyes könyvtárak
tárazására használt legkisebb
memóriaterület a fizikai lapmérettel
egyezik meg (ami általában 4 KB) és
nem 512 byte. Abban az esetben javasoljuk ennek a
beállításnak a használatát,
ha olyan szolgáltatásokkal dolgozunk, amelyek
nagy számú állománnyal dolgoznak
egyszerre. Ilyen szolgáltatások többek
közt a webes gyorsítótárak, nagyobb
levelezõrendszerek és hírrendszerek. Az
opció engedélyezése alapvetõen nem
veti vissza a rendszer teljesítményét
még akkor sem, ha ezzel memóriát
pazarlunk el, de ezt igazából érdemes
kikísérletezni.vfs.write_behindvfs.write_behindA vfs.write_behind sysctl
változó alapértelmezett
értéke 1 (bekapcsolt). Ez
arra utasítja az állományrendszert, hogy
csak akkor küldje ki az adatokat az eszközre, ha
belõlük teljes fürtök gyûltek
össze. Ez jellemzõ módon nagyobb
szekvenciális állományok
írása esetén kedvezõ. Arra
szolgál, hogy segítségével el
lehessen kerülni az I/O túlságosan gyakori
módosítások okozta
terhelését. Bizonyos
körülmények közt ez azonban
lassíthatja a futó programok
mûködését, ezért ilyenkor
érdemes megfontolni a
kikapcsolását.vfs.hirunningspacevfs.hirunningspaceA vfs.hirunningspace sysctl
változó értéke azt adja meg, hogy
tetszõleges számú
példánynál rendszerszinten mekkora
mértékû írási mûvelet
irányítható át a
lemezvezérlõk soraiba. Az
alapértelmezés többnyire elegendõ, de
olyan gépeken, ahol sok lemez dolgozik egyszerre, ez az
érték négy vagy öt
megabyte-ra is felszökhet!
Hozzátennénk, hogy ha ezt az
értéket túlságosan nagyra
állítjuk (és így
túllépjük a puffer írási
küszöbértékét), akkor ezzel
hihetetlenül gyenge fürtözési
teljesítményt nyerünk. Semmiképp se
állítsuk túlzottan nagy
értékre! A nagyobb írási
értékek a velük párhuzamos
olvasások számára
késleltetést is jelentenek.Találhatunk még más egyéb
pufferelési és
gyorsítótárazási sysctl
változókat, azonban ezek
megváltoztatását egyáltalán
nem javasoljuk, mivel a virtuális memória
alrendszer kiválóan tudja
önállóan állítani ezeket a
paramétereit.vm.swap_idle_enabledvm.swap_idle_enabledA vm.swap_idle_enabled sysctl
változó módosítása olyan
nagyobb többfelhasználós rendszerekben
bizonyulhat hasznosnak, ahol sok felhasználó
lép be és lép ki a rendszerbe és
sok az üresjáratban futó program. Az ilyen
jellegû rendszerek hajlamosak nagy mennyiségû
folyamatos terhelést mérni a tartalékolt
szabad memóriára. A
beállítás
engedélyezésével, valamint a
vm.swap_idle_threshold1 és a
vm.swap_idle_threshold2
változókon keresztül a kilapozás
reakcióidejének alkalmas
behangolásával a megszokottnál gyorsabban
lenyomhatjuk az üresjáratban dolgozó
programokhoz tartozó memórialapok
prioritását, amivel a kilapozásokat
vezérlõ démon kezére
játszunk. Azonban tényleg csak akkor
engedélyezzük ezt a lehetõséget, ha
valóban szükségünk van rá,
mivel így a memóriát jóval
elõbb lapozzuk ki és ezzel több
lapozóállományt és
lemezteljesítményt emésztünk fel.
Kisebb rendszerekben jól behatárolható a
hatása, azonban a nagyobb rendszerekben, ahol
már eleve visszafogott mértékû
lapozás történik, ez a
beállítás lehetõvé teszi a
virtuális memóriát kezelõ alrendszer
számára, hogy könnyedén ki-
és be rakosgasson komplett futó programokat a
memóriába.hw.ata.wchw.ata.wcA &os; 4.3 egyszer már kacérkodott a
IDE-lemezek írási pufferének
kikapcsolásával. Ez ugyan csökkentette az
IDE-lemezek írási
sávszélességét, azonban bizonyos
merevlemezgyártók
gondatlanságából eredõ súlyos
adatvesztések miatt szükséges volt a
használata. A gond ezzel kapcsolatban ott van, hogy
egyes IDE-meghajtók hazudnak az írások
teljesítésérõl. A lemezek
írási
gyorsítótárazásának
bekapcsolásával az IDE-meghajtók nem csak
az írások sorrendjét rendezik át,
hanem nagyobb terhelés esetén egyes blokkokat
jóval késõbb is rögzítenek.
Ezért a rendszer esetleges összeomlása vagy
egy áramkimaradás súlyos károkat
okozhat az állományrendszerben. A &os;
úgy döntött, hogy a
megbízhatóságot választja. Sajnos
ez olyan nagyságú
teljesítményvesztést okozott, hogy a
következõ kiadásban már
kénytelenek voltunk alapértelmezés
szerint is visszakapcsolni ezt a lehetõséget. A
hw.ata.wc nevû sysctl
változó vizsgálatával
ellenõrizhetjük a rendszerünkön
érvényes alapértelmezett
beállítást. Amennyiben az IDE
írások
gyorsítótárazása nem
engedélyezett, akkor ezt a változó
értékének 1-re
állításával
állíthatjuk vissza. Ezt a rendszer
indításakor a rendszerbetöltõben
tehetjük meg. A rendszermag indítása
után ennek már nincs hatása.A részleteket a &man.ata.4; man oldalon tudhatjuk
meg.SCSI_DELAY
(kern.cam.scsi_delay)kern.cam.scsi_delaya rendszermag
beállításaiSCSI_DELAYA rendszermag SCSI_DELAY nevû
beállítása a rendszer
indulásának idejét hivatott
mérsékelni. Az alapértelmezett
értéke viszonylag magas, innen származik
a rendszer indítása során keletkezõ
15 másodperces
csúszást. Általában az is
megfelelõ, aa ezt visszavesszük az
5 értékre (fõleg a
modernebb meghajtók számára). A &os;
újabb (5.0 vagy késõbbi)
változataiban ez az érték már a
kern.cam.scsi_delay sysctl
változó értékével is
megadható a rendszer indításakor.
Azonban ügyeljünk rá, hogy mind a
finomhangoláshoz használt változó,
mind pedig rendszermag beállítása
ezredmásodpercben és
nemmásodpercben értelmezi ezt
az értéket.Soft UpdatesSoft UpdatestunefsA &man.tunefs.8; nevû program használható
az állományrendszerek
finomhangolására. Nagyon sok opciót
találhatunk benne, de itt most csak a Soft
Updates ki- és bekapcsolásával
foglalkozunk, amit a következõ módon
tehetünk meg:&prompt.root; tunefs -n enable /allomanyrendszer
&prompt.root; tunefs -n disable /allomanyrendszerAmíg egy állományrendszer
csatlakoztatott állapotban van, addig nem
módosítható a &man.tunefs.8; paranccsal. A
Soft Updates bekapcsolására ezért az a
legalkalmasabb idõpont, amikor
egyfelhasználós módban vagyunk és
még egyetlen partíciót sem
csatlakoztattunk.A Soft Updates beállítás
engedélyezése a memóriában pufferelt
gyorsítótáron keresztül jelentõs
mértékben fokozza a metaadatok
teljesítményét, elsõsorban az
állományok létrehozását
és törlését. A Soft Updates
használatát ezért minden
állományrendszer esetén ajánljuk. A
Soft Updates alkalmazásának két rossz
oldalára kell tekintettel lennünk.
Elõször is a Soft Updates a rendszer
összeomlása esetén ugyan garantálja az
állományrendszer konzisztenciáját,
de könnyen elképzelhetõ, hogy több
másodperccel (vagy akár egy egész perccel!)
hátrébb jár a fizikai lemez
frissítésében. Másodszor a Soft
Updates késlelteti az állományrendszer
blokkjainak felszabadítását. Ha van egy
olyan állományrendszerünk (mint
például a rendszer
indításához használt
gyökér partíció), ami már
majdnem betelt, akkor egy nagyobb frissítés,
például a make installworld
parancs kiadása, során az
állományrendszer egyszerûen kifogy a
helybõl és így a frissítés
meghiúsul.Bõvebben a Soft Updates
mûködésérõlSoft UpdatesrészleteiKét hagyományos
megközelítés létezik az
állományrendszerek metaadatainak
visszaírására. (A metaadatok
módosításakor olyan nem adatot
tartalmazó blokkok változnak meg, mint
például az állományokra
vonatkozó információk vagy a
könyvtárak.)Eredetileg alapértelmezés szerint a
metaadatok változásait szinkron módon
írták ki. Amikor egy könyvtár
megváltozott, a rendszer egészen addig
várt, amíg ez a változás a lemezre
nem íródott. Ugyanekkor az
állományok adatait tartalmazó pufferek
(az állományok tartalma) átkerültek
a pufferelt gyorsítótárba, hogy majd
késõbb, aszinkron módon kerüljenek
kiírásra. Ennek az
implementációnak a biztonságos
mûködés volt az elõnye, mivel így
a metaadatok még akkor is konzisztens állapotban
maradtak, amikor valamilyen hiba következett be.
Tehát egy állomány vagy teljesen
létrejött vagy egyáltalán nem. Ha
az állományhoz tartozó blokkok már
nem tudtak kijutni a
gyorsítótárból az
összeomlás ideje elõtt, akkor az &man.fsck.8;
felismerte ezt a helyzetet és az
állományrendszer ilyen jellegû
hibáját úgy orvosolta, hogy az adott
állomány méretét nullára
állította. Ezenkívül még az
implementációs részletek is
tiszták és egyszerûek maradtak. Ennek
viszont hátránya, hogy a metaadatok
kezelése lassú. Ha például
kiadunk egy rm -r parancsot, akkor az a
könyvtárban levõ állományokat
szekvenciálisan dolgozza fel, de minden egyes
változtatást (az állományok
törlését) csak szinkron módon
rögzíti a lemezre. Ezek a
frissítések érintik magát a
könyvtárat, az állományokkal
kapcsolatos információkat tároló
táblázatot (az ún. inode
táblát) és minden
valószínûség szerint az
állományok által lefoglalt blokkokat is
közvetve. Hasonló megfontolások
élnek a nagyobb könyvtárszerkezetek
kibontása esetén is (tar
-x).A második lehetõség a metaadatok
aszinkron frissítése. Ez az
alapértelmezés a Linux ext2fs és BSD-k
mount -o async opcióval
csatlakoztatott UFS állományrendszerei
esetén. Ilyenkor minden metaadattal kapcsolatos
aktualizálás egyszerûen bekerült a
pufferelt gyorsítótárba, tehát az
állományok adatai és ezek a
típusú frissítések keverednek.
Ennek a megvalósításnak az az
elõnye, hogy nem kell megvárni, amíg a
metaadatok is kiíródnak a lemezre, ezért
a metaadatok óriási mennyiségû
változásával járó
mûveletek sokkal gyorsabban hajtódnak
végre, mint a szinkron esetben. Sõt, maga az
implementáció is tiszta és egyszerû
marad, ezért a kódban megjelenõ
hibák beszivárgásának
kockázata alacsony. A módszer
hátránya, hogy egyáltalán
semmilyen garanciát nem kapunk az
állományrendszer
konzisztenciájára. Ha tehát egy rengeteg
metaadat megváltozásával
együttjáró mûvelet közben
történik valamilyen probléma
(áramkimaradás, vagy valaki egyszerûen
megnyomja a reset gombot), akkor az
állományrendszer elõre
kiszámíthatatlan állapotba kerül. A
rendszer újbóli indításakor
ezért nincs lehetõségünk
megvizsgálni az állományrendszer
állapotát. Elképzelhetõ, hogy az
állományokhoz tartozó adatok már
kikerültek a lemezre, miközben a rá
vonatkozó inode- vagy könyvtári
bejegyzések még nem. Így
lényegében lehetetlen olyan
fsck implementációt
készíteni, ami képes lenne
eltüntetni ezt a káoszt (hiszen az ehhez
szükséges adatok nem állnak
rendelkezésre). Ha az állományrendszer
helyrehozhatatlanul károsodott, akkor csak a
&man.newfs.8; és a biztonsági mentés
visszaállítása segíthet
rajta.Ezt általában úgy
küszöbölik ki, hogy az egészhez
hozzáteszik még a
módosított területek
feljegyzését, amit gyakran csak
naplózásnak (journaling)
neveznek, habár ezt az elnevezést nem mindenhol
ilyen értelemben használják, ezért
a tranzakciók naplózásának
más formáira is utalhat. A metaadatok
frissítése ebben az esetben is csak szinkron
módon történik, de csak a lemez egy kisebb
területére. Késõbb ez a
megfelelõ helyére kerül. Mivel a lemez
naplózásra fordított része egy
viszonylag kis méretû, folytonos terület, a
lemez fejének még a megterhelõbb
mûveletek esetén sem kell sokat mozognia,
ezért valójában ez a megoldás
gyorsabb, mint a mezei szinkron frissítések. Az
implementáció bonyolultsága
továbbra is jól behatárolható, a
velejáró hibalehetõségek
kockázata alacsony. Hátránya, hogy
minden metaadat kétszer íródik ki
(egyszer a naplózási területre,
aztán a megfelelõ helyre), ezért ez a
hétköznapi használat során
visszaesés tapasztalható a
teljesítményben. Másrészrõl
azonban egy összeomlás esetén a
naplózási terület
segítségével minden függõben
levõ metaadattal kapcsolatos mûvelet könnyen
visszafordítható vagy lezárható a
rendszer következõ indításakor,
és ezzel így egy gyors
helyreállítást nyerünk.Kirk McKusick, a Berkeley FFS fejlesztõje ezt a
problémát a Soft Updates
segítségével hidalta át: a
metaadatokkal kapcsolatos minden függõben levõ
frissítést a memóriában tart, majd
ezeket rendezett sorrendben írja ki a lemezre (a
metaadatok rendezett frissítése). Ennek
következményeképpen a metaadatok komolyabb
frissítése során a késõbb
érkezõ módosításoknak
lehetõségük van elkapni a
memóriában levõ korábbi
változataikat, ha azok még nem kerültek ki
a lemezre. Így az összes, például
könyvtárakon végzett, mûvelet a
lemezre írás elõtt általában
elõször a memóriában
játszódik le (a adatblokkok a
pozíciójuknak megfelelõen kerülnek
rendezésre, ezért a rájuk
vonatkozó metaadatok elõtt nem jutnak ki a
lemezre). Ha eközben a rendszer összeomlik, akkor
így implicit módon a napló
visszalapozását eredményezi:
minden olyan mûvelet, ami már nem tudott kijutni a
lemezre, meg nem történtnek számít.
Ezen a módon az állományrendszernek egy
30 és 60 másodperc közti korábbi
állapota marad fenn. Az algoritmus garantálja,
hogy az összes használt erõforrás a
nekik megfelelõ bittérképekben helyesen
jelölõdik, a blokkokban és az inode-okban.
Az összeomlás után az
erõforrások kiosztásával
kapcsolatban csak egyetlen hiba léphet fel: amikor
olyan erõforrások jelölõdnek
használtnak amely igazából
szabadok. Az &man.fsck.8; azonban képes
felismerni ezeket a helyzeteket és
felszabadítani a nem használt
erõforrásokat. A mount -f
parancs kiadásával minden további
következmény nélkül figyelmen
kívül hagyhatjuk az állományrendszer
félkész állapotát és
csatlakoztathatjuk az állományrendszereket. Az
használatban már nem levõ
erõforrások felszabadításához
az &man.fsck.8; parancsot késõbb kell futtatni.
Ez az alapötlet húzódik meg a
háttérben végzett
lemezellenõrzés mögött. A
rendszer indításakor az
állományrendszernek csupán egy
pillanatképét
rögzítjük, és az
fsck tényleges
lefuttatását késõbbre toljuk. Mivel
mindegyik állományrendszer
csatlakoztatható félkész
állapotban, ezért a rendszer képes
elindulni többfelhasználós módban.
Eközben a háttérben az
fsck beütemezhetõ minden olyan
állományrendszer számára, ahol
arra szükség van, hogy szabadítsa fel az
esetlegesen már nem használt
erõforrásokat. (Így a Soft Updates
opciót nem alkalmazó
állományrendszerek esetén továbbra
is szükség van az elõtérben
elvégzett fsck parancsra.)A módszer elõnye, hogy így a
metaadatokkal kapcsolatos mûveletek közel olyan
gyorsak, mint az aszinkron módon végzett
frissítések (tehát gyorsabb mintha
naplóznánk, ami ugye minden
metaadatot kétszer ír ki). A
hátránya a bonyolultabb kód (ami miatt
növekszik az olyan hibák lehetõsége,
amik érzékenyen befolyásolhatják a
felhasználói adatok elvesztését)
és a nagyobb memóriaigény.
Ezenkívül még van néhány
olyan egyéni jellemzõje, amit meg kell szokni. A
rendszer összeomlása után az
állományrendszer valamivel
régebbi lesz. Amikor pedig megszokott
szinkron megközelítés szerint az
fsck lefutása után nulla
méretû állományok
jönnének létre, ezek az
állományok a Soft Updates esetén
egyáltalán meg sem jelennek, mivel sem a
rájuk vonatkozó metaadatok, sem pedig a
tartalmuk nem került ki a lemezre. Egy
rm lefuttatása után a
lemezterület addig nem kerül
felszabadításra, amíg a
frissítések teljesen rá nem kerülnek
a lemezre. Ez nagyobb mennyiségû adat
telepítésekor gondokat okozhat egy olyan
állományrendszeren, ahol nincs elegendõ
hely az állományok kétszeri
tárolására.A rendszermag korlátainak
finomhangolásafinomhangolása rendszermag korlátaiAz állományok és a futó
programok korlátozásaikern.maxfileskern.maxfilesA kern.maxfiles értéke a
rendszerünk igényeinek megfelelõen
növelhetõ vagy csökkenthetõ. Ez a
változó adja meg a rendszerünkben levõ
állományleírók maximális
számát. Amikor az
állományleírókat
tároló táblázat megtelik, a
rendszer üzenetpufferében egy file:
table is full üzenet jelenik meg, amit a
dmesg paranccsal tudunk
megnézni.Minden megnyitott állomány,
csatlakozás vagy FIFO elhasznál egy
állományleírót. Egy
nagyméretû szerver könnyen
felemészthet több ezernyi
állományleírót attól
függõen, hogy milyen és mennyi
szolgáltatást futtat egymás
mellett.A &os; korábbi kiadásaiban a
kern.maxfiles a rendszermag
beállításait tartalmazó
állomány (a
rendszerben egyszerre jelenlevõ
felhasználók maximumának)
értékébõl származott,
tehát a kern.maxfiles a
értékével
arányosan növekszik. Amikor
készítünk egy saját rendszermagot,
mindig érdemes a rendszerünk
használatának megfelelõen
beállítani ezt az értéket, mivel a
rendszermag ebbõl a számból
határozza meg a legtöbb elõre
meghatározott korlátait. Mivel még egy
komoly szerveren sem jelentkeznek be egyszerre 256
felhasználónál többen,
nagyjából ugyanannyi erõforrásra van
szüksége, mint egy nagyobb webszervernek.
- A &os; 4.5 változatától
- kezdõdõen a kern.maxusers
- értéke a rendelkezésre álló
+ A kern.maxusers értéke a
+ rendelkezésre álló
memóriának megfelelõen
magától méretezõdik a rendszer
indításakor, és amit futás
közben csak a kern.maxusers sysctl
változó írásvédett
értékének
lekérdezésébõl tudhatunk meg. Egyes
oldalak üzemeltetése a
kern.maxusers így
megállapított
értékétõl nagyobbat vagy
éppen kisebbet igényel, ezért a
betöltéskor minden gond nélkül
át lehet állítani 64, 128 vagy 256
értékûre. Senkinek sem ajánljuk,
hogy 256 felé menjen, hacsak tényleg nincs
szüksége ekkora mennyiségû
állományleíróra. A
kern.maxusers
függvényében beállított
alapértelmezett értékek tetszõleges
módon átállíthatóak a
rendszer indításakor vagy futás
közben a /boot/loader.conf
módosításával (az ide
kapcsolódó javaslatokról bõvebben
lásd a &man.loader.conf.5; man oldalt vagy a
/boot/defaults/loader.conf
állományt) illetve a leírás
- más részén megadott módok szerint.
- A &os; 4.4 változatánál
- korábbi rendszerek esetén erre a rendszermag
- &man.config.8; beállításának
- paraméterét kell
- használni.
+ más részén megadott módok
+ szerint.A korábbi kiadásokban úgy lehet
önszabályozóra állítani a
maxusers beállítást,
ha explicit módon 0
értéket adtunk meg neki
Az önszabályozó algoritmus a
maxusers értékét a
rendszerben található
memóriának megfelelõen legalább
32-re, legfeljebb 384-re állítja.. A maxusers paraméter
beállításakor legalább
érdemes 4-et megadni, különösen akkor,
ha használjuk az X Window Systemet vagy szoftvereket
fordítunk le. Azért van erre
szükség, mert a maxusers
értéke által szabályozott
legfontosabb mennyiség az egyszerre futtatható
programok táblázatának maximális
mérete, amelyet így számolunk ki:
20 + 16 * maxusers. Tehát ha a
maxusers értékét 1-re
állítjuk be, akkor az elõbb képlet
értelmében csak 36 programunk futhat
egymással párhuzamosan, beleértve mindazt
a kb. 18 programot, amik a rendszerrel együtt indulnak,
illetve még azt a további 15 programot, amit az
X Window System használatával indítunk
el. Még egy olyan egyszerû dolog is, mint
például egy man oldal megnézése
legalább kilenc programot elindít a
szûréshez, kitömörítéshez
és megnézéshez. Azonban ha a
maxusers értékét 64-re
állítjuk, akkor egyszerre akár már
1044 programot futtathatunk, ami szinte mindenre
elegendõ. Ha persze egy új program
indításakor kapunk egy proc table
full típusú üzenetet vagy nagy
számú konkurens felhasználóval
futtatunk szervert (ilyen például a ftp.FreeBSD.org), akkor érdemes
növelni ezt a számot és
újrafordítani a rendszermagot.A maxusersnem
korlátozza a számítógépre
egyszerre bejelentkezni képes
felhasználók számát.
Egyszerûen csak beállítja
néhány táblázat
méretét és az egyszerre
futtatható programok mennyiségét a
rendszert egyidejûleg használni
kívánó felhasználók
maximális számának
- figyelembevételével. A távoli
- bejelentkezések és X terminálablakok
- számát ténylegesen
- a pseudo-device
- pty 16 paraméter határolja
- le. A &os; 5.X változataitól
- kezdõdõen már nem kell aggódni
- emiatt, mivel a &man.pty.4; meghajtó
- önmagát klónozza.
- Ezért elegendõ csak a device
- pty sor használató a
- konfigurációs
- állományban.
+ figyelembevételével.
kern.ipc.somaxconnkern.ipc.somaxconnAz kern.ipc.somaxconn sysctl
változó a beérkezõ TCP kapcsolatokat
fogadó sor hosszát határozza meg. Ennek
az alapértelmezett értéke
128, ami az új kapcsolatok
megbízható kezeléséhez
általában kevés egy erõsen leterhelt
webszerver számára. Ilyen helyzetekben ezt az
értéket javasolt 1024-re vagy
még annál is nagyobbra állítani.
Az egyes szolgáltatások démonai ugyan
szintén le szokták korlátozni a
fogadósoruk méretét
(például a &man.sendmail.8; vagy az
Apache), de gyakran találunk
a beállításai között olyat,
amivel ennek a sornak a mérete növelhetõ. A
nagyobb fogadósorok mellesleg jó
szolgálatot tesznek a Denial of Service
(DoS) típusú
támadásokkal szemben is.Hálózati korlátozásokA rendszermag NMBCLUSTERS nevû
beállítása szab határt a rendszer
részére elérhetõ
memóriapufferek mennyiségének. Egy nagyobb
forgalmú szerver esetén a pufferek alacsony
száma gátat szabhat a &os;
képességeinek. Minden klaszter
nagyjából 2 KB memóriát takar,
így az 1024-es érték azt jelenti, hogy a
rendszermag memóriájából 2
megabyte-ot fordítunk a hálózati
pufferelésre. Egyszerûen
kiszámítható mennyire is van
szükségünk: ha van egy webszerverünk, ami
egyszerre legfeljebb 1000 párhuzamos kapcsolatot fogad,
és minden kapcsolat lefoglal 16 KB-ot a
fogadó-, valamint újabb 16 KB-ot a
küldõpuffer számára, akkor
megközelítõleg 32 MB-nyi
hálózati pufferre lesz szükségünk
a webszerver hatékony
mûködéséhez. Ezt az
értéket gyakran még érdemes
megszorozni kettõvel, így
2 x 32 MB / 2 KB =
64 MB / 2 KB = 32768. Több
memóriával rendelkezõ
számítógépek esetén egy 4096
és 32768 közti értéket javaslunk.
Semmilyen körülmények között ne
adjunk meg ennél nagyobb értéket, mert
ezzel a rendszer már az indítása
során összeomolhat. A &man.netstat.1;
beállításával
ellenõrizhetjük a hálózati klaszterek
kihasználtságát.A kern.ipc.nmbclusters
változó értékét a rendszer
indításakor érdemes megváltoztatni.
A &os; korábbi változataiban ehhez a rendszermag
NMBCLUSTERS nevû &man.config.8;
paraméterének
módosítására van
szükségünk.Az olyan forgalmasabb szervereken, ahol sokat
használják a &man.sendfile.2;
rendszerhívást, szükségünk lehet
a &man.sendfile.2; által használt pufferek
számának növelésére a
rendszermag NFSBUFS nevû
konfigurációs paraméterén vagy a
/boot/loader.conf állományon
keresztül (lásd &man.loader.8;). Amikor a
futó programok közül sokan vannak
sfbufa állapotban, akkor az
egyértelmûen annak a jele, hogy ezen a
paraméteren állítanunk kell. A
kern.ipc.nsfbufs egy
írásvédett változót, amelyet
a rendszermag állít be. Ez a paraméter
névlegesen a kern.maxusers
változó értékének
megfelelõen változik, de bizonyos esetekben
ettõl függetlenül önállóan
kell behangolni.Annak ellenére, hogy egy socketet
blokkolásmentesnek jelöltünk meg, a
&man.sendfile.2; meghívása egy
blokkolásmentes socketre blokkolódást
eredményezhet egészen addig, amíg a
használatához elegendõ struct
sf_buf struktúra össze nem
gyûlik.net.inet.ip.portrange.*net.inet.ip.portrange.*A net.inet.ip.portrange.* sysctl
változók vezérlik a TCP és UDP
csatlakozásokhoz automatikusan hozzárendelt
portszámok tartományát. Három
ilyen tartomány létezik: az alsó, az
alapértelmezett és a felsõ
tartomány. A legtöbb hálózati
program a net.inet.ip.portrange.first
és net.inet.ip.portrange.last
változók által rendre az 1024-tõl
5000-ig kijelölt alapértelmezett tartományt
használja. A kimenõ kapcsolatok is
rögzített porttartományokat követnek,
és adott körülmények mellett be lehet
állítani úgy a rendszerünket, hogy
ezen kívül osszon ki portokat. Ez a
legtöbbször akkor fordul elõ, amikor egy
erõsen leterhelt webproxyt mûködtetünk. A
porttartományok nem okoznak gondot olyan
szervereknél, ahol általában
bejövõ kapcsolatokra lehet számítani,
tehát például webszerverek esetén,
vagy ahol korlátozott a kimenõ kapcsolatok
száma, mint például a levelek
továbbításánál. Ha olyan
helyzetbe keverednénk, ahol már kifutunk a
felhasználható portokból, a
net.inet.ip.portrange.last
mérsékelt növelésével
javasolt kitörni. Ilyenkor a 10000,
20000 vagy 30000
értékek elfogadhatóak. Amikor
megváltoztatjuk a porttartományok
határait, elõtte mindig gondoljuk át,
milyen hatással lehet ez a tûzfalra. Egyes
tûzfalak blokkolhatnak bizonyos tartományokat
(általában az alacsonyabbakat) és arra
számítanak, hogy a rendszerek a kimenõ
kapcsolatokhoz a nagyobb számú portokat
használják — ebbõl kifolyólag
nem ajánlott csökkenteni a
net.inet.ip.portrange.first
értékét.A TCP
sávszélesség-késletetés
szorzatA TCP
sávszélesség-késleltetés
szorzatának korlátozásanet.inet.tcp.inflight.enableA TCP
sávszélesség-késleltetés
szorzat korlátozása hasonlít a NetBSD-ben
megtalálható TCP/Vegas
implementációhoz. A
net.inet.tcp.inflight.enable sysctl
változó 1-re
állításával lehet
engedélyezni. A rendszer ilyenkor minden egyes
kapcsolathoz megpróbálja
kiszámítani a
sávszélesség-késleltetés
szorzatot és az optimális átviteli
sebesség fenntartásához illeszkedõen
korlátozni a hálózat felé
küldött adatok sorának hosszát.Ez a lehetõség még olyankor hasznosnak
bizonyulhat, amikor modemen, Gigabit Etherneten vagy
nagysebességû WAN (vagy bármilyen
más nagy
sávszélesség-késleltetés
szorzattal bíró)
összeköttetéseken keresztül
küldünk át adatokat, különösen
abban az esetben, amikor ablakméretezést is
használnunk vagy nagy küldési ablakot
állítottunk be. Az
engedélyezésekor ne felejtsük el
net.inet.tcp.infligt.debug
változót sem beállítani
0-ra (amivel így kikapcsoljuk a
nyomkövetést) és éles
használat esetén pedig elõnyös lehet a
net.inet.cp.inflight.min
változót legalább
6144-re állítani. Azonban
hozzátesszük, hogy
összeköttetéstõl függõen a
nagy minimum értékek tulajdonképpen
kikapcsolják a
sávszélességkorlátozást.
Ez a korlátozási lehetõség
csökkenti a közbensõ út adatinak
és csomagváltásokhoz tartozó sorok
méretét, miközben csökkenti a helyi
számítógép felületén
felépülõ sorok méretét is. Ha
kevesebb csomagot rakunk be a sorba, akkor az
interaktív kapcsolatok, különösen a
lassabb modemek esetében, kisebb
körbejárási
idõvel (Round Trip Time) mûködnek.
Továbbá megemlítenénk, hogy ez a
lehetõség csak az adatok
küldésére (feltöltésére,
szerveroldalra) van hatással. Semmilyen
befolyása nincs az adatok fogadására
(letöltésére).A net.inet.tcp.inflight.stab
állítgatása nem
ajánlott. A paraméter értéke
alapértelmezés szerint 20, ami legfeljebb 2
csomag hozzáadását jelenti a
sávszélesség-késleltetés
szorzat ablakának kiszámításakor.
Erre a kiegészítõ ablakra azért van
szükség, hogy stabilizálni tudjuk vele az
algoritmust és javítani tudjuk a
változó feltételekre adott
reakciót, de lassabb összeköttetések
esetében nagyobb ping idõket is
eredményezhet (habár ezek még így
kisebbek, mint ha nem használnánk az
algoritmust). Ilyen esetekben megpróbálhatjuk
15-re, 10-re vagy esetleg 5-re visszavenni a paraméter
értékét, de ekkor a kívánt
hatás eléréséhez minden bizonnyal
a net.inet.tcp.inflight.min
értékét is redukálunk kell majd
(például 3500-ra). Ezen paraméterek
megváltoztatását csak végsõ
esetben ajánljuk!Virtuális memóriakern.maxvnodesA vnode egy állomány vagy
könyvtár belsõ
ábrázolása. Ennek megfelelõen a
vnode-ok számának növelésével
az operációs rendszer spórolni tud a
lemezmûveletekkel. Ezt általában maga az
operációs rendszer szabályozza, és
nincs szükség a finomhangolására.
Néhány esetben, amikor a lemezmûveletek
jelentik a rendszerben a szûk keresztmetszetet és
a kezdenek elfogyni a vnode-ok, szükség lehet
ennek a számnak a növelésére. Ehhez
az inaktív és szabad fizikai memória
mennyiségét kell számításba
vennünk.Így kérhetjük le a pillanatnyilag
használatban levõ vnode-ok
mennyiségét:&prompt.root; sysctl vfs.numvnodes
vfs.numvnodes: 91349Így tudhatjuk meg a vnode-ok maximális
számát:&prompt.root; sysctl kern.maxvnodes
kern.maxvnodes: 100000Ha a vnode-ok aktuális kihasználtsága
megközelíti a csúcsértéket,
nagyjából ezerrel javasolt megnövelni a
kern.maxvnodes
értékét. Ezután figyeljük
továbbra is a vfs.numvnodes
változását. Ha ismét
felkúszik a maximális értékre,
akkor növeljük megint egy keveset a
kern.maxvnodes
értékén. Eközben a &man.top.1;
használatával figyelhetjük a memória
kihasználtságának
növekedését is, ilyenkor tehát
több memóriának kell használatban
lennie.A lapozóterület
bõvítéseNem számít mennyire tervezük jól
elõre, mindig elõfordulhat, hogy a rendszerünk
mégsem teljesíti a kitûzött
elvárásokat. Amennyiben további
lapozóterület hozzáadására lenne
szükségünk, azt igen könnyen
megtehetjük. Háromféleképpen
növelhetjük a lapozásra szánt
területet: hozzáadunk a rendszerhez egy újabb
merevlemezes meghajtót, NFS-en keresztül lapozunk,
vagy egy már meglevõ partíción hozunk
létre lapozóállományt.A lapozóterület
titkosításával, valamint annak
lehetõségeivel és okaival kapcsolatban lapozzuk
fel a kézikönyv át.Lapozás egy új merevlemezreA lapozóterület
bõvítésének legjobb módja
természetesen remek indok egy új merevlemez
beszerzésére is. Elvégre egy úgy
merevlemezt mindig fel tudunk ilyen célra
használni. Ha ezt a megoldást választjuk,
elõtte ajánlott (újra) elolvasni a
kézikönyv ában a
lapozóterületek elrendezésére
vonatkozó javaslatokat.Lapozás NFS-en keresztülNFS-en keresztül csak akkor lapozzunk, ha ezt helyi
lemezek segítségével nem tudjuk megtenni.
Az NFS alapú lapozás
hatékonyságát erõsen
behatárolja a rendelkezésre álló
hálózati sávszélesség
és további terheket ró az NFS
szerverünkre is.LapozóállományokLapozóállománynak egy adott
méretû állományt hozzunk létre.
Ebben a példában erre egy
/usr/swap0 nevû, 64 MB
méretû állományt fogunk
használni. Természetesen bármilyen
más nevet is választhatunk.Lapozóállomány
létrehozása &os;-benGyõzõdjünk meg róla, hogy a
rendszermagunk beállításai
között megtalálható a
memórialemez meghajtójának (&man.md.4;)
használata. Ez a GENERIC
rendszermag alapból tartalmazza.device md # Memória "lemezek"Hozzunk létre egy
lapozóállományt
(/usr/swap0):&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Állítsuk be rá a megfelelõ
engedélyeket
(/usr/swap0):&prompt.root; chmod 0600 /usr/swap0Adjuk meg a lapozóállományt az
/etc/rc.conf
állományban:swapfile="/usr/swap0" # Állítsuk be swapfile értékét, ha külsõ lapozóállományra van szükségünk.Indítsuk újra a
számítógépünket, vagy a
lapozóállomány azonnali
használtba vételéhez írjuk
be:&prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0HitenPandyaÍrta: TomRhodesEnergia- és
erõforrásgazdálkodásFontos a hardveres erõforrásaink hatékony
kihasználása. Az ACPI
megjelenése elõtt az operációs
rendszerek csak nehézkesen és rugalmatlanul
tudták kezelni a rendszer
energiafelhasználási és
hõszabályzási lehetõségeit. A
hardvert a BIOS kezelte, ezért a
felhasználó kevesebbet tudott látni és
irányítani az energiagazdálkodási
beállításokból. Az Fejlett
energiagazdálkodás (Advanced Power Management,
APM) ehhez nyújtott egy erõsen
korlátozott felületet. Napjaink
operációs rendszereiben az energia- és
erõforráskezelés az egyik legfontosabb
alkotóelem. Például, ha az
operációs rendszerrel folyamatosan figyelni akarjuk
a rendszer hõmérsékletének
váratlan növekedését (és
errõl figyelmeztetést kérni).A &os; kézikönyvének ezen
szakaszában az ACPI-rõl adunk egy
átfogó áttekintést, a
végén pedig összefoglaljuk a
témához tartozó irodalmat.Mi az ACPI?ACPIAPMA speciális energia- és
konfigurációs illesztõ felület (Advanced
Configuration and Power Interface, avagy
ACPI) gyártók egy csoportja
által létrehozott szabvány, amely hardveres
erõforrások és az
energiagazdálkodás egységes
felületét rögzíti (innen a neve).
Döntõ szerepet játszik a
Beállítások és az
energiagazdálkodás operációs
rendszerek áltai
vezérlésében, vagyis
segítségével az operációs
rendszer még nagyobb mértékben és
rugalmassággal tudja irányítani ezeket a
lehetõségeket. A modern operációs
rendszerek az ACPI
felbukkanásával kitolták a
jelenleg meglevõ Plug and Play felületek
korlátait. Az ACPI az
APM közvetlen
leszármazottja.A Fejlett energiagazdálkodás (APM)
hiányosságaiA Fejlett energiagazdálkodás
(APM) a rendszer által felhasznált
energiát annak elfoglaltsága alapján
vezérli. Az APM-et támogató BIOS-t a
(rendszert) gyártó állítja elõ
és az adott hardverplatformra jellemzõ. Az APM
operációs rendszerben levõ meghajtója
hozzáférést biztosít az
APM szoftveres felületéhez,
amivel lehetõség nyílik az energiaszintek
kezelésére. Az APM-et 2000 elõtt és
körül még mindig használták egyes
rendszerek gyártásánál.Az APM használata négy nagyobb gondot rejt
magában. Elõször is, az
energiagazdálkodást a
(gyártófüggõ) BIOS végzi el,
és az operációs rendszernek errõl
semmilyen ismerete nincsen. Ennek egyik példája
az, amikor a felhasználó az APM-et ismerõ
BIOS-ban beállítja a merevlemezek automatikus
kikapcsolásának idejét, majd amikor ez
letelik, a BIOS az operációs rendszer tudta
nélkül egyszerûen leállítja a
lemezt. Másodszor: az APM
mûködését a BIOS-ban programozták
le, és teljesen az operációs rendszer
hatáskörén túl tevékenykedik.
Ez azt jelenti, hogy a felhasználó csak úgy
tudjuk korrigálni az APM-es BIOS-ok
problémáit, ha frissíti az alaplapi ROM-ot.
Ez viszont egy nagyon kockázatos folyamat, aminek
hibája révén a rendszerünk
helyrehozhatatlan állapotba kerül. Harmadszor: az
APM alapvetõen egy gyártófüggõ
megoldás, ami azt vonja maga után, hogy sok az
átfedés (ugyanazt valósítják
meg több módon), és ha az egyik
gyártó BIOS-ában hibát
találnak, akkor a másikéban az nem
feltétlenül javítható.
Végül, de nem utolsó sorban, az APM
alapú BIOS-okban nincs elég hely az igazán
kifinomult energiagazdálkodási sémák
vagy bármi más kialakítására,
amivel a felhasználók képesek
lennének az igényeikhez alakítani a
számítógépet.A Plug and Play BIOS (PNPBIOS) sok
szempontból megbízhatatlannak bizonyult. A
PNPBIOS ráadásul egy 16 bites megoldás,
ezért az operációs rendszereknek 16 bites
emulációt kell használniuk a PNPBIOS
eszközeinek
eléréséhez.A &os; APM meghajtójának
dokumentációját az &man.apm.4; man oldalon
találjuk.Az ACPI
beállításaAz acpi.ko meghajtó
alapértelmezés szerint a &man.loader.8;
segítségével töltõdik be,
és ne is fordítsuk bele a
rendszermagba. Ezt azzal tudnánk magyarázni, hogy
modulokkal könnyebb dolgozni, például ha a
rendszermag újrafordítása
nélkül egy másik acpi.ko
modult akarunk használni. Ezzel a
lényegében tesztelés is
egyszerûbbé válik. Másik
magyarázta, hogy a rendszer ACPI
támogatása nem minden esetben mûködik
rendesen. Ha a rendszer indítása során
valamilyen problémát tapasztalunk, akkor
próbálkozzunk meg az ACPI
kikapcsolásával. Ezt a meghajtót nem lehet
és nem is szabad kidobni a
memóriából, mivel a hardverrel a
rendszerbuszon keresztül tartja a kapcsolatot. Az
ACPI a
hint.acpi.0.disabled="1" sor
megadásával kapcsolható a
/boot/loader.conf állományban
vagy a &man.loader.8; parancssorában.Az ACPI és
APM egyszerre nem
használatóak. Közülük a
késõbb betöltött magától
kilép, ha észreveszi, hogy a másikuk
már mûködésbe lépett.Az ACPI és az &man.acpiconf.8;
használatával a rendszerünk
készenléti módba helyezhetõ az
valamint az 1-5
paraméterek megadásával. Ezek
közül is csak a legtöbb felhasználó
számára az 1 vagy a
3 (állapot mentése a fizikai
memóriába) érdekes. Az
5 opció egy szoftveres
kikapcsolást eredményez, ehhez
hasonlóan:&prompt.root; halt -pA további opciók a &man.sysctl.8; man
oldaláról érhetõek el. Ezen
kívül még olvassuk el az &man.acpi.4;
és &man.acpiconf.8; man oldalakat is.NateLawsonÍrta: PeterSchultzSegítségére volt még:
TomRhodesA &os; ACPI
támogatásának használata és
nyomonkövetéseACPIproblémákAz ACPI az eszközök
felderítésének,
energiagazdálkodásának és a
korábban a BIOS által kezelt
hardverek szabványosított
hozzáférésének alapjaiban új
módja. Az ACPI folyamatosan
fejlõdik, de útját az egyes alaplapok
ACPI Machine Language
(AML) bytekód
implementációjában megjelenõ
hibák, a &os; rendszermag alrendszereinek
befejezetlensége és az &intel;
ACPI-CA értelmezõjében
levõ hibák lassítják.Ez a leírás azzal a szándékkal
készült, hogy segítsünk a
felhasználóknak megtalálni az általuk
tapasztalt problémák gyökerét és
ezzel kisegíteni az ACPI
fejlesztõket a nyomonkövetésében és
kijavításában. Köszönjük,
hogy ezt elolvassuk és segédkezünk a
rendszerünkkel kapcsolatban felmerült
problémák orvosolásában!A nyomkövetési információk
beküldéseMielõtt beküldenénk bármilyen
problémát is, gondoskodjunk róla, hogy a
BIOS-unk, és ha lehetséges,
akkor a beágyazott vezérlõk, legfrissebb
verzióját használjuk.Megkérnénk azokat, akik hibát akarnak
bejelenteni, hogy a következõ
információkat küldjék a
freebsd-acpi@FreeBSD.org címre:A hibás mûködés
leírása, beleértve a rendszer
típusát és
gyártmányát, illetve minden olyat,
aminek köze lehet a hibához. Ha eddig
még nem tapasztaltuk, igyezzünk minél
pontosabban leírni a hiba
keletkezésének folyamatát.A boot -v paranccsal indított
rendszer &man.dmesg.8; kimenetét, beleértve a
vizsgálni kívánt hiba által
okoztt összes hibaüzenetet.A boot -v paranccsal és az
ACPI használata nélkül
indított rendszer &man.dmesg.8; kimenete abban az
esetben, ha ez segít megoldani a
problémát.A sysctl hw.acpi parancs kimenete.
Ezzel egyébként kitûnõen
kideríthetõ milyen lehetõségeket is
kínál fel a rendszerünk.Az általunk használt
ACPI
forrásnyelvének
(ACPI Source Language,
ASL) elérhetõsége az
interneten. Mivel ezek akár igen nagyok is lehetnek,
ezért a listára közvetlenül ne
küldjünk ASL kódokat!
Az ASL másolatát az
alábbi parancs kiadásával hozhatjuk
létre:&prompt.root; acpidump -dt > név-rendszer.asl(Adjuk meg a név
helyett a bejelentkezéshez használt
nevünket és a
rendszer helyett pedig a
gyártót/típust. Például:
njl-FooCo6000.asl)Habár a legtöbb fejlesztõ a &a.current;t
figyeli, a problémáink
leírását mindenképpen a
&a.acpi.name; listára küldjük, hogy biztosan
észrevegyék. Legyünk türelmesek, hiszen
emellett mindannyiunk dolgozik. Ha az általunk
felfedezett hiba nem teljesen egyértelmû, akkor a
fejlesztõk valószínûleg meg fognak
kérni arra, hogy a &man.send-pr.1;
használatával hozzunk róla létre egy
hivatalos hibajelentést. A hibajelentés
készítésekor lehetõleg a fentebb
megadott információkat ugyanúgy adjuk meg.
Ez segít a probléma szemmel
tartásában és
elhárításában. Az &a.acpi.name;
lista kihagyása nélkül közvetlenül
ne küldjünk hibajelentést, mivel a
hibabejelentõ rendszert elsõsorban
emlékeztetõnek használjuk, nem pedig a
hibák tényleges bejelentésére.
Gyakran elõfordul, hogy valaki korábban már
találkozott a problémánkkal.HáttérACPIAz ACPI minden olyan modern
számítógépben
megtalálható, mely megfelel az ia32 (x86), ia64
(Itanium) vagy amd64 (AMD) architektúrának. A
teljes szabvány rengeteg lehetõséget
biztosít, többek közt a processzor
teljesítményének kezelését,
az energiaszintek vezérlését,
hõzónákat, különféle
akkumulátor rendszereket, beágyazott
vezérlõk és a buszok
felsorolását. A legtöbb rendszer
általában nem a teljes szabványt
valósítja meg. Például egy asztali
rendszer általában csak a buszok
felsorolásával kapcsolatos részeket
tartalmazza, miközben egy laptop felajánlhatja a
hûtés és az akkumulátor
kezelését is. A laptopokban gyakorta
találunk készenléti üzemmódot a
maguk elbonyolított formájában.Egy ACPI-nak megfelelõ rendszert
számos összetevõ alkot. A
BIOS-ok és chipkészletek
gyártói a memóriában egy elõre
rögzített ponton elhelyeznek bizonyos
táblázatokat (például
FADT), amelyekkel megadják
például az APIC
összerendeléseit (ezt az SMP
rendszerek használják), a
konfigurációs regisztereket és az
egyszerûbb konfigurációs
értékeket. Itt ezenkívül még
bytekódok egy táblázata (amit
Differenciált rendszerleírtó
táblának, Differentiated System
Description Table, DSDT nevezünk) is
megtalálható, ahol az eszközök és
módszerek neveit szerepelnek faszerû
elrendezésben.Az ACPI-hoz tartozó
meghajtónak értelmeznie kell tudnia ezeket a
rögzített táblázatokat,
implementálnia egy bytekód-értelmezõt,
módosítania az eszközmeghajtókat
és a rendszermagot az ACPI
alrendszerbõl érkezõ információk
befogadásához. A Linuxszal és a NetBSD-vel
közösen a &os; kapott egy ilyen értelmezõt
az &intel;tõl (ACPI-CA). Az
ACPI-CA forráskódja a rendszer
forrásai között, a src/sys/dev/acpica
könyvtárban találhatóak. A
src/sys/dev/acpica/0sd
könyvtárban található források
pedig lehetõvé teszik, hogy az
ACPI-CA mûködhessen &os;-n.
Végezetül, az ACPI
eszközöket megvalósító
meghajtók a src/sys/dev/acpica
könyvtárban találhatóak.Gyakori problémákACPIproblémákAz ACPI megfelelõ
mûködéséhez minden
alkotórésznek helyesen kell mûködnie. A
most következendõkben elõfordulásuk
gyakorisága szerint felsorolunk néhány
ismert problémát, valamint a hozzájuk
tartozó javításokat vagy
elkerülésük módszerét.Gondok az egérrelEgyes esetekben felfüggesztett
állapotból visszatérve az egerünk
nem hajlandó mûködni. Ezt úgy lehet
elkerülni, ha /boot/loader.conf
állományba beírjuk a
hint.psm.0.flags="0x3000" sort. Ha ez nem
segít, akkor a fentieknek megfelelõen
küldjünk be egy hibajelentést.Felfüggesztés/FolytatásAz ACPI három
(STR) állapotban képes a
fizikai memória segítségével
készenléti módba váltani, ezek az
S1-S3, és egy
állapotban használja a lemezt
(STD), amelyet S4-nek
hívnak. Az S5 neve a
szoftveres kikapcsolás, ami egy olyan
állapotot takar, amikor a rendszerünk áram
alatt van, de még nem üzemel. Az
S4BIOS állapot a
BIOS segítségével a
lemezre menti a rendszert, az
S4OS állapotot
pedig teljes egészében az
operációs rendszer valósítja
meg.A rendszerünk által ismert
készenléti módokat a sysctl
hw.acpi paranccsal ellenõrizhetjük.
Íme mindez egy Thinkpad esetén:hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.s4bios: 0Ez azt jelenti, hogy az acpiconf -s
parancs kiadásával kipróbálhatjuk
az S3,
S4OS, és
S5 állapotokat. Ha az
értéke egy
(1), akkor az
S4BIOS
támogatása helyett az S4
OS állapotot kapjuk.A felfüggesztés és folytatás
kipróbálása során kezdjük az
S1 állapottal, már amennyiben
az támogatott a rendszerünkön. Ez az
állapot többnyire használható, mivel
nem igényel túlságosan sok
támogatást a meghajtó
részérõl. Eddig még senki sem
implementálta az S2
állapotot, de ha ezt is tudja a rendszerünk, akkor
az S1-hez hasonlót nyerünk
vele. A következõ próba az
S3 állapoté. Ez a
legmélyebb STR állapot,
és a hardver megfelelõ
újraélesztéséhez rengeteg
támogatás szükségeltetik a
meghajtó részérõl. Ha gondjaink
lennének a rendszerünk
felébresztésével, nyugodtan írjunk
egy levelet a &a.acpi.name; listára, ám a
probléma gyors megoldódásában ne
reménykedjünk, hiszen ehhez még
temérdek meghajtón és hardveren kell
tesztelni és kell dolgozni.A problémát nagy mértékben
segíti különválasztani, ha
igyekszünk minél több meghajtót
kivenni a rendszermagból. Ha így javul a
helyzet, akkor már könnyen le lehet
szûkíteni arra a meghajtóra a kört,
aminek betöltésével esetleg gondok
akadhatnak. Általában ilyenek a bináris
meghajtók, mint például az
nvidia.ko, az X11
megjelenítésért felelõs és az
USB eszközök meghajtói,
miközben az Ethernet eszközök remekül
szoktak mûködni. Ha különösebb gond
nélkül képesek vagyunk betölteni
és eltávolítani ezeket a
meghajtókat, akkor ezt a folyamatot
önállósítani is tudjuk úgy,
hogy az /etc/rc.suspend és
/etc/rc.resume szkriptekbe
beillesztjük az ehhez szükséges parancsokat.
Ezekben egyébként találunk is egy
megjegyzésbe rakott példát a
meghajtók betöltésérõl
és eltávolításáról.
Ha az ébresztés után elszemetelõdik
a képernyõ tartalma, akkor állítsuk
át a
változó értékét
nullára (0). Sokat segíthet
meg az is, ha a
értékét csökkentjük vagy
növeljük.Megpróbálhatjuk azt is, hogy
elindítunk egy frissebb Linux
disztribúciót ACPI
támogatással és ugyanazon a hardveren
kipróbáljuk az általa
felkínált felfüggesztési és
folytatási lehetõséget. Ha Linux alatt ez
megbízhatóan mûködik, akkor nagy a
valószínûsége, hogy ez &os; alatt az
egyik meghajtó hibájából
fakadóan nem használható. Így
fokozatosan le is tudjuk szûkíteni a pontosan
melyikkel lehet a gond, és ezzel pedig a
fejlesztõk munkáját segítjük.
Megjegyeznénk, hogy az ACPI-t
karbantartó fejlesztõk általában nem
foglalkoznak más meghajtókkal
(például hangkártya vagy
ATA stb.), ezért az adott
meghajtóval kapcsolatos hibáról javasolt
értesíteni a &a.current.name; listát
és a meghajtóért felelõs
fejlesztõt is. Ha van egy kis kedvünk és
idõnk, mi magunk is belebiggyeszthetünk a
meghajtóba néhány &man.printf.3;
függvényt annak kiderítésére,
pontosan hol is fagy le a folytatási
funkció.Végül megpróbálkozhatunk az
ACPI kikapcsolásával is,
és áttérhetünk helyette az
APM használatára. Ha az
APM-mel mûködnek a
készenléti állapotok, akkor
érdemes inkább azzal dolgozni,
különösen a régebbi (2000 elõtti)
hardverek esetében. A gyártóknak
eltartott egy ideig, amíg rendes
ACPI támogatást voltak
képesek adni, ezért a régebbi
hardvereknél inkább a
BIOS-nak akadnak gondjai az
ACPI-val.A rendszer lemerevedik (ideiglenesen vagy
teljesen)A legtöbb rendszer olyankor akad meg, amikor sok
megszakítás elveszik, vagy amikor éppen
sok megszakítás érkezik egyszerre. A
chipkészleteknek számos baja származik
abból, hogy a BIOS milyen
módon állítja be a rendszer
indítása elõtt a
megszakításokat, mennyire helyes az
APIC (MADT)
táblázata és hogyan vezérli a
Rendszervezérlõ
megszakítást (System Control
Interrupt, SCI).megszakítás-viharokA megszakítás-viharok a vmstat
-i parancs kimenetében szereplõ
elveszett megszakításokból
azonosíthatók be, ahol keressünk rá
az acpi0 sorra. Ha ez a
számláló másodpercenként
kettõnél többel növekszik, akkor a
megszakításaink viharba keveredtek. Ha a
rendszer látszólag lefagyott,
próbáljuk meg elõhívni a
DDB-t (konzolban a CTRLALTESC) és gépeljük be, hogy
show interrupts.APICkikapcsolásaA megszakítási problémákkal
kapcsolatban egyetlen reményünk az
APIC támogatás
kikapcsolása lehet a loader.conf
állományban a
hint.apic.0.disabled="1" sor
hozzáadásával.Végzetes hibákAz ACPI-vel kapcsolatos végzetes
hibák viszonylag ritkák, és
javításuk a legfontosabb. Ilyenkor az elsõ
teendõnk elkülöníteni a hiba
reprodukálásának egyes
lépéseit és (ha lehetséges)
lekérni a hívási láncot.
Kövessük az options DDB és
a soros vonali konzol
beállításához adott
tanácsokat (lásd ) vagy hozzunk létre egy
&man.dump.8; partíciót. A
DDB-ben a hívási
láncot a tr parancs
segítségével kérhetjük le.
Ha kézzel írjuk le láncot, akkor
legalább az alsó öt (5) és a
felsõ öt (5) sorát mindenképpen
jegyezzük fel!Ezután próbáljuk meg úgy
szûkíteni a probléma
lehetõségét, hogy az
ACPI használata nélkül
indítjuk a rendszert. Ha ezzel nincs semmi gond, akkor
a változó
értékének megfelelõ
beállításával egyenként meg
tudjuk figyelni az ACPI alrendszer egyes
részeit. Ehhez példákat az &man.acpi.4;
man oldalon találunk.Felfüggesztés vagy
leállítás után elindul a
rendszerElõször is próbáljuk meg a
hw.acpi.disable_on_poweroff
változó értékét
0-ra állítani a
&man.loader.conf.5; állományban. Ezzel
távoltartjuk az ACPI alrendszert a
rendszer leállítási
folyamatától. Egyes rendszereknek valamilyen
okból kifolyólag szükségük van
itt az 1 (az alapértelmezett)
értékre. Ez többnyire megoldja a
problémát, amikor a rendszer váratlanul
elindul a készenléti mód
aktiválásákor vagy
kikapcsoláskor.Egyéb problémákHa más gondjaink lennének az
ACPI-val (dokkoló
állomásunk van, egyes eszközöket nem
vesz észre stb.), akkor természetesen errõl
is küldjünk egy leírást a
levelezési listára. Azonban vegyük
figyelembe, hogy egyes problémák a
ACPI alrendszer eddig még nem
implementált, befejezetlen részeihez
kötõdnek, ezért azok megoldása
még várat magára. Kérünk
mindenkit, hogy legyen türelemmel és álljon
készen a kiküldött javítások
tesztelésére!ASL, acpidump
és IASLACPIASLA problémák leggyakoribb forrása, hogy
a BIOS-gyártók rossz (vagy
kifejezetten hibás!) bytekódokat adnak. Ez
általában a következõhöz
hasonló rendszerüzenetbõl derül ki:ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
(Node 0xc3f6d160), AE_NOT_FOUNDAz ilyen jellegû hibákat gyakran úgy
lehet orvosolni, ha a BIOS-unkat
frissítjük a legújabb verzióra. A
legtöbb ilyen üzenet teljesen ártalmatlan, de
ha vannak más problémáink is,
például az akkumulátor állapota nem
olvasható le, akkor elõször az
AML környékén
érdemes kutakodnunk. A bytekód, más
néven AML, az ASL
elnevezésû forrásnyelvbõl
származik. Az AML egy
DSDT néven ismert
táblázatban található meg. Az
ASL másolatát az
&man.acpidump.8; paranccsal készíthetjük el.
Paraméterként egyaránt adjuk meg a
(megmutatja a rögzített
táblák tartalmát) és
(visszafejti az AML
kódokat az ASL nyelvére)
kapcsolókat. A felírás pontos
formátumát a A
nyomkövetési információk
beküldése címû szakaszban
olvashatjuk.Elsõként próbáljuk meg
újrafordítani az így nyert
ASL programot és keressünk benne
hibákat. A figyelmeztetések
általában nyugodtan figyelmen kívül
hagyhatóak, azonban a hibák olyan
implementációs hibákra utalnak, amelyek
akadályozzák az ACPI helyes
mûködését. Az ASL
újrafordítását az alábbi
paranccsal tudjuk elvégezni:&prompt.root; iasl saját.aslAz ASL kijavításaACPIASLVégeredményben az a célunk, hogy az
ACPI megfelelõ
mûködéséhez senkinek se kelljen
hozzányúlnia semmihez. Azonban még mindig
szükség van
BIOS-gyártók által
elkövetett gyakori hibák
elkerülésének kifejlesztésére.
A µsoft; értelmezõje
(acpi.sys és
acpiec.sys) nem ellenõrzi
szigorúan a szabvány szerinti megfelelést,
ezért számos olyan
BIOS-gyártó, akik csak
&windows; alatt tesztelik az ACPI
implementációjukat, soha nem fogják
kijavítani a ASL kódjukban
ejtett hibáikat. Reménykedünk, hogy
folyamatosan sikerül felderíteni és
dokumentálni a µsoft; értelmezõje
által eltûrt szabványon kívüli
viselkedést és leutánozni &os; alatt is,
hogy így ne kelljen a felhasználóknak
kézzel a saját ASL
forrásaikat javítgatni. Az ebbõl
fakadó hibákat úgy tudjuk elkerülni
és segíteni a fejlesztõknek
azonosítani a hozzá társuló
viselkedést, hogy magunk javítjuk az
ASL-ben felfedezett hibákat. Ha ez
beválik, akkor küldjük el a régi
és új ASL közti
&man.diff.1;-et a fejlesztõknek, akik így majd az
ACPI-CA-ban ki tudnak dolgozni egy
megoldást a hibás viselkedésre, ezzel a
javításunk szükségtelenné
válik.ACPIhibaüzenetekMost pedig következzenek a legismertebb
hibaüzenetek, az okaik és
javításuk:Operációs rendszeri
függõségekNéhány AML úgy
gondolja, hogy a világ csak a
különbözõ &windows;
verziókból áll. A &os;-nek
megadható, hogy másik operációs
rendszernek adja ki magát, és ezzel talán
meg is szüntethetõ pár hiba. Ezt a
legegyszerûbb úgy tudjuk megtenni, ha a
/boot/loader.conf
állományhoz hozzáfûzzük a
hw.acpi.osname="Windows 2001" sort, vagy
itt egy olyan karakterláncot adunk meg, amit az
ASL forrásban láttunk.Hiányzó visszatérési
értékBizonyos módszerek a szabvány szerint
elvártaktól eltérõen nem adnak
vissza explicit módon értéket. Mivel az
ACPI-CA ezt nem kezeli le, ezért a
&os; részérõl tartalmaz egy olyan
módosítást, amivel implicit módon
is vissza lehet adni értéket. Ha biztosak
akarunk lenni a visszaadni kívánt
értékben, akkor helyezzünk el a
megfelelõ helyekre explicit Return
utasításokat. Az iasl a
paraméterrel
kényszeríthetõ az ilyen
ASL források
lefordítására.Az alapértelmezett AML
felülbírálásaMiután módosítottuk a
saját.asl
állományunkat, így tudjuk
lefordítani:&prompt.root; iasl saját.aslAz kapcsoló
megadásával
kikényszeríthetjük az
AML létrehozását
még abban az esetben is, amikor hibákat
tartalmaz. Ügyeljünk rá, hogy bizonyos
hibákat (például a hiányzó
visszatérési értékeket) a
fordító magától
kikerül.Az iasl alapértelmezett kimenete
a DSDT.aml állomány. A
/boot/loader.conf
átírásával így tudjuk ezzel
helyettesíteni a BIOS-unk
hibás változatát (ami még mindig
megtalálható a flash
memóriában):acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"Ehhez ne felejtsük el a saját
DSDT.aml állományunkat
bemásolni a /boot
könyvtárba.Nyomkövetési információk
kinyerése az ACPI-bõlACPIproblémákACPInyomkövetésAz ACPI meghajtója nagyon rugalmas
nyomkövetési lehetõségekkel rendelkezik.
Ennek révén ugyanúgy megadhatjuk a
nyomonkövetni kívánt alrendszert, mint ahogy
annak mélységét is. A nyomkövetni
kívánt alrendszereket
rétegekként adjuk meg, valamint
ezek ACPI-CA komponensekre
(ACPI_ALL_COMPONENTS) és ACPI
hardvertámogatásra (ACPI_ALL_DRIVERS) bomlanak le.
A nyomkövetéskor keletkezõ kimenet
részletességét a
szintként adjuk meg, ami az
ACPI_LV_ERROR-tól (csak a hibák)
ACPI_LV_VERBOSE-ig (minden) terjedhet. A szint
itt egy bitmaszk, ezért szóközzel
elválasztva egyszerre több
beállítás megadható. Ha
túlságosan sok üzenet érkezik a konzol
üzenetpufferébe, akkor szükségünk
lehet a soros konzol keresztüli nyomkövetésre
is. Az összes szint és réteg az &man.acpi.4;
man oldalon található meg.A nyomkövetés alapértelmezés
szerint nem engedélyezett. Az
engedélyezéséhez hozzá kell adnunk
az options ACPI_DEBUG sort a rendszermagunk
beállításait tartalmazó
állományhoz, amennyiben a rendszermagba
fordítjuk az ACPI
támogatást. Ha az
/etc/make.conf állományba
írjuk bele az ACPI_DEBUG=1 sort, akkor
azt globális engedélyezhetjük. Ha
modulként használjuk, elegendõ csak a
következõ módon újrafordítani az
acpi.ko modult:&prompt.root; cd /sys/modules/acpi/acpi
&& make clean &&
make ACPI_DEBUG=1Telepítsük fel a acpi.ko
modult a /boot/kernel
könyvtárba és állítsuk be a
számunkra megfelelõ szintet és réteget
a loader.conf állományban.
Az alábbi példában
engedélyezzük az összes
ACPI-CA komponens és az összes
ACPI hardvermeghajtó (processzor,
LID stb.) nyomkövetését.
Csak a hibaüzeneteket írja ki
részletesen.debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
debug.acpi.level="ACPI_LV_ERROR"Ha az általunk keresett információt egy
adott esemény váltja ki (például egy
felfüggesztés vagy egy ébresztés),
akkor nem is fontos átírnunk hozzá a
loader.conf állományt, hanem
helyette a rendszer indítása után
használjuk a sysctl parancsot a
réteg és a szint megadására akkor,
amikor a rendszert felkészítjük az
eseményre. A sysctl
változókat ugyanúgy nevezték el,
mint a loader.conf
állományban található
beállításokat.HivatkozásokAz ACPI-rõl az alábbi
helyeken találunk részletesebb
információkat:A &a.acpi;Az ACPI levelezési lista
archívuma: A korábbi ACPI
levelezési lista archívuma: Az ACPI 2.0
specifikációja: A &os; következõ man oldalai: &man.acpi.4;,
&man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;,
&man.acpidb.8;
A DSDT nyomkövetése
(angolul). (Példának a Compaqot hozza
fel, de általánosságban véve
hasznos.)
diff --git a/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml
index 13d63a7b4e..c3a26d5dfe 100644
--- a/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml
@@ -1,4502 +1,4500 @@
+ Original Revision: 1.82 -->
Joseph J.BarbishÍrta: BradDavisSGML formátumúra alakította
és aktualizálta: TûzfalaktûzfalakbiztonságtûzfalakBevezetésA tûzfalakkal a rendszerünkön
keresztülfolyó bejövõ és kimenõ
forgalmat tudjuk szûrni. A tûzfalak egy vagy több
szabályrendszer alapján
vizsgálják az éppen érkezõ vagy
távozó hálózati csomagokat, és
vagy továbbengedik ezeket vagy
megállítják. A tûzfalak
szabályai a csomagok egy vagy több
jellemzõjét veszik szemügyre, amelyek lehetnek
például a protokoll típusa, a forrás
vagy cél hálózati címe, esetleg a
forrás- vagy a célport.A tûzfalak jelentõs mértékben
képesek gyarapítani egy gép vagy egy
hálózat védelmét. Leginkább a
következõkre tudjuk felhasználni:A belsõ hálózatunkban futó
alkalmazások, szolgáltatások,
gépek megvédésére és
elszigetelésére az internetrõl
érkezõ nem kívánt forgalom
ellenA belsõ hálózatban levõ
gépek elérését tudjuk
korlátozni vagy letiltani az interneten
elérhetõ szolgáltatások
feléA hálózati címfordítás
(Network Address Translation, NAT)
beállításához, ahol a belsõ
hálózatunk privát
IP-címeket használnak
és egy közös kapcsolaton keresztül
érik el az internetet (egyetlen
IP-címmel, vagy pedig automatikusan
kiosztott publikus címekkel).A fejezet elolvasása során
megismerjük:hogyan adjuk meg helyesen a csomagok
szûrését leíró
szabályokat;a &os;-be épített tûzfalak közti
különbségeket;hogyan állítsuk be és
használjuk az OpenBSD PF
tûzfalát;hogyan állítsuk be és
használjuk az IPFILTER
tûzfalat;hogyan állítsuk be és
használjuk az IPFW
tûzfalat.A fejezet elolvasása elõtt ajánlott:a &os;-hez és az internethez kötõdõ
alapvetõ fogalmak ismerete.Röviden a tûzfalakróltûzfalakszabályrendszereiA tûzfalak szabályrendszereit alapvetõen
kétféleképpen tudjuk
összeállítani: inkluzív,
vagyis megengedõ, illetve exkluzív
vagyis kizáró módon. Az exkluzív
tûzfalak minden forgalmat átengednek, amirõl nem
rendelkeznek a tûzfal szabályai. Az inkluzív
tûzfalak ennek pontosan az ellenkezõjét teszik.
Csak azt a forgalmat engedik át, amirõl van
szabály és minden mást blokkolnak.Az inkluzív tûzfalak általában
biztonságosabbak az exkluzív
társaiknál, mivel esetükben jelentõs
mértékben visszaszorul a nem kívánatos
átfolyó forgalom.Ez a típusú védelem még
tovább fokozható az állapottartó
tûzfalak (stateful firewall)
használatával. Ilyenkor a tûzfal szemmel
tartja a rajta keresztül megnyitott kapcsolatokat, és
vagy csak a már meglevõ kapcsolathoz tartozó
forgalmat engedi át, vagy nyit egy újat. Az
állapottartó tûzfalak hátránya,
hogy a Denial of Service (DoS)
típusú támadásokkal szemben sokkal
sérülékenyebbek olyan helyzetekben, amikor az
új kapcsolatok nagyon gyorsan jönnek létre. A
legtöbb tûzfal esetében azonban tudjuk
vegyíteni az állapottartó és nem
állapottartó viselkedést, és ezzel egy
ideális beállítást
kialakítani.TûzfalakA &os; alaprendszerébe három
különbözõ tûzfalat
építettek be, melyek a következõk: az
IPFILTER (másik nevén
IPF), az IPFIREWALL
(más néven IPFW) és az
OpenBSD csomagszûrõje (Packet
Filter, azaz PF). A forgalom
szabályozására (vagyis alapvetõen a
sávszélesség
kihasználtságának
vezérlésére) a &os; két
beépített csomagot tartalmaz: ez az &man.altq.4;
és a &man.dummynet.4;. Általában a Dummynet
az IPFW, míg az ALTQ
a PF partnere. Az IPFILTER
esetében maga az IPFILTER végzi a
címfordítást és a szûrést,
a sávszélességet pedig az
IPFW a &man.dummynet.4;
vagy a PF az
ALTQ segítségével. Az
IPFW és a PF
szabályokkal rendelkezik a rendszerünkbe
érkezõ vagy onnan távozó
csomagokról, habár megoldásaik teljesen
máshogy mûködnek és a szabályok
megadási módja is eltér.A &os; azért tartalmaz egyszerre ennyiféle
tûzfalat, mert az emberek elvárásai és
igényei eltérnek. Egyikük sem tekinthetõ
a legjobbnak.A szerzõ egyébként az IPFILTER
megoldását részesíti elõnyben,
mivel egy hálózati címfordítást
alkalmazó környezetben sokkal könnyebb vele
megfogalmazni az állapottartó szabályokat,
valamint tartalmaz egy beépített FTP proxyt is,
amivel így a kimenõ FTP kapcsolatok
beállítása még tovább
egyszerûsödik.Mivel az összes tûzfal a csomagok
fejlécének bizonyos mezõinek alapján
dolgozik, ezért a tûzfal
szabályrendszerét megalkotó egyénnek
teljesen tisztában kell lennie a
TCP/IP
mûködésével, továbbá azzal,
hogy ezekben a mezõkben milyen értékek
szerepelhetnek és ezeket hogyan használják
egy átlagos kapcsolat alatt. Ebben a témában
a
címen találhatunk egy remek ismertetõt
(angolul).Az OpenBSD csomagszûrõje (PF) és az
ALTQtûzfalakPF2003 júliusában az OpenBSD PF
néven ismert csomagszûrõjét
átírták &os;-re és
elérhetõvé tették a &os;
Portgyûjteményének részeként. A
PF programot beépítetten
tartalmazó elsõ kiadás pedig 2004
novemberében a &os; 5.3 volt. A PF
egy teljes, mindentudó tûzfal, amely támogatja
az ún. ALTQ (Alternate Queuing, vagyis
a váltóbesorolás)
megoldást. Az ALTQ lehetõvé
teszi a sávszélesség
korlátozását a szolgáltatás
minõsége (Quality of Service, QoS)
alapján, aminek köszönhetõen a
különbözõ szolgáltatások a
szûrési szabályok mentén
garantált sávszélességhez juthatnak.
Az OpenBSD Projekt kiváló munkát végez
a PF felhasználói útmutatójának
karbantartásával, amely így most nem lesz
része a kézikönyvnek, hiszen ez csak az
erõforrások kétszerezése lenne.A
címen olvashatunk többet arról (angolul), hogy a
PF-et hogyan használjunk &os;-n.A PF engedélyezéseA PF a &os; 5.3 verziója utáni
kiadásokban az alaprendszer része, amelyet a
rendszer mûködése közben egy
külön modul betöltésével
aktiválhatunk. Ha az rc.conf
állományban megadjuk a
pf_enable="YES" sort, akkor a rendszer
magától be is tölti a PF-hez tartozó
rendszermag modult. Ez a betölthetõ modul
egyébként még a &man.pflog.4;
felületen keresztüli naplózást is
engedélyezi.A modul feltételezi az options
INET és a device bpf sorok
jelenlétét. Hacsak nem adtuk meg
&os; 6.0-RELEASE elõtti verziókban a
NOINET6, illetve az utána
következõ verziókban a
NO_INET6 beállítást
(például a &man.make.conf.5;
állományban) a rendszer
fordítására vonatkozóan, akkor az
options INET6
beállításra is szükség
lesz.Ahogy betöltõdött a modul, vagy ha már
eleve a rendszermagba építettük a PF
támogatását, a
pf használatát a
pfctl paranccsal tudjuk engedélyezni
vagy letiltani.Ebben a példában a
pf
engedélyezését láthatjuk:&prompt.root; pfctl -eA pfctl parancs
segítségével könnyedén lehet
irányítani a pf
mûködését. A
használatáról többet úgy
tudhatunk meg, ha elolvassuk a &man.pfctl.8; man oldalt.A rendszermag beállításaia rendszermag
beállításaidevice pfa rendszermag
beállításaidevice pfloga rendszermag
beállításaidevice pfsyncEgyáltalán nem fontos a PF
támogatását beépíteni a
rendszermagba. Az itt szereplõ információk
csupán kiegészítésként
szerepelnek. Ha a PF használatát beletesszük
a rendszermagba, akkor a modulra már nincs
szükségünk.A rendszermag forrásai között
található
/usr/src/sys/conf/NOTES
állományban a PF
beállításaira vonatkozó
utasítások így foglalhatóak
össze:device pf
device pflog
device pfsyncA device pf engedélyezi a
csomagszûrõ tûzfalat.A device pflog megadásával
keletkezik egy &man.pflog.4; pszeudo hálózati
eszköz, amellyel egy &man.bpf.4; eszközre
érkezõ forgalmat tudunk naplózni.
Ezután a &man.pflogd.8; démon
használható tõle származó
naplózott adatok
rögzítésére.A device pfsync engedélyezi a
&man.pfsync.4; pszeudo hálózati eszköz
létrejöttét, amely az ún.
állapotváltások
megfigyelésére alkalmas. Mivel ez nem
része a betölthetõ modulnak, ezért egy
saját rendszermagot kell készíteni a
használatához.Ezek a beállítások csak akkor
lépnek érvénybe, ha fordítunk
velük egy saját rendszermagot és
telepítjük azt.Az rc.conf állományban
elérhetõ beállításokAz /etc/rc.conf
állományba a következõket kell
betennünk ahhoz, hogy a PF a rendszer
indítása során
aktivizálódjon:pf_enable="YES" # a PF engedélyezése (a modul betöltése, ha kell)
pf_rules="/etc/pf.conf" # a pf szabályait tartalmazó állomány
pf_flags="" # a pfctl indításához szükséges további paraméterek
pflog_enable="YES" # a pflogd(8) elindítása
pflog_logfile="/var/log/pflog" # hol tartsa a pflogd az naplóit
pflog_flags="" # a pflogd indításához szükséges paraméterekHa a tûzfalunk mögött egy helyi
hálózat is meghúzódik, akkor az ott
levõ gépek számára valamilyen
módon tudnunk kell továbbítani a csomagokat
vagy címfordítást kell végezni,
így ez a beállítás is
mindenképpen kelleni fog:gateway_enable="YES" # az átjáró funkciók engedélyezéseAz ALTQ
engedélyezéseAz ALTQ kizárólag csak
úgy érhetõ el, ha belefordítjuk a &os;
rendszermagjába. Az ALTQ nem minden
hálózati kártya részérõl
támogatott. Az &man.altq.4; man oldalán
megtalálhatjuk azokat a meghajtókat, amelyek a
&os; aktuális kiadásában
támogatottak. A következõ
beállítások az ALTQ
további lehetõségeit igyekeznek
engedélyezni.options ALTQ
options ALTQ_CBQ # osztályozás alapú besorolás (Class Bases Queuing, CBQ)
options ALTQ_RED # véletlen korai észlelés (Random Early Detection, RED)
options ALTQ_RIO # RED befele/kifele
options ALTQ_HFSC # hiearchikus csomagütemezõ (Hierarchical Packet Scheduler, HFSC)
options ALTQ_PRIQ # prioritásos besorolás (Priority Queuing, PRIQ)
options ALTQ_NOPCC # az SMP esetén kellAz options ALTQ az
ALTQ rendszert engedélyezi.Az options ALTQ_CBQ engedélyezi a
osztályozás alapú besorolást (Class
Based Queuing, CBQ). A
CBQ használatával a
kapcsolatunkhoz tartozó
sávszélességet
különbözõ osztályokra vagy sorokra
tudjuk bontani és a szûrési
szabályoknak megfelelõen osztályozni
segítségükkel a forgalmat.Az options ALTQ_RED a véletlen
korai észlelés (Random Early Detection,
RED) használatát
engedélyezi. A RED a
hálózati forgalomban keletkezõ
torlódások elkerülésére
alkalmas. A RED ezt a
problémát úgy oldja meg, hogy méri a
sorok hosszát és összeveti a
hozzátartozó minimális és
maximális küszöbértékekkel. Ha a
sor hossza meghaladja a számára elõírt
maximális értéket, akkor az új
csomagokat eldobja. Nevéhez hûen a
RED az eldobásra ítélt
csomagokat véletlenszerûen választja
ki.Az options ALTQ_RIO engedélyezi a
RED használatát mind a
két irányba, tehát be- és
kifelé.Az options ALTQ_HFSC a pártatlan
hierachikus szolgáltatási görbe alapú
csomagütemezõt (Hierarchical Fair Service Curve Packet
Scheduler, HFSC) engedélyezi. Vele
kapcsolatban a
címen találhatunk bõvebben
olvasnivalót (angolul).Az options ALTQ_PRIQ a prioritásos
besorolást (Priority Queuing, PRIQ)
teszi elérhetõvé. A PRIQ
mindig elsõként a nagyobb értékû
sorban levõ forgalmat továbbítja.Az options ALTQ_NOPCC az
ALTQ SMP, vagyis
többprocesszoros támogatását adja meg.
Ilyen típusú rendszerekben ez
kötelezõ.A szûrési szabályok
megfogalmazásaA csomagszûrõ a &man.pf.conf.5;
állományból olvassa be a szabályokat
és a benne szereplõ szabályok vagy
definíciók alapján módosítja,
eldobja vagy átengedi a csomagokat. A &os;
telepítésében alapértelmezés
szerint az /etc/pf.conf
állomány látja el ennek szerepét,
amely számos hasznos példát és
magyarázatot tartalmaz.Noha a &os; saját /etc/pf.conf
állománnyal rendelkezik, a
felépítése mégis
tökéletesen megegyezik az OpenBSD-ben
használatossal. A pf
tûzfal beállításával az OpenBSD
csapat által írt nagyszerû írás
foglalkozik, amely a címrõl
érhetõ el (angolul).A pf felhasználói
útmutatóját olvasgatva azonban soha nem
szabad elfelejtenünk, hogy &os; egyes változatai a
pf különbözõ
- verzióit tartalmazzák. A &os; 5.X
- változataiban az OpenBSD 3.5
- pf tûzfalát, míg
- a &os; 6.X változataiban az OpenBSD 3.7
- szerinti verzióját találjuk.
+ verzióit tartalmazzák. A &os; 6.X
+ változataiban az OpenBSD 3.7 szerinti
+ verzióját találjuk.
A &a.pf; kitûnõ hely a
pf
beállításával és
mûködtetésével kapcsolatos
kérdések feltevésére. Viszont
mielõtt itt kérdeznénk, ne felejtsük el
átnézni a levelezési lista
archívumait sem.Az IPFILTER (IPF) tûzfaltûzfalakIPFILTEREz a szakasz fejlesztés alatt áll. Ennek
megfelelõen a tartalma nem minden esetben pontos.Az IPFILTER szerzõje Darren Reed. Az IPFILTER nem
kötõdik egyik rendszerhez sem: ez egy olyan nyílt
forráskódú alkalmazás, amelyet
átírtak &os;, NetBSD, OpenBSD, &sunos;, HP/UX
és &solaris; operációs rendszerekre. Az
IPFILTER karbantartása és támogatása
pillanatnyilag is aktív, folyamatosan jelennek meg
újabb változatai.Az IPFILTER egy rendszermag oldalán
mûködõ tûzfalazási és egy
címfordítási mechanizmusra alapszik, amelyet
felhasználói programokkal tudunk felügyelni
és vezérelni. A tûzfal szabályai az
&man.ipf.8; segédprogrammal
állíthatóak be vagy
törölhetõek. A hálózati
címfordításra vonatkozó
szabályokat az &man.ipnat.1; segédprogrammal
állíthatjuk be vagy törölhetjük. Az
&man.ipfstat.8; segédprogram képes futás
közben statisztikákat készíteni az
IPFILTER rendszermagban elhelyezkedõ részeinek
viselkedésérõl. Az &man.ipmon.8; program pedig
az IPFILTER cselekvéseit képes a
rendszernaplókba feljegyezni.Az IPF eredetileg olyan szabályfeldolgozási
módszer szerint készült, amelyben az
utolsó egyezõ szabály nyer és
csak állapotnélküli szabályokat ismert.
Az idõ múlásával az IPF
részévé vált a quick
opció és a keep state opción
keresztül az állapottartás is, melyek
drámai mértékben
korszerûsítették a szabályok
feldolgozásának elvét. Az IPF hivatalos
dokumentációja tartalmazza a régi
szabályok létrehozását és azok
feldolgozásának leírását. A
korszerûsített funkciók csak
kiegészítésképpen jelennek meg,
és az általuk felkínált
elõnyök megértése egy sokkal magasabb
szintû és biztonságosabb tûzfal
megépítését teszik
lehetõvé.A szakaszban szereplõ utasításokban olyan
szabályok szerepelnek, amelyek kihasználják a
quick és keep state
opciókat. Ezek az inkluzív
tûzfalszabályok létrehozásának
alapjai.Az inkluzív tûzfalak csak olyan csomagokat
engednek keresztül, amelyek megfelelnek a
szabályoknak. Ezen módon képesek vagyunk
megmondani, hogy a tûzfal mögül milyen
szolgáltatások érhetõek el az interneten
és segítségével azt is megadhatjuk,
hogy az internetrõl a belsõ hálózatunkon
milyen szolgáltatásokat érhetnek el. A
tûzfal alapból minden mást visszautasít
és naplóz. Az inkluzív tûzfalak sokkal,
de sokkal megbízhatóbbak az exkluzív
tûzfalaknál, ezért itt most csak ilyenekkel
foglalkozunk.A régi típusú szabályokról
a
és
címeken olvashatunk (angolul).Az IPF gyakran ismételt kérdései a címen
érhetõek el (angolul).A nyílt forrású IPFILTER
levelezési lista kereshetõ archívumait a
címen találjuk (angolul).Az IPF engedélyezéseIPFILTERengedélyezésAz IPF megtalálható a &os;
alaptelepítésében mint menet közben
külön betölthetõ modul. Ha az
rc.conf állományba
beírjuk a ipfilter_enable="YES" sort,
akkor ez a modul dinamikusan betöltõdik. A
betölthetõ modul alapból naplóz
és a default pass all
beállítást tartalmazza. Ha helyette a
block all szabályt akarjuk
használni, akkor emiatt még nem kell
feltétlenül újrafordítanunk a &os;
rendszermagját, elég ha egyszerûen csak a
szabályrendszerünk végére
beszúrjuk.A rendszermag beállításaia rendszermag
beállításaiIPFILTERa rendszermag
beállításaiIPFILTER_LOGa rendszermag
beállításaiIPFILTER_DEFAULT_BLOCKIPFILTERa rendszermag
beállításaiAz IPF használatához nem kötelezõ a
következõ beállításokkal
újrafordítani a &os; rendszermagját, itt
csupán
háttérinformációként
szerepel. Amikor az IPF a rendszermagba kerül, a
betölhetõ modulra nem lesz szükség.Az IPF a rendszermag forrásai között
található
/usr/src/sys/conf/NOTES
állományban megadott
beállításai a következõ
módon foglalhatóak össze:options IPFILTER
options IPFILTER_LOG
options IPFILTER_DEFAULT_BLOCKAz options IPFILTER engedélyezi az
IPFILTER tûzfal
támogatását.Az options IPFILTER_LOG
hatására az IPF az ipl
csomagnaplózó pszeudo eszközre jegyzi fel a
forgalmat — minden olyan szabály esetén,
ahol megjelenik a log kulcsszó.Az options IPFILTER_DEFAULT_BLOCK
megváltoztatja az alapértelmezett
viselkedést, tehát minden olyan csomag, amely nem
illeszkedik a tûzfal valamelyik pass
típusú (átengedõ)
szabályára, blokkolásra kerül.Ezek a beállítások csak azt
követõen érvényesülnek, ha
fordítottunk és telepítettünk
velük egy új rendszermagot.Az rc.conf állomány
beállításaiAz /etc/rc.conf
állományban a következõ
utasításokra lesz szükségünk az
IPF mûködésbe hozására a rendszer
indítása során:ipfilter_enable="YES" # az ipf tûzfal indítása
ipfilter_rules="/etc/ipf.rules" # betölti a szabályokat tartalmazó szöveges állományt
ipmon_enable="YES" # elindítja az IP monitor naplózását
ipmon_flags="-Ds" # D = indítás démonként
# s = naplózás a syslog használatával
# v = a tcp ablak, ack, seq csomagok naplózása
# n = az IP-címek és portok feloldásaHa olyan helyi hálózat áll meg a
tûzfal mögött, amely egy fenntartott
privát IP-címtartományt használ,
akkor még a következõ
utasításokra is szükségünk lesz a
címfordítás
bekapcsolásához:gateway_enable="YES" # a helyi hálózat átjárója
ipnat_enable="YES" # az ipnat funkció elindítása
ipnat_rules="/etc/ipnat.rules" # az ipnat mûködéséhez szükséges definíciókIPFipfAz ipf parancs használható
a szabályokat tartalmazó állomány
betöltésére. Általában egy
állományba írjuk össze a tûzfal
szabályait és ezzel a paranccsal
cseréljük le egyszerre a tûzfalban levõ
jelenlegi szabályokat:&prompt.root; ipf -Fa -f /etc/ipf.rulesAz az összes belsõ
szabály törlését jelenti.Az jelzi, hogy egy
állományból kell beolvasni a
betöltendõ szabályokat.Ezzel mintegy lehetõségünk van
változtatni a korábban
összeállított szabályainkon, futtatni
a fenti IPF parancsot és ezen keresztül úgy
frissíteni a szabályok friss
másolatával a már mûködõ
tûzfalat, hogy nem is kell újraindítanunk a
rendszert. Ez a módszer igen kényelmes az
új szabályok
kipróbálásához, mivel
bármikor tetszõlegesen
végrehajtható.Az &man.ipf.8; man oldala tartalmazza a parancsnak
megadható további
beállításokat.Az &man.ipf.8; parancs a szabályokat
tároló állományt egy
szabványos szöveges állománynak
tekinti, semmilyen szimbolikus helyettesítést
alkalmazó szkriptet nem fogad el.Lehetõségünk van azonban olyan IPF
szabályokat készíteni, amelyek
kiaknázzák a szkriptek szimbolikus
helyettesítésének lehetõségeit.
Errõl bõvebben lásd .Az IPFSTATipfstatIPFILTERstatisztikaAz &man.ipfstat.8; alapértelmezés szerint a
arra használatos, hogy le tudjuk kérdezni
és megjeleníteni a tûzfalhoz tartozó
számlálók értékeit, amelyek a
legutóbbi indítás vagy az ipf
-Z parancs által kiadott
lenullázásuk óta a bejövõ vagy
kimenõ forgalomból a megadott szabályoknak
megfelelõ csomagok alapján gyûjtenek össze
statisztikákat.A parancs mûködésének
részleteit az &man.ipfstat.8; man oldalon
olvashatjuk.Az &man.ipfstat.8; meghívása alapból
így néz ki:input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0
output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0
input packets logged: blocked 99286 passed 0
output packets logged: blocked 0 passed 0
packets logged: input 0 output 0
log failures: input 3898 output 0
fragment state(in): kept 0 lost 0
fragment state(out): kept 0 lost 0
packet state(in): kept 169364 lost 0
packet state(out): kept 431395 lost 0
ICMP replies: 0 TCP RSTs sent: 0
Result cache hits(in): 1215208 (out): 1098963
IN Pullups succeeded: 2 failed: 0
OUT Pullups succeeded: 0 failed: 0
Fastroute successes: 0 failures: 0
TCP cksum fails(in): 0 (out): 0
Packet log flags set: (0)Az mint bejövõ (inbound), vagy
az mint kimenõ (outbound) forgalomra
vonatkozó paraméterek megadásával a
rendszermagban az adott oldalon jelenleg telepített
és alkalmazott szabályokat kérhetjük
le és jeleníthetjük meg.Az ipfstat -in parancs így a
bejövõ forgalomra vonatkozó belsõ
szabályokat mutatja a szabályok
számával.Az ipfstat -on parancs a kimenõ
forgalmat érintõ belsõ szabályokat
mutatja a szabályok számával.Az eredmény körülbelül ilyen
lesz:@1 pass out on xl0 from any to any
@2 block out on dc0 from any to any
@3 pass out quick on dc0 proto tcp/udp from any to any keep stateAz ipfstat -ih a bejövõ
forgalomhoz tartozó belsõ szabályokat mutatja
és mindegyik elé odaírja, hogy eddig mennyi
csomag illeszkedett rájuk.Az ipfstat -oh ugyanígy a
kimentõ forgalom esetén mutatja a belsõ
szabályokat és mindegyik elõtt
feltünteti, hogy az adott pillanatig mennyi csomag
illeszkedett rájuk.A kimenete nagyjából ilyen lesz:2451423 pass out on xl0 from any to any
354727 block out on dc0 from any to any
430918 pass out quick on dc0 proto tcp/udp from any to any keep stateAz ipfstat parancs talán egyik
legfontosabb funkciója a
kapcsolóval csalható elõ, melynek
hatására a rendszerben aktív
állapotok táblázatát mutatja meg
ugyanúgy, ahogy a &man.top.1; a &os; rendszerben
futó programokat. Amikor a tûzfalunk
támadás alatt áll, ezzel a
funkcióval tudjuk a problémát
beazonosítani, leásni a mélyébe
és látni a támadótól
érkezõ csomagokat. A
kiegészítésképpen megadható
alkapcsolók megadásával
kiválaszthatjuk azt a cél vagy forrás
IP-címet, portot vagy protokollt, amelyet valós
idõben meg akarunk figyelni. Ennek részleteit az
&man.ipfstat.8; man oldalán láthatjuk.Az IPMONipmonIPFILTERnaplózásAz ipmon megfelelõ
mûködéséhez be kell kapcsolnunk a
rendszermag IPFILTER_LOG
beállítását. Ez a parancs
két különbözõ módban
használható. Ha parancsot a
opció nélkül gépeljük be, akkor
ezek közül alapból a natív módot
kapjuk meg.A démon mód abban az esetben hasznos, ha
folyamatosan naplózni akarjuk a rendszerben zajló
eseményeket, majd késõbb ezeket
átnézni. Így képes egymással
együttmûködni a &os; és az IPFILTER. A
&os; beépítve tartalmaz olyan
lehetõséget, aminek révén
magától cseréli a rendszernaplókat.
Ezért ha átküldjük a syslogd
démonnak a naplózandó üzeneteket,
akkor sokkal jobban járunk, mintha egyszerûen csak
mezei állományba naplóznánk. Az
rc.conf alapértelmezései
között az ipmon_flags
beállítás a
kapcsolókat rögzíti:ipmon_flags="-Ds" # D = indítás démonként
# s = naplózás a syslog használatával
# v = a tcp ablak, ack, seq csomagok naplózása
# n = az IP-címek és portok nevének feloldásaEnnek a viselkedésnek az elõnyei minden
bizonnyal egyértelmûek.
Segítségével képesek vagyunk az
esetek megtörténte után
átnézni, hogyan milyen csomagokat dobott el a
rendszer, azok milyen címekrõl érkeztek
és hova szánták. Ez egy komoly fegyver a
támadók lenyomozásában.Hiába engedélyezzük a
naplózást, az IPF
önszántából semmilyen
naplózási szabályt nem fog gyártani.
A tûzfal gazdájának kell eldöntenie,
hogy a szabályokat közül melyiket akarja
naplózni, és így neki kell megadnia a
log kulcsszót ezekben az esetekben.
Normális esetben csak a deny
szabályokat naplózzák.Egyáltalán nem ritka, hogy a
szabályrendszer végén egy
alapértelmezés szerint mindent eldobó
szabály áll, amely naplóz. Ezzel
lehetõségünk nyílik
rögzíteni azokat a csomagokat, amelyek egyetlen
szabályra sem illeszkedtek.Naplózás az IPMON
használatávalA syslogd egy saját
módszert alkalmaz a naplózott adatok
elkülönítésére. Egy
funkciók (facility) és
szintek (level) segítségével
kialakított speciális csoportosítást
alkalmaz. Az IPMON módja a
security (biztonság)
funkciót használja. Tehát
az IPMON által naplózott összes adat a
security csoportjába kerül. Ezen
túl a következõ szinteken
különíthetjük el igényeinknek
megfelelõen a naplózott adatokat:LOG_INFO - az átengedés vagy blokkolás helyett a "log" kulcsszóval ellátott csomagok
LOG_NOTICE - az át is engedett csomagok
LOG_WARNING - a blokkolt csomagok
LOG_ERR - a naplózott csomagok közül azok, amelyek túlságosan kicsik (hibás a fejlécük)Az IPFILTER csak akkor tud naplózni a
/var/log/ipfilter.log
állományba, ha elõtte létrehozzuk. Az
alábbi parancs erre tökéletesen
megfelelõ:&prompt.root; touch /var/log/ipfilter.logA syslog mûködését az
/etc/syslog.conf állományban
szereplõ definíciók vezérlik. A
syslog.conf állomány
számottevõ mértékben képes
meghatározni azt, ahogy a syslog az IPF és a
hozzá hasonló alkalmazásoktól kapott
rendszerszintû üzeneteket kezeli.Az /etc/syslog.conf
állományba az alábbi sor kell
felvennünk:security.* /var/log/ipfilter.logA security.* megadásával az
összes ilyen típusú üzenet egy
elõre rögzített helyre kerül.Az /etc/syslog.conf
állományban elvégzett
módosításokat úgy
léptethetjük érvénybe, ha
újraindítjuk a
számítógépet vagy az
/etc/rc.d/syslogd reload paranccsal
megkérjük a syslog programot, hogy olvassa
újra az /etc/syslog.conf
állományt.Az imént létrehozott naplót ne
felejtsük el megadni az
/etc/newsyslog.conf
állományban sem, és akkor ezzel a
cseréjét is megoldjuk.A naplózott üzenetek formátumaAz ipmon által létrehozott
üzenetek whitespace karakterekkel elválasztott
adatmezõkbõl állnak. A következõ
mezõk az összes üzenet esetében
megjelennek:A csomag megérkezésének
dátumaA csomag megérkezésének
idõpontja. ÓÓ:PP:MM.E alakban jelennek
meg az órák, percek, másodpercek
és ezredmásodpercek (ez több
számjegy hosszú is lehet) szerintAnnak a felületnek a neve, ahol a csomag
feldolgozásra került, például
dc0A szabályhoz tartozó csoport és
sorszám, például
@0:17Ezek az ipfstat -in paranccsal
nézhetõek meg.Cselekvés: a p mint átment (passed), b
mint blokkolt (blocked), S mint rövid csomag (short
packet), n mint egyik szabályra sem illeszkedett (not
match), L mint naplózás (log). A
módosítók
megjelenítésének sorrendje: S, p, b, n,
L. A nagybetûs P és B azt jelzi, hogy a
csomagot egy felsõbb szintû
beállítás miatt
naplózták, nem egy szabály
hatására.Címek: ez tulajdonképpen három
mezõt takar: a forrás címet és
portot (melyet egy vesszõ választ el), a ->
jelet és cél címet és portot.
Például: 209.53.17.22,80 ->
198.73.220.17,1722.A PR után a protokoll neve
vagy száma olvasható, például
PR tcp.A len csomaghoz tartozó
fejléc és törzsének teljes
hosszát jelöli, például
len 20 40.Amennyiben a csomag TCP, egy
kötõjellel kezdõdõen további
mezõk is megjelenhetnek a beállított
opcióknak megfelelõ betûk
képében. A betûket és
beállításaikat az &man.ipmon.8; man
oldalán olvashatjuk.Amennyiben a csomag ICMP, a sort két mezõ
zárja, melyek közül az elsõ tartalma
mindig ICMP, és ezt egy perjellel
elválasztva az ICMP üzenet típusa és
altípusa követi. Tehát például
az ICMP 3/3 a nem elérhetõ port
üzenetet hordozza.A szabályok felírása szimbolikus
helyettesítésselAz IPF használatában gyakorlott
felhasználók közül
néhányan képesek olyan
stílusú szabályrendszert
készíteni, ahol szimbolikus
helyettesítést használnak. Ennek az egyik
legnagyobb elõnye az, hogy ilyenkor elég csak a
szimbolikus névhez tartozó értéket
megváltoztatni és amikor a szkript lefut, akkor az
összes rá hivatkozó szabályba ez
kerül be. Szkript lévén a szimbolikus
helyettesítéssel ki tudjuk emelni a gyakran
használt értékeket és
behelyettesíteni ezeket több helyre. Ezt a most
következõ példában
láthatjuk.Az itt alkalmazott felírás kompatibilis az sh,
csh és tcsh parancsértelmezõkkel.A szimbolikus helyettesítést egy
dollárjellel fejezzük ki:
$.A szimbolikus mezõkben nem szerepel a $
jelölés.A szimbolikus mezõ tartalmát kettõs
idézõjelbe (")
tesszük.Kezdjük így el a szabályok
írását:######### Az IPF szabályait tartalmazó szkript eleje ###########
oif="dc0" # a kimenõ felület neve
odns="192.0.2.11" # az internet szolgáltató névszerverének IP-címe
myip="192.0.2.7" # a szolgáltatótól kapott statikus IP-címünk
ks="keep state"
fks="flags S keep state"
# Választhatunk, hogy az /etc/ipf.rules állományt ebbõl a szkriptbõl
# hozzuk létre vagy futtathatjuk "magát" a szkriptet.
#
# Egyszerre csak az egyik sort használjuk.
#
# 1) Ezzel gyárhatjuk le az /etc/ipf.rules állományt:
#cat > /etc/ipf.rules << EOF
#
# 2) Ezzel futtathajuk "magát" a szkriptet:
/sbin/ipf -Fa -f - << EOF
# Engedélyezzük a szolgáltató névszerverének elérését.
pass out quick on $oif proto tcp from any to $odns port = 53 $fks
pass out quick on $oif proto udp from any to $odns port = 53 $ks
# Engedélyezzük kifelé a titkosítatlan www funkciót.
pass out quick on $oif proto tcp from $myip to any port = 80 $fks
# Engedélyezzük kifelé a TLS SSL felett üzemelõ titkosított www funkciót.
pass out quick on $oif proto tcp from $myip to any port = 443 $fks
EOF
################## Itt az IPF szkript vége ########################Ennyi lenne. A példában szereplõ
szabályok most nem annyira lényegesek, a
hangsúly most igazából a szimbolikus
helyettesítésen és annak
használatán van. Ha a fenti példát
az /etc/ipf.rules.script
állományba mentjük, akkor ezeket a
szabályokat a következõ paranccsal újra
tudjuk tölteni:&prompt.root; sh /etc/ipf.rules.scriptEgyetlen aprócska gond van a beágyazott
szimbólumokat tartalmazó
állományokkal: az IPF maga nem képes
megérteni a helyettesítéseket, azért
közvetlenül nem olvassa a szkriptet.Ez a szkript két módon
hasznosítható:Vegyük ki megjegyzésbõl a
cat paranccsal kezdõdõ sort,
és tegyük megjegyzésbe az
/sbin/ipf kezdetût. A megszokottak
szerint tegyük az
ipfilter_enable="YES" sort az
/etc/rc.conf állományba,
majd minden egyes módosítása
után futtassuk le a szkriptet az
/etc/ipf.rules állomány
létrehozásához vagy
frissítéséhez.Tiltsuk le az IPFILTER aktiválását
a rendszerindításkor, tehát
írjuk bele az ipfilter_enable="NO"
sort (ami mellesleg az alapértelmezett
értéke) az /etc/rc.conf
állományba.Tegyünk egy, az alábbi szkripthez
hasonlót az /usr/local/etc/rc.d/
könyvtárba. A szkriptnek adjuk valamilyen
értelmes nevet, például
ipf.loadrules.sh. Az
.sh kiterjesztés
használata kötelezõ.#!/bin/sh
sh /etc/ipf.rules.scriptA szkript engedélyeit állítsuk be
úgy, hogy a root
tulajdonában legyen és képes legyen
olvasni, írni valamint végrehajtani.&prompt.root; chmod 700 /usr/local/etc/rc.d/ipf.loadrules.shMost miután a rendszer elindult, az IPF
szabályai be fognak töltõdni.Szabályrendszerek az IPF-benAz ipf esetében a szabályrendszer olyan
szabályokból áll, amelyek a
csomagokról tartalmuk alapján eldöntik, hogy
át kell engedni vagy vissza kell tartani. A gépek
közt két irányban áramló
csomagok egy munkamenet alapú társalgást
képeznek. A tûzfal szabályrendszere minden
csomagot kétszer dolgoz fel: egyszer, amikor befut az
internetrõl, illetve még egyszer, amikor
visszatér az internetre. Mindegyik TCP/IP
szolgáltatást (például telnet, www,
levelezés stb.) elõre meghatározza a
hozzátartozó protokoll, cél és
forrás IP-cím vagy port. Ez az alapja a
szolgáltatások
engedélyezésérõl vagy
tiltásáról szóló
szabályok megfogalmazásának.IPFILTERa szabályok feldolgozásának
sorrendjeAz IPF eredetileg úgy íródott, hogy a
szabályokat az utolsó illeszkedõ
szabály nyer stílusban dolgozza fel
és csak állapot nélküli
szabályokat ismert. Az idõk folyamán az IPF
szabályai kiegészültek a quick
és az állapottartásra vonatkozó
keep state opciókkal, amelynek
köszönhetõen óriási
mértékben korszerûsödött a
szabályok feldolgozása.A szakaszban szereplõ utasítások olyan
szabályokat alkalmaznak, amelyekben egyaránt
szerepel a quick és az
állapottartásért felelõs keep
state beállítás. Ez az
inkluzív tûzfalak
létrehozásának egyik
alapeszköze.Az inkluzív tûzfalak csak olyan
szolgáltatásokat engednek át, amelyek
megfelelnek valamelyik szabálynak. Ezzel
lényegében meg tudjuk adni, hogy milyen
szolgáltatások érhetõek el a
tûzfal mögül az internet felé, valamint az
internetrõl a magánhálózatunkon. A
tûzfal minden mást elutasít és
alapértelmezés szerint naplóz. Az
inkluzív tûzfalak sokkal, de sokkal
biztonságosabbak az exkluzív
tûzfalaknál, ezért itt most csak ezzel az
egyetlen típussal foglalkozunk.A tûzfal szabályainak
összeállítása során
nagyon óvatosnak kell
lennünk! Bizonyos beállítások
hatására akár ki is
zárhatjuk magunkat a
szerverünkrõl. Az ebbõl fakadó
esetleges kellemetlenségek elkerülése
érdekében javasoljuk, hogy a tûzfal
alapjait elõször helyi konzolról
építsük fel, ne pedig
távolról, például
ssh
segítségével.A szabályok felépítéseIPFILTERa szabályok
felépítéseA szabályok felépítésének
bemutatását itt most leszûkítjük
a modern állapottartó szabályokra és
az elsõ illeszkedõ szabály nyer
típusú feldolgozásra. A szabályok
felírásának régebbi módjai az
&man.ipf.8; man oldalon találhatóak.A # karakterrel egy megjegyzés
kezdetét jelezzük, és általában
a sor végén vagy egy külön sorban bukkan
fel. Az üres sorokat a rendszer nem veszi
figyelembe.A szabályok kulcsszavakat tartalmaznak. Ezeknek a
kulcsszavaknak balról jobbra haladva adott sorrendben
kell szerepelniük. A kulcsszavakat kiemeltük. Egyes
kulcsszavakhoz további beállítások
is tartozhatnak, amelyek maguk is kulcsszavak lehetnek,
és még további opciókkal
rendelkezhetnek. Az alábbi nyelvtan mindegyik
elemét kiemeltük és az alábbiakban
egyenként kifejtjük a részleteiket.CSELEKVÉS BE-KI OPCIÓK
SZÛRÉS ÁLLAPOTTARTÓ PROTOKOLL
FORRÁS_CÍM,CÉL_CÍM OBJEKTUM
PORTSZÁM TCP_BEÁLLÍTÁS
ÁLLAPOTTARTÓCSELEKVÉS = block |
passBE-KI = in | outOPCIÓK = log | quick | on
felületnévSZÛRÉS = proto
érték |
forrás/cél IP | port =
szám | flags
beállításPROTOKOLL = tcp/udp | udp | tcp |
icmpFORRÁS_CÍM,CÉL_CÍM
= all | from objektum to
objektumOBJEKTUM =
IP-cím | anyPORTSZÁM =
portszámTCP_BEÁLLÍTÁS
= SÁLLAPOTTARTÓ = keep
stateCSELEKVÉSA cselekvés határozza meg, hogy mit kell
tenni azokkal a csomagokkal, amelyek illeszkednek a
szabály többi részére. Minden
szabályhoz tartoznia kell egy
cselekvésnek. A következõ cselekvések
közül választhatunk:A block megadásával a
szabályban szereplõ szûrési
feltételre illeszkedõ csomagot eldobjuk.A pass megadásával a
szabályban szereplõ szûrési
feltételre illeszkedõ csomagot
átengedjük a tûzfalon.BE-KIAz összes szûrési szabály
esetében kötelezõ egyértelmûen
nyilatkozunk arról, hogy a bemenõ vagy a
kimenõ forgalomra vonatkozik. Ezért a
következõ kulcsszó vagy az in
vagy pedig az out, de közülük
egyszerre csak az egyiket szabad használni,
máskülönben a szabály hibásnak
minõsül.Az in jelenti, hogy a szabályt
az internet felõl az adott felületen
beérkezõ csomagokra kell alkalmazni.Az out jelenti, hogy a szabályt
az internet felé az adott felületen
kiküldött csomagokra kell alkalmazni.OPCIÓKEzek az opciók csak a lentebb bemutatott
sorrendben használhatók.A log jelzi, hogy illeszkedés
esetén a csomag fejlécét az
ipl eszközön keresztül
naplózni kell (lásd a
naplózásról szóló
szakaszt).A quickjelzi, hogy illeszkedés
esetén ez lesz a legutolsónak
ellenõrzött szabály és így egy
olyan rövidzárat tudunk
képezni a feldolgozásban, amellyel
elkerüljük a csomagra egyébként
vonatkozó többi szabály
illesztését. Ez az opció a
korszerûsített szabályfeldolgozás
kihasználásához elengedhetetlen.Az on használatával a
szûrés feltételei közé
bevonhatjuk a csomaghoz tartozó hálózati
felületet. Itt a felületek az &man.ifconfig.8;
által megjelenített formában
adhatóak meg. Az opció
megadásával csak az adott felületen az
adott irányba (befelé/kifelé)
közlekedõ csomagokra fog illeszkedni a
szabály. Ez az opció a
korszerûsített szabályfeldolgozás
kihasználásához
nélkülözhetetlen.Amikor naplózunk egy csomagot, akkor a
hozzátartozó fejléc az IPL
csomagnaplózó pszeudo eszközhöz
kerül. A log kulcsszó után
közvetlenül a következõ
minõsítõk szerepelhetnek (a
következõ sorrendben):A body jelzi, hogy a csomag
tartalmának elsõ 128 byte-ját még
jegyezzük fel a fejléc mellé.A first minõsítõt
akkor érdemes használnunk, amikor a
log kulcsszót a keep
state opcióval együtt alkalmazzuk, mivel
ilyenkor csak a szabályt kialakító csomag
kerül naplózásra és nem minden
olyan, ami illeszkedik az állapottartási
feltételekre.SZÛRÉSEbben a szakaszban olyan kulcsszavak jelenhetnek meg,
amelyekkel a csomagok különféle
tulajdonságai alapján
ítélkezhetünk azok
illeszkedésérõl. Itt adott egy
kiinduló kulcsszó, amelyhez további
kulcsszavak is tartoznak, és amelyek közül
csak egyet választhatunk. Az alábbi
általános tulajdonságok alapján
tudjuk szûrni a csomagokat, ebben a sorrendben:PROTOKOLLA proto egy olyan kulcsszó,
amelyhez hozzá kell rendelnünk még
valamelyik opcióját is. Ez az opció
segít az adott protokolloknak megfelelõen
válogatni a csomagok között. A
korszerûsített szabályfeldolgozás
lehetõségeinek
kihasználásához
nélkülözhetetlen.Opcióként a tcp/udp | udp | tcp |
icmp, vagy bármelyik, az
/etc/protocols állományban
megtalálható kulcsszó
felhasználható. A tcp/udp
ebbõl a szempontból speciálisnak
tekinthetõ, mivel hatására egyszerre
illeszthetõek a szabályra a TCP
és UDP csomagok, és
így a protokolltól eltekintve azonos
szabályok felesleges
többszörözését
kerülhetjük el.FORRÁS_CÍM/CÉL_CÍMAz all kulcsszó gyakorlatilag a
from any to any (bárhonnan
bárhova) szinonímája és
nem tartozik hozzá paraméter.A from forrás
to cél
felépítése: a from
és to kulcsszavak az IP-címek
illesztésére használhatóak.
Ilyenkor a szabályokban a forrás ÉS a
cél paramétereknek is szerepelniük kell.
Az any egy olyan speciális
kulcsszó, amely tetszõleges IP-címre
illeszkedik. Néhány példa az
alkalmazására: from any to any
vagy from 0.0.0.0/0 to any, from any to
0.0.0.0/0, from 0.0.0.0/0 to any vagy
from any to 0.0.0.0.Az IP-címek megadhatóak pontozott numerikus
formában a hálózati maszk bitekben
mért hosszával együtt, vagy akár
egyetlen pontozott numerikus IP-címként.Nincs lehetõség olyan
IP-címtartományok illesztésére,
amelyek nem adhatóak meg kényelmesen a maszk
hosszával. A hálózati maszkok
hosszának megállapításban
segíthet a következõ (angol nyelvû)
honlap: .PORTAmikor portra vonatkozó illeszkedést
írunk elõ, megadhatjuk a forrásra és
célra, amit aztán vagy csak
TCP vagy pedig csak UDP
csomagokra alkalmazunk. A portok feltételeinek
megfogalmazásánál használhatjuk a
portok számát vagy az
/etc/services állományban
szereplõ nevüket. Amikor a port egy
from típusú objektum
leírásában jelenik meg, akkor
automatikusan a forrásportot jelenti, míg a
to objektum leírásában
pedig a célportot. A to
objektumoknál a port megadása elengedhetetlen a
korszerûsített szabályfeldolgozás
elõnyeinek kihasználásához.
Példa: from any to any port = 80.A portokat különbözõ mûveletek
segítségével, numerikusan
hasonlíthatjuk össze, ahol akár
porttartományt is megadhatunk.port "=" | "!=" | "<" | ">" | "<=" | ">=" |
"eq" | "ne" | "lt" | "gt" | "le" | "ge".A porttartományok megadásához
használjuk a port "<>" |
"><" felírási módot.A forrásra és célra
vonatkozó paraméterek után
szereplõ másik két paraméter
nélkülözhetetlen a
korszerûsített szabályfeldolgozás
mûködéséhez.TCP_BEÁLLÍTÁSA beállítások csak a
TCP forgalom
szûrésénél
érvényesülnek. A betûk jelölik
azokat a lehetséges beállításokat,
amelyek a TCP csomagok
fejlécében
megvizsgálhatóak.A korszerûsített
szabályfeldolgozás a flags S
paraméter segítségével ismeri fel
a TCP munkameneteket
kezdeményezõ kéréseket.ÁLLAPOTTARTÓA keep state jelzi, hogy a
szabály paramétereinek megfelelõ
bármely csomag aktiválja az
állapottartó szûrés
használatát.Ez a beállítás
feltétlenül szükséges a
korszerûsített szabályfeldolgozás
megfelelõ kihasználásához.Állapottartó csomagszûrésIPFILTERállapottartó
szûrésAz állapottartó szûrés a csomagok
kétirányú áramlását
egy létrejött kapcsolatba sorolja be. Amikor
aktiválódik, az állapottartó
szabály elõre dinamikusan létrehozza a
kétirányú kommunikációban
megforduló csomagokhoz a megfelelõ belsõ
szabályokat. Olyan vizsgálatokat végez,
amelyek segítségével ki tudja
deríteni, hogy a csomag küldõje és
címzettje között fennálló
kétirányú kapcsolat érvényes
szabályok szerint zajlik-e. Minden olyan csomagot, amely
nem illeszkedik megfelelõen a kapcsolatra vonatkozó
sémára, csalásnak tekintjük és
automatikusan eldobjuk.Az állapottartás révén
lehetõségünk van a TCP vagy
UDP kapcsolatokhoz tartozó
ICMP csomagokat is átengedni a
tûzfalon. Tehát ha kapunk egy 3-as
típusú, 4-es kódú
ICMP választ valamilyen
böngészésre használt
állapottartó szabályon keresztül
kiküldött kérésre, akkor az
automatikusan bejöhet. Amelyik csomagot az IPF
egyértelmûen képes besorolni az aktív
kapcsolatba, még ha az eltérõ protokollt is
használ, beengedi.Ami ilyenkor történik:Az internethez csatlakozó felületen
keresztül kifelé haladó csomagokat
elõször egy dinamikus állapottábla
alapján illesztjük, és ha a csomag
illeszkedik az aktív kapcsolatban
következõként várt csomagra, akkor
átmegy a tûzfalon és a dinamikus
állapottáblában frissül a kapcsolat
állapota, a fennmaradó csomagok pedig a
kimenõ szabályrendszer szerint kerülnek
ellenõrzésre.Hasonlóan az elõzõhöz, az internethez
csatlakozó felületen keresztül befelé
haladó csomagokat elõször egy dinamikus
állapottábla alapján illesztjük,
és ha a csomag illeszkedik az aktív kapcsolatban
következõként várt csomagra, akkor
átmegy a tûzfalon és a dinamikus
állapottáblában frissül a kapcsolat
állapota, a fennmaradó csomagok pedig a
bejövõ szabályrendszer szerint kerülnek
ellenõrzésre.Amikor egy kapcsolat befejezõdik, automatikusan
törlõdik a dinamikus
állapottáblából.Az állapottartó csomagszûrés
használatával az újonnan keletkezõ
kapcsolatok elutasítására vagy
engedélyezésére tudunk koncentrálni.
Ha engedélyeztük egy új kapcsolat
létrejöttét, akkor a
rákövetkezõ összes többi csomag
automatikusan átmegy a tûzfalon és minden
más hamis csomag eldobódik. Ha tiltjuk az
új kapcsolatot, akkor egyetlen
rákövetkezõ csomag sem juthat át. Az
állapottartó szûrés által
felkínált fejlett elemzési
lehetõségek képesek védelmet
nyújtani a behatolók részérõl
alkalmazott megannyi különbözõ
támadási módszer ellen.Példa inkluzív
szabályrendszerreA most következõ szabályrendszer arra mutat
példát, hogyan programozzunk le egy nagyon
biztonságos inkluzív tûzfalat. Az
inkluzív tûzfalak csak a szabályainak
megfelelõ szolgáltatásokat engedik
keresztül, és alapértelmezés szerint
minden mást blokkolnak. Minden tûzfal
legalább két felülettel dolgozik, melyek
mindegyikéhez írnunk kell szabályokat a
tûzfal megfelelõ
mûködéséhez.Mindegyik &unix;-típusú rendszert,
köztük a &os;-t is úgy
alakították ki, hogy az operációs
rendszeren belüli kommunikáció az
lo0 felületen és a 127.0.0.1 IP-címen keresztül
történik. A tûzfal szabályai
között feltétlenül szerepelniük kell
olyanoknak, amelyek lehetõvé teszik ezen a
speciális felületen a csomagok zavartalan
mozgását.Az internetre csatlakozó felülethez kell
rendelni a kifelé haladó forgalom
hitelesítését és az internetrõl
befelé irányuló
hozzáférés vezérlését.
Ez lehet a felhasználói PPP által
létrehozott tun0 felület
vagy a DSL-, illetve kábelmodemhez csatlakozó
hálózati kártya.Ahol egy vagy több hálózati kártya
is csatlakozik a tûzfal mögött elhelyezkedõ
helyi magánhálózathoz, ott ezeket a
felületeket úgy kell felvenni a tûzfal
szabályai közé, hogy a helyi
hálózaton zajló forgalmat ne
akadályozzuk.A szabályokat elõször három nagy
csoportba kell szerveznünk: az összes szabadon
forgalmazó felület, az internet felé
haladó kimenõ forgalom és az internet
felõl befelé haladó forgalom.Az egyes csoportokban szereplõ szabályokat
úgy kell megadni, hogy közülük elõre
kerüljenek a leggyakrabban alkalmazottak, és a
csoport utolsó szabálya blokkoljon és
naplózzon minden csomagot az adott felületen
és irányban.A kimenõ forgalomat vezérlõ
szabályrendszer csak pass (tehát
átengedõ) szabályokat tartalmazhat, amelyek
bentrõl az interneten elérhetõ
szolgáltatásokat azonosítják
egyértelmûen. Az összes ilyen
szabályban meg kell jelenni a quick,
on, proto, port
és keep state
beállításoknak. A proto tcp
szabályok esetében meg kell adni a
flag opciót is, amivel fel tudjuk
ismertetni a kapcsolatok keletkezését és
ezen keresztül aktiválni az
állapottartást.A bejövõ forgalmat vezérlõ
szabályrendszerben elõször az eldobni
kívánt csomagokat kell megadni, aminek két
eltérõ oka van. Elõször is a blokkolt
elemek lehetnek egy egyébként szabályos
csomag részei, amit a késõbbiekben a
hitelesített szolgáltatások alapján
beengedünk. Másodszor ezzel az olyan
rendszertelenül érkezõ csomagokat tudjuk
blokkolni, amelyeket nem akarunk a naplóban látni,
mivel ilyenkor a csoport utolsójaként megadott
blokkoló és naplózó
szabályhoz már nem jut el. A csoport
utolsó tagjaként megadott szabály blokkolja
és naplózza az illétektelen
hozzáféréseket, amit akár jogi
bizonyítékként is felhasználhatunk a
rendszerünket megtámadók ellen.A másik, amire még oda kell figyelnünk,
hogy a blokkolt csomagok esetében semmilyen válasz
nem keletkezik, egyszerûen csak eltûnnek. Így
a támadó nem fogja tudni, hogy a csomagjai vajon
elérték-e a rendszerünket. Minél
kevesebb információt tudnak
összegyûjteni a rendszerünkrõl a
támadók, annál több idõt kell
szánniuk csínytevéseik
kieszelésére. Javasolt a beérkezõ
OS fingerprint jellegû
kéréseket az elsõ alkalmommal
naplózni, mert ez az elsõ jele annak, amikor valaki
meg akar támadni minket.Amikor a log first szabály
alapján keletkezõ üzeneteket akarjuk
látni, hívjuk meg a ipfstat
-hio parancsot, ahol megjelenik, hogy melyik
szabályra mennyi csomag illeszkedett. Ennek
alapján el tudjuk dönteni, hogy éppen
elárasztanak-e bennünket, tehát meg akarnak-e
támadni.Ha ismeretlen porthoz tartozó csomagokat
naplózunk, akkor az /etc/services
állományban vagy a
(angol nyelvû) honlap segítségével
tudjuk kideríteni, hogy pontosan melyik portról
van szó.Érdemes továbbá megnézni a
trójai programok által használt portokat a
címen (angolul).A következõ szabályrendszer egy olyan
biztonságos inkluzív
típusú tûzfal, amelyet maga a szerzõ is
használ. Ha ezt átvesszük egy az egyben,
akkor abból semmilyen bajunk nem származhat.
Egyszerûen csak vegyük ki azokat a szabályokat,
amelyek olyan szolgáltatásokra vonatkoznak, amiket
nem akarunk hitelesíteni.Ha nem akarunk látni bizonyos üzeneteket a
naplóban, akkor vegyünk fel hozzájuk egy
block típusú szabályt a
befelé irányuló forgalomhoz tartozó
szabályok közé.Ne felejtsük el minden szabályban
átírni a dc0 felület
nevét annak a hálózati
kártyának a felületére, amelyen
keresztül csatlakozunk az internethez. A
felhasználói PPP esetében ez a
tun0 lesz.Tehát a következõket kell beírni az
/etc/ipf.rules
állományba:#################################################################
# A helyi hálózatunkon zajló forgalmat ne korlátozzuk.
# Csak akkor kell, ha helyi hálózathoz is csatlakozunk.
#################################################################
#pass out quick on xl0 all
#pass in quick on xl0 all
#################################################################
# A belsõ felületen szintén ne korlátozzunk semmit.
#################################################################
pass in quick on lo0 all
pass out quick on lo0 all
#################################################################
# Az internet felé forgalmazó felület (kimenõ kapcsolatok)
# A saját hálózatunkról belülrõl vagy errõl az átjáróról
# kezdeményezett kapcsolatokat vizsgáljuk az internet felé.
#################################################################
# Engedélyezzük az internet szolgáltatók névszerverének elérését,
# az "xxx" helyett a névszervet IP-címét kell megadni.
# Másoljuk le ezeket a sorokat, ha a szolgáltatónknak több
# névszerverét is beakarjuk állítani. A címeiket az /etc/resolv.conf
# állományban találjuk.
pass out quick on dc0 proto tcp from any to xxx port = 53 flags S keep state
pass out quick on dc0 proto udp from any to xxx port = 53 keep state
# DSL vagy kábeles hálózatoknál engedélyezzük a
# szolgáltatónk DHCP szerverének elérését.
# Ez a szabály nem kell, ha "felhasználói PPP"-vel
# kapcsolódunk az internethez, ilyenkor tehát az egész
# csoport törölhetõ.
# Használjuk az alábbi szabályt és keressük meg a naplóban az
# IP-címet. Ha megtaláltuk, akkor tegyük bele a megjegyzésben
# szereplõ szabályba és töröljük az elsõ szabályt.
pass out log quick on dc0 proto udp from any to any port = 67 keep state
#pass out quick on dc0 proto udp from any to z.z.z.z port = 67 keep state
# Kifelé engedélyezzük a szabványos nem biztonságos WWW funkciókat.
pass out quick on dc0 proto tcp from any to any port = 80 flags S keep state
# Kifelé engedélyezzük a biztonságos WWW funkciókat TLS SSL
# protokollal.
pass out quick on dc0 proto tcp from any to any port = 443 flags S keep state
# Kifelé engedélyezzük az e-mailek küldését és fogadását.
pass out quick on dc0 proto tcp from any to any port = 110 flags S keep state
pass out quick on dc0 proto tcp from any to any port = 25 flags S keep state
# Kifelé engedélyezzük az idõ szolgáltatást.
pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state
# Kifelé engedélyezzük az nntp híreket.
pass out quick on dc0 proto tcp from any to any port = 119 flags S keep state
# Kifelé engedélyezzük az átjáróról és a helyi hálózatról a nem
# biztonságos FTP használatát (passzív és akív módokban is). Ez a
# funkció a mûködéséhez a nat szabályokat tartalmazó állományban
# hivatkozott FTP proxyt használja. Amennyiben a pkg_add paranccsal
# csomagokat akarunk telepíteni az átjáróra, erre a szabályra
# mindenképpen szükségünk lesz.
pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state
# Kifelé engedélyezzük a biztonságos FTP, telnet és SCP szolgáltatások
# elérését az SSH (secure shell) használatával.
pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state
# Kifelé engedélyezzük a nem biztonságos telnet elérését.
pass out quick on dc0 proto tcp from any to any port = 23 flags S keep state
# Kifelé engedélyezzük FreeBSD CVSUP funkcióját.
pass out quick on dc0 proto tcp from any to any port = 5999 flags S keep state
# Kifelé engedélyezzük a pinget.
pass out quick on dc0 proto icmp from any to any icmp-type 8 keep state
# Kifelé engedélyezzük a helyi hálózatról érkezõ whois kéréseket.
pass out quick on dc0 proto tcp from any to any port = 43 flags S keep state
# Minden mást eldobunk és naplózzuk az elsõ elõfordulásukat.
# Ezzel a szabállyal állítjuk be, hogy alapértelmezés szerint minden
# blokkolva legyen.
block out log first quick on dc0 all
#################################################################
# Az internet felõli felület (bejövõ kapcsolatok)
# A saját hálózatunk felé vagy erre az átjáróra
# nyitott kapcsolatokat vizsgáljuk az internet felõl.
#################################################################
# Eldobjuk az összes olyan bejövõ forgalmat, amit hivatalosan nem
# lehetne továbbítani vagy fenntartott címterülethez tartozik.
block in quick on dc0 from 192.168.0.0/16 to any #RFC 1918: privát IP
block in quick on dc0 from 172.16.0.0/12 to any #RFC 1918: privát IP
block in quick on dc0 from 10.0.0.0/8 to any #RFC 1918: privát IP
block in quick on dc0 from 127.0.0.0/8 to any #helyi
block in quick on dc0 from 0.0.0.0/8 to any #helyi
block in quick on dc0 from 169.254.0.0/16 to any #DHCP
block in quick on dc0 from 192.0.2.0/24 to any #dokumentációs célokra fenntartva
block in quick on dc0 from 204.152.64.0/23 to any #Sun klaszterek összekötésére használt
block in quick on dc0 from 224.0.0.0/3 to any #D és E osztályú többesküldés
##### Itt eldobunk egy rakás csúf dolgot ############
# Ezeket nem akarjuk a naplóban látni:
# Eldobjuk a töredékcsomagokat.
block in quick on dc0 all with frags
# Eldobjuk a túlságosan rövid TCP csomagokat.
block in quick on dc0 proto tcp all with short
# Eldobjuk a forrás által közvetített (source routed) csomagokat.
block in quick on dc0 all with opt lsrr
block in quick on dc0 all with opt ssrr
# Elutasítjuk az "OS fingerprint" kéréseket.
# Naplózzuk az elsõ elõfordulást, így nálunk lesz a kíváncsiskodó
# egyén IP-címe.
block in log first quick on dc0 proto tcp from any to any flags FUP
# Eldobunk mindent, aminek speciális beállításai vannak.
block in quick on dc0 all with ipopts
# Elutasítjuk a publikus pinget.
block in quick on dc0 proto icmp all icmp-type 8
# Elutasítjuk az ident kéréseket.
block in quick on dc0 proto tcp from any to any port = 113
# Blokkoljuk az összes Netbios szolgáltatást: 137=név, 138=datagram,
# 139=session. A Netbios az MS Windows megosztását implementálja.
# Blokkoljuk az MS Windows hosts2 névszerver kéréseit is a 81-es
# porton.
block in log first quick on dc0 proto tcp/udp from any to any port = 137
block in log first quick on dc0 proto tcp/udp from any to any port = 138
block in log first quick on dc0 proto tcp/udp from any to any port = 139
block in log first quick on dc0 proto tcp/udp from any to any port = 81
# Engedélyezzük a szolgáltatónk DHCP szerverétõl érkezõ forgalmat.
# Ebben a szabályban meg kell adnunk a szolgáltató DHCP szerverének
# IP-címét, mivel itt csak a hiteles forrásból fogadunk el csomagokat.
# Erre csak DSL- és kábelmodemes kapcsolat esetében van szükség, a
# "felhasználói PPP" alkalmazása során szükségtelen. Ez az IP-cím
# megegyezik a kimenõ kapcsolatoknál megadott címmel.
pass in quick on dc0 proto udp from z.z.z.z to any port = 68 keep state
# Befelé engedélyezzük a szabványos WWW funkciót, mivel webszerverünk
# van.
pass in quick on dc0 proto tcp from any to any port = 80 flags S keep state
# Befelé engedélyezzük az internetrõl érkezõ nem biztonságos telnet
# kapcsolatokat. Azért nem biztonságos, mert az azonosítókat és
# jelszavakat titkosítatlan formában közli az interneten keresztül.
# Töröljük ezt a szabályt, ha nem használunk telnet szervert.
#pass in quick on dc0 proto tcp from any to any port = 23 flags S keep state
# Befelé engedélyezzük az internetrõl érkezõ biztonságos FTP, telnet és SCP
# kapcsolatokat az SSH (secure shell) használatával.
pass in quick on dc0 proto tcp from any to any port = 22 flags S keep state
# Minden mást dobjuk el és naplózzuk az elsõ elõfordulásukat.
# Az elsõ alkalom naplózásával elejét tudjuk venni a "Denial of
# Service" típusú támadásoknak, amivel egyébként lehetséges lenne a
# napló elárasztása.
# Ez a szabály gondoskodik arról, hogy a rendszer alapértelmezés
# szerint mindent eldobjon.
block in log first quick on dc0 all
################### Itt van a szabályok vége ##############################NATNATIP maszkolásNAThálózati
címfordításNATA NAT jelentése Network
Address Translation, vagyis hálózati
címfordítás. A &linux; esetében ezt
IP masqueradingnak, vagyis IP maszkolásnak
hívják. A hálózati
címfordítás és az IP
maszkolás lényegben ugyanazt takarja. Az IPF
címfordításért felelõs
funkciójának köszönhetõen
képesek vagyunk a tûzfal mögött
elhelyezkedõ helyi hálózat
számára megosztani az
internet-szolgáltatól kapott publikus
IP-címet.Sokakban felmerülhet a kérdés, hogy erre
vajon mi szükségünk lehet. Az
internet-szolgáltatók a
magánszemélyeknek általában
dinamikus IP-címeket osztanak ki. A dinamikus itt arra
utal, hogy a címünk minden alkalommal
változik, amikor betárcsázunk a
szolgáltatóhoz vagy amikor ki- és
bekapcsoljuk a modemünket. Ez az IP-cím lesz az,
ami alapján az interneten elérhetõek
leszünk.Most tegyük fel, hogy öt gépünk van
otthon, viszont csak egyetlen elõfizetéssel
rendelkezünk. Ebben az esetben öt telefonvonalat
kellene használnunk és mindegyik géphez
elõfizetni az internetre.A hálózati címfordítás
alkalmazásával azonban mindössze egyetlen
elõfizetés kell. A gépek közül
négyet hozzákötünk egy switch-hez
és a switch-et pedig a fennmaradó géphez,
amelyen &os; fut. Ez utóbbi lesz az így
kialakított helyi hálózatunk
átjárója. A tûzfalban
mûködõ címfordítás
segítségével a helyi
hálózaton található gépek
IP-címeit észrevétlenül át
tudjuk fordítani a hálózatunk publikus
IP-címére, ahogy a csomagok elhagyják az
átjárót. A beérkezõ csomagok
esetében mindez visszafelé történik
meg.A hálózati címfordítás
gyakran a szolgáltató engedélye vagy
éppen tudta nélkül történik,
és ha a szolgáltató rájön,
akkor a legtöbb esetben ez az elõfizetés
megszûntetésével jár. Az üzleti
felhasználók jóval többet fizetnek az
internet kapcsolatért és általában
egy olyan statikus IP-címblokkot kapnak, amely sosem
változik. A szolgáltatók az üzleti
célú felhasználás esetében
gyakran ajánlják és
támogatják a hálózati
címfordítást a belsõ
hálózatok számára.Az IP-címek közül adott egy
tartomány, amit a címfordítást
használó helyi hálózatok
részére tartanak fenn. Az RFC 1918 szerint
az alábbi IP-címtartományok
használhatók a helyi hálózatban,
mivel ezeken keresztül közvetlenül sosem lehet
kijutni az internetre:Kezdõ IP: 10.0.0.0-Záró IP: 10.255.255.255Kezdõ IP: 172.16.0.0-Záró IP: 172.31.255.255Kezdõ IP: 192.168.0.0-Záró IP: 192.168.255.255IPNATNATIPFILTERipnatA címfordításra vonatkozó
szabályokat az ipnat paranccsal tudjuk
betölteni. Az ilyen típusú
szabályokat általában az
/etc/ipnat.rules állományban
találjuk. A részleteket lásd az
&man.ipnat.1; man oldalán.Amikor a címfordítás üzembe
helyezése után meg akarjuk változtatni a
címfordítás szabályait,
elõször a címfordítás
szabályait tartalmazó állományt
módosítsuk, majd a belsõ
címfordítási szabályok és a
címfordítási táblázatban
szereplõ aktív bejegyzések
törléséhez futassuk le az
ipnat parancsot a
beállítással.A címfordítási szabályok
újratöltését egy ehhez hasonló
paranccsal tudjuk elvégezni:&prompt.root; ipnat -CF -f /etc/ipnat.szabályokA címfordításhoz tartozó
statisztikákat ezzel a paranccsal tudjuk
lekérdezni:&prompt.root; ipnat -sA címfordítási
táblázatban pillanatnyilag szereplõ
összerendeléseket a következõ paranccsal
tudjuk listázni:&prompt.root; ipnat -lA szabályok feldolgozásával és
az aktív szabályokkal/bejegyzésekkel
kapcsolatos információk
részletezését így
engedélyezhetjük:&prompt.root; ipnat -vA címfordítási
szabályokA címfordítási szabályok nagyon
rugalmasak és rengeteg olyan funkciót meg tudunk
velük valósítani, ami az üzleti
és otthoni felhasználók
számára egyaránt hasznos.Itt most a szabályok
felépítését csak
egyszerûsítve mutatjuk be, leginkább a nem
üzleti környezetek tekintetében. A
szabályok komplett formai leírását
az &man.ipnat.5; man oldalán találjuk.Egy címfordítási szabály
tehát valahogy így néz ki:map FELÜLETHELYI_IP_TARTOMÁNY -> PUBLIKUS_CÍMA szabályt a map kulcsszó
kezdi.A FELÜLET helyére az
internet felé mutató külsõ felület
nevét írjuk be.A HELYI_IP_TARTOMÁNY lesz
az, amelyben a kliensek címeznek. Ez
például a 192.168.1.0/24.A PUBLIKUS_CÍM lehet egy
külsõ IP-cím vagy a 0/32
speciális kulcsszó, amellyel a
FELÜLET-hez rendelt
IP-címre hivatkozunk.Hogyan mûködik a hálózati
címfordításA publikus cél felé haladó csomag
megérkezik a helyi hálózatról.
Miután a kimenõ kapcsolatokra vonatkozó
szabályok átengedik, a
címfordítás kapja meg a szerepet és
fentrõl lefelé haladva nekilát alkalmazni a
saját szabályait, ahol az elsõ egyezõ
szerint cselekszik. A címfordítás a
szabályokat a csomaghoz tartozó felületre
és a forrás IP-címére illeszti.
Amikor a csomag felületének neve illeszkedik egy
címfordítási szabályra, akkor
ezután a csomag forrás (vagyis a helyi
hálózaton belüli)
IP-címérõl igyekszik eldönteni, hogy a
szabály nyilának bal oldalán szereplõ
tartományba esik-e. Ha erre is illeszkedik, akkor a
forrás IP-címét átírjuk a
0/32 kulcsszó alapján
felderített publikus IP-címre. A
címfordító rutin ezt feljegyzi a
saját belsõ táblázatába,
így amikor a csomag visszatér az internetrõl,
akkor képes lesz visszafordítani az eredeti
belsõ IP-címére és
feldolgozásra átadni a tûzfal
szabályainak.A címfordítás
engedélyezéseA címfordítás életre
keltéséhez a következõket kell
beállítanunk az /etc/rc.conf
állományban.Elõször engedélyezzük a
gépünknek, hogy közvetítsen forgalmat a
felületek között:gateway_enable="YES"Minden alkalommal indítsuk el a
címfordításért felelõs IPNAT
programot:ipnat_enable="YES"Adjuk meg az IPNAT számára a
betöltendõ szabályokat:ipnat_rules="/etc/ipnat.rules"Hálózati címfordítás
nagyon nagy helyi hálózatok
esetébenAz olyan helyi hálózatokban, ahol rengeteg PC
található vagy több alhálózatot
is tartalmaz, az összes privát IP-cím
egyetlen publikus IP-címbe
tömörítése igen komoly
problémává tud dagadni és az azonos
portok gyakori használata a helyi hálózatra
kötött számítógépek
között ütközéseket okoz. Két
módon tudunk megoldást nyújtani erre a
problémára.A használható portok
kiosztásaEgy normális címfordítási
szabály valahogy így nézne ki:map dc0 192.168.1.0/24 -> 0/32A fenti szabályban a csomag
forrásportját az IPNAT változatlanul a
feldolgozás után hagyja. Ha ehhez még
hozzátesszük a portmap
kulcsszót, akkor ezzel utasítani tudjuk az
IPNAT-ot, hogy csak az adott tartományban
képezze le a forrásportokat.
Például a következõ szabály
hatására az IPNAT a forrásportokat egy
adott tartományon belül fogja
módosítani:map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp 20000:60000Ha viszont még inkább meg akarjuk
könnyíteni a dolgunkat, akkor itt egyszerûen
csak adjuk meg az auto kulcsszót,
amellyel az IPNAT önmagától
megállapítja, hogy milyen portokat tud
használni:map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp autoTöbb publikus cím használataMinden nagyobb helyi hálózat esetében
elérkezünk ahhoz a ponthoz, ahol már
egyetlen publikus cím nem elég. Ha több
publikus IP-címmel is rendelkezünk, akkor
ezekbõl a címekbõl egy közös
készletet hozhatunk létre, amibõl
majd az IPNAT válogathat miközben a csomagok
címeit átírja kifelé
menetben.Például ahelyett, hogy a csomagokat egyetlen
publikus IP-címre képeznénk le, ahogy itt
tesszük:map dc0 192.168.1.0/24 -> 204.134.75.1A hálózati maszk
segítségével meg tudjuk adni
IP-címek egy tartományát is:map dc0 192.168.1.0/24 -> 204.134.75.0/255.255.255.0CIDR-jelöléssel:map dc0 192.168.1.0/24 -> 204.134.75.0/24A portok átirányításaGyakran elõfordul, hogy van webszerverünk,
levelezõ szerverünk, adatbázis szerverünk
és névszerverünk, melyek a helyi
hálózat különbözõ
gépein futnak. Ebben az esetben a szerverekhez
tartozó forgalmat is fordítanunk kell, illetve
valamilyen módon a bejövõ forgalmat is
át kell irányítanunk a helyi
hálózat megfelelõ gépeihez. Az IPNAT
ezt a gondot a hálózati
címfordítás
átirányítást támogató
funkcióival szünteti meg. Tegyük fel, hogy a
10.0.10.25 belsõ
címen van egy webszerverünk, amelyhez a 20.20.20.5 publikus IP tartozik.
Ilyenkor a következõ szabályt adjuk meg:rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80vagy:rdr dc0 0.0.0.0/0 port 80 -> 10.0.10.25 port 80Így tudjuk beállítani a 10.0.10.33 címmel
rendelkezõ névszervert a kintrõl
érkezõ névfeloldási
kérések fogadására:rdr dc0 20.20.20.5/32 port 53 -> 10.0.10.33 port 53 udpAz FTP és a címfordításAz FTP egy olyan õskövület, amely még
az internet egy régi korszakából maradt fenn,
amikor az egyetemek között még bérelt
vonal létezett és az FTP szolgált a
kutatók közt az állományok
megosztására. Ez még abban az idõben
történt, amikor a biztonság
egyáltalán nem volt lényeges szempont. Az
évek elõrehaladtával az FTP protokoll
beleivódott a feltörekvõ internet
gerincébe és a titkosítatlanul
küldött azonosítóival és
jelszavaival továbbra is ugyanolyan védtelen
maradt. Az FTP két változatban, aktív
és passzív módban képes
mûködni. Az eltérés kettejük
között az adatcsatorna
megállapításában van. A
passzív mód sokkal biztonságosabb, mivel
ilyenkor az adatcsatornát az FTP kapcsolatot
kezdeményezõ állítja be. Az FTP
különbözõ módjainak
magyarázatát és a köztük
levõ különbséget a
címen ismerhetjük meg részleteiben
(angolul).Az IPNAT szabályaiAz IPNAT egy speciális beépített FTP
proxyval rendelkezik, amelyre a hálózati
címfordítás leképezései
között hivatkozhatunk. Képes figyelni az
összes aktív vagy passzív FTP kapcsolathoz
tartozó kimenõ kérést és
ezekhez dinamikusan létrehozni olyan ideiglenes
szûrési szabályokat, amelyek valóban
csak az adatcsatornához felhasznált portokat
tartalmazzák. Ezzel ki tudjuk
küszöbölni az FTP azon káros
hatását a tûzfalra nézve, hogy
egyszerre túlságosan sok magasabb
tartománybeli port legyen nyitva.Ez a szabály a belsõ hálózat
összes FTP forgalmát lekezeli:map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcpEz a szabály pedig az
átjáróról érkezõ FTP
forgalommal bírkózik meg:map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcpEz a szabály kezeli a belsõ
hálózatról érkezõ összes
nem FTP típusú forgalmat:map dc0 10.0.10.0/29 -> 0/32Az FTP leképzésére vonatkozó
szabály a szokásos leképzési
szabály elé kerül. Az összes csomag
fentrõl haladva az elsõ illeszkedõ
szabály alapján kerül feldolgozásra.
Elõször a felület nevét
vizsgáljuk, majd a belsõ hálózatbeli
forrás IP-t, végül azt, hogy a csomag egy
FTP kapcsolat része. Ha minden
paraméterében megfelel, akkor az FTP proxy
készít egy ideiglenes szûrési
szabályt hozzá, amellyel az FTP kapcsolathoz
tartozó csomagok mind a két irányba
képesek lesznek vándorolni, természetesen
a címfordítással együtt. Az
összes többi bentrõl érkezõ csomag
átlép ezen a szabályon és
megáll a harmadiknál, ahol a felületnek
és forrás IP-nek megfelelõen
átfordítjuk a címét.Az IPNAT szûrési szabályai
FTP-reAz FTP esetében csak egyetlen szûrési
szabályra van szükségünk a
hálózati címfordításba
épített FTP proxy
használatához.FTP proxy nélkül az alábbi három
szabály kellene:# Kifelé engedélyezzük a belsõ gépek FTP elérést az internet irányába,
# aktív és passzív módokban.
pass out quick on rl0 proto tcp from any to any port = 21 flags S keep state
# Kifelé engedélyezzük a passzív módhoz tartozó magasabb tartománybeli
# adatcsatornákat.
pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep state
# Aktív módban beengedjük az FTP szervertõl érkezõ adatcsatornát.
pass in quick on rl0 proto tcp from any to any port = 20 flags S keep stateIPFWtûzfalakIPFWEz a szakasz fejlesztés alatt áll. Ennek
megfelelõen a tartalma nem minden esetben pontos.Az IPFIREWALL (IPFW) a &os; által támogatott
tûzfalazó alkalmazás, melyet a &os; Projektben
résztvevõ önkéntesek fejlesztettek ki
és tartanak karban. Régi típusú,
állapottartás nélküli szabályokat
használ, és az itt használatos
szabályírási technikát
egyszerû állapottartó
megoldásnak nevezzük.Az IPFW szabvány &os;-ben levõ, mintaként
szolgáló szabályrendszere (ez az
/etc/rc.firewall állományban
található meg) annyira egyszerû, hogy komolyabb
módosítások nélkül nem
ajánlatos használni. Ez a példa nem
tartalmaz állapottartó szûrést, ami
viszont a legtöbb esetben kívánatos lenne,
ezért ezt a szakaszt nem erre alapozzuk.Az IPFW állapottartás nélküli
szabályainak felépítésében
olyan technikailag kifinomult leválogatási
képességek bújnak meg, amelyek
jócskán meghaladják az átlagos
tûzfalépítõk tudását. Az
IPFW elsõsorban olyan szakemberek vagy szakmailag
elõrehaladott felhasználók
számára készült, akiknek
speciális csomagszûrési igényeik vannak.
A különbözõ protokollok
használatának és a hozzájuk
tartozó fejlécinformációk mindenre
kiterjedõ ismerete szinte nélkülözhetetlen
az IPFW valódi erejének
kihasználásához. Ez a szint azonban
túlmutat a kézikönyv ezen szakaszának
keretein.Az IPFW hét komponensbõl épül fel,
melyek közül az elsõdleges a rendszermag
tûzfalazásért felelõs
szabályfeldolgozó és a
hozzátartozó csomagnyilvántartás, majd
ezt követi a naplózás, a hálózati
címfordítást aktiváló
divert szabály, valamint a komolyabb
célok megvalósítására alkalmas
lehetõségek: a forgalom
korlátozásáért felelõs dummynet,
a továbbküldésre alkalmas fwd
szabály, a hálózati hidak
támogatása, illetve az ipstealth.Az IPFW engedélyezéseIPFWengedélyezéseAz IPFW az alap &os; telepítésben
külön, futás idõben betölthetõ
modulként érhetõ el. Ha az
rc.conf állományban megadjuk
a firewall_enable="YES"
beállítást, akkor a rendszer
indulásakor ezt a modult dinamikusan betölti. Az
IPFW-t csak akkor kell a &os; rendszermagjába
beépítenünk, ha szükségünk
van a címfordítási
funkciójára is.Ha tehát az rc.conf
állományban megadtuk a
firewall_enable="YES" sort és
újraindítottuk a
számítógépünket, akkor a
következõ fehérrel kiemelt üzenet fog
megjelenni a rendszerindítás során:ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabledA logging disabled üzenetbõl
kiderül, hogy a modul nem végez
naplózást. A naplózást és a
hozzátartozó részletesség
szintjét úgy tudjuk beállítani, ha
az /etc/sysctl.conf
állományba felvesszük a következõ
sorokat, amivel a következõ indításkor
már mûködni fog:net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=5A rendszermag beállításaia rendszermag
beállításaiIPFIREWALLa rendszermag
beállításaiIPFIREWALL_VERBOSEa rendszermag
beállításaiIPFIREWALL_VERBOSE_LIMITIPFWa rendszermag
beállításaiHa nem akarjuk kihasználni az IPFW által
felkínált címfordítási
lehetõségeket, akkor egyáltalán nem
szükséges a &os; rendszermagjába
belefordítani a támogatását.
Ezért az alábbiakat csak
kiegészítõ
információként tüntettük
fel.options IPFIREWALLEz a beállítás engedélyezi az
IPFW használatát a rendszermag
részeként.options IPFIREWALL_VERBOSEEzzel és a log kulcsszóval
tudjuk az IPFW szabályain keresztülhaladó
csomagokat naplózni.options IPFIREWALL_VERBOSE_LIMIT=5Ez az érték korlátozza a
&man.syslogd.8; segítségével
naplózott azonos bejegyzések maximális
számát. Ezt a beállítást
olyan veszélyes környezetekben érdemes
használnunk, ahol naplózni akarunk.
Segítségével meg tudjuk akadályozni,
hogy a rendszernapló elárasztásával
megakasszák a rendszerünket.a rendszermag
beállításaiIPFIREWALL_DEFAULT_TO_ACCEPToptions IPFIREWALL_DEFAULT_TO_ACCEPTEzen beállítás hatására a
tûzfal alapértelmezés szerint mindent
átenged, ami általában akkor jöhet
jól, amikor még csak ismerkedünk a
tûzfallal.options IPV6FIREWALL
options IPV6FIREWALL_VERBOSE
options IPV6FIREWALL_VERBOSE_LIMIT
options IPV6FIREWALL_DEFAULT_TO_ACCEPTEzek a beállítások teljesen megegyeznek
az IPv4 alapú társaikkal, csak ezek az IPv6-ra
vonatkoznak. Ha nem akarunk IPV6-ot használni, akkor ne
adjunk meg az IPV6FIREWALL beállításhoz
szabályokat, és így az összes IPv6
csomag blokkolásra kerül.a rendszermag
beállításaiIPDIVERToptions IPDIVERTEzzel a beállítással
engedélyezzük a címfordítás
használatát.Ha nem adjuk meg az IPFIREWALL_DEFAULT_TO_ACCEPT
beállítást, vagy ha nem
engedélyezzük a bejövõ csomagokat, akkor
a gépünkre semmilyen csomag nem lesz képes
bejutni, illetve onnan kijutni.Az /etc/rc.conf
beállításaiÍgy tudjuk engedélyezni a
tûzfalat:firewall_enable="YES"A &os;-hez mellékelt alapértelmezett
tûzfaltípusok közül az
/etc/rc.firewall állomány
átolvasásával tudunk választani,
és megadni az alábbi helyett:firewall_type="open"A következõ értékek állnak
rendelkezésünkre:open — átengedi az
összes forgalmatclient — csak ezt a
gépet védisimple — az egész
hálózatot védiclosed — a helyi felület
kivételével minden IP alapú forgalmat
tiltUNKNOWN — tiltja a tûzfal
szabályainak betöltésétállománynév
— a tûzfal szabályait tartalmazó
állomány abszolút elérési
útvonalaKét különbözõ módon lehet
betölteni a saját ipfw
szabályainkat. Az egyik közülük, ha a
firewall_type változóban
megadjuk a tûzfal szabályait
tartalmazó állomány abszolút
elérési útvonalát, az &man.ipfw.8;
parancssori beállításai nélkül.
Egy egyszerû szabályrendszer lehet
például a következõ:add block in all
add block out allMásrészrõl az
firewall_script változóban is
megadhatjuk azt a szkriptet, amelyben a
rendszerindítás során meghívjuk
ipfw parancsot. Az iménti
szabályrendszert az alábbi szkripttel tudjuk
kiváltani:#!/bin/sh
ipfw -q flush
ipfw add block in all
ipfw add block out allHa a firewall_type
változó client vagy
simple értékét
használjuk, akkor az
/etc/rc.firewall
állományban található
alapértelmezett szabályokat érdemes
átvizsgálnunk, hogy kellõen illeszkednek-e
az adott géphez. Hozzátennénk, hogy a
fejezetben szereplõ példák azt
feltételezik, hogy a firewall_script
értéke az /etc/ipfw.rules
állomány.A naplózás így
engedélyezhetõ:firewall_logging="YES"A firewall_logging
változó egyedül csak annyit tesz, hogy
beállítja a
net.inet.ip.fw.verbose sysctl
változónak az 1
értéket (lásd ). A napló
korlátozására nincs külön
változó az rc.conf
állományon belül, de az
/etc/sysctl.conf állomány
segítségével és manuálisan
be tudjuk állítani a hozzátartozó
változót:net.inet.ip.fw.verbose_limit=5Amennyiben a gépünk
átjáróként viselkedik, tehát
a &man.natd.8; segítségével
címfordítást végez, a ban olvashatunk utána, hogy ehhez
az /etc/rc.conf állományban
milyen beállításokat kell megadnunk.Az IPFW parancsipfwNormál esetben az ipfw parancs
használatos arra, hogy a tûzfal
mûködése közben az aktív belsõ
szabályai közé vegyünk fel vagy
töröljünk közülük
manuálisan bejegyzéseket. Ennek a
módszernek az egyedüli hátránya, hogy
az így végrehajtott
módosítások el fognak veszni a rendszer
leállításával. Itt inkább
azt a megoldást javasoljuk, hogy az összes
szabályt tegyük bele egy állományba
és a rendszerindítás során ezt
töltsük be, majd ha változtatni akarunk a
tûzfalon, akkor ezt az állományt
módosítsuk és a régiek
törlésével töltsük be újra
az egész szabályrendszert.Az ipfw parancs mellesleg remekül
használható a jelenleg futó
tûzfalszabályok megjelenítésére
a konzolon. Az IPFW nyilvántartásában az
egyes szabályokhoz dinamikusan jönnek létre
számlálók, amelyek a rá
illeszkedõ csomagokat számolják. A
tûzfal tesztelése folyamán a szabályok
és hozzátartozó
számlálók lekérdezése a
megfelelõ mûködés
ellenõrzésének egyik lehetséges
módja.A szabályokat így tudjuk egymás
után felsoroltatni:&prompt.root; ipfw listA szabályokat így tudjuk az utolsó
illeszkedésük idejével együtt
megjeleníteni:&prompt.root; ipfw -t listA nyilvántartás lekérdezésekor a
szabályok mellett az illeszkedõ csomagok
száma is láthatóvá válik. Az
elsõ sorban a szabály száma szerepel, majd
ezt követi rendre az illeszkedõ kimenõ és
bejövõ csomagok mennyisége, valamint
végül maga a szabály.&prompt.root; ipfw -a listA statikus szabályok mellett a dinamikusakat
így lehet kilistázni:&prompt.root; ipfw -d listA lejárt dinamikus szabályokat is meg tudjuk
nézni:&prompt.root; ipfw -d -e listA számlálók
nullázása:&prompt.root; ipfw zeroCsak a SZÁM
sorszámú szabályhoz tartozó
számlálók nullázása:&prompt.root; ipfw zero SZÁMSzabályrendszerek az IPFW-benEgy szabályrendszer lényegében nem
több, mint ipfw szabályok egy
csoportja, amelyekben a csomagokat tartalmuktól
függõen továbbengedjük vagy eldobjuk. A
gépek közti kétirányú
csomagváltás egy kapcsolat
létrejöttének számít. A
tûzfalszabályok a csomagokat kétszer
dolgozzák fel: elõször amikor az
internetrõl megérkeznek, másodjára
pedig akkor, amikor visszatérnek az internetre. Minden
egyes TCP/IP szolgáltatást
(vagyis a telnet, www, levelezés stb.) meghatároz
a saját protokollja és a
hozzátartozó port száma. Ez az az
alapvetõ szûrési feltétel, ami
alapján a szolgáltatásokhoz
engedélyezését vagy tiltását
megvalósító szabályokat
megalkotjuk.IPFWa szabályok feldolgozásának
sorrendjeAmikor egy csomag eléri a tûzfalat, a
szabályrendszer elsõ szabályával
kerül összehasonlításra és
amíg nem illeszkedik valamelyikre, addig lefut rá
a többi szabály is fentrõl lefelé
egyesével, a sorszámuknak megfelelõ
növekvõ sorrendben. Ha a csomag megfelel valamelyik
szabály leválogatási paramétereinek,
akkor a benne megnevezett cselekvés zajlik le, és
számára a feldolgozás befejezõdik.
Ezt a viselkedést neveztük az elsõ
illeszkedés nyer típusú
keresésnek. Amennyiben a csomag egyetlen
szabályra sem illeszkedik, akkor az
ipfw 65535-ös sorszámú
állandó szabálya fogja elcsípni,
amely feladata szerint eldobja az összes hozzá
beérkezõ csomagot anélkül, hogy
bármit is válaszolna a csomag
feladójának.A keresés a count,
skipto és tee
szabályok után még
folytatódik.Az itt szereplõ utasítások az
állapottartó keep state, a
limit,
in/out és
via szabályokra
építkeznek. Ezek szolgálnak az
inkluzív tûzfalak
megvalósításának alapvetõ
eszközeiként.Az inkluzív tûzfal csak a szabályoknak
megfelelõ szolgáltatásokat engedélyez.
Segítségével meg tudjuk határozni,
hogy a tûzfal mögül milyen
szolgáltatásokat érhetünk el az
interneten, valamint azt is megadhatjuk vele, hogy az
internetrõl melyik szolgáltatásokhoz
férhetnek hozzá a saját belsõ
hálózatunkban. Felépítése
szerint minden mást tilt. Az inkluzív
jellegû tûzfalak sokkal bizontságosabbak az
exkluzív tûzfalaknál, ezért itt most
csak ilyen típusú szabályrendszerekkel
foglalkozunk.A tûzfal szabályainak
beállítása során nem árt
óvatosnak lennünk, mert
figyelmetlenségünk révén
könnyen kizárathatjuk magunkat a
gépünkrõl.A szabályok
felépítéseIPFWa szabályok
felépítéseAz itt bemutatásra kerülõ
szabályok felépítését csak
olyan mértékig részletezzük, ami
elengedõ a szabványos inkluzív
típusú tûzfalak
kialakításához. A szabályok
felépítésének pontos
leírását az &man.ipfw.8; man
oldalán találhatjuk meg.A szabályok kulcsszavakat tartalmaznak. Ezeket a
kulcsszavakat soronként egy elõre
rögzített sorrendben kell szerepeltetni. A
kulcsszavakat a szövegben kiemeltük. Bizonyos
kulcsszavakhoz további opciókhoz is
tartozhatnak, amelyek gyakran maguk is kulcsszavak és
szintén további opciókat
tartalmazhatnak.A # egy megjegyzés
kezdetét jelzi, mely egyaránt megjelenhet egy
külön sorban, vagy egy szabályt
tartalmazó sor végén. Az üres sorok
nem vesznek részt a feldolgozásban.PARANCS SZABÁLY_SZÁM
CSELEKVÉS NAPLÓZÁS SZÛRÉS
ÁLLAPOTTARTÁSPARANCSMinden új szabály elõttt az
add (mint hozzáadás)
parancsnak kell szerepelni, amellyel a belsõ
táblázatba tudjuk felvenni.SZABÁLY_SZÁMA szabályokhoz mindig tartozik egy sorszám
is.CSELEKVÉSA szabályhoz az alábbi cselekvések
valamelyike kapcsolható, amely akkor hajtódik
végre, amikor a csomag megfelel a
hozzátartozó szûrési
feltételeknek.allow | accept | pass |
permitA fentiek közül mindegyik ugyanazt jelenti,
vagyis hatásukra az illeszkedõ csomag
kilép a tûzfalból. Ez a szabály
megállítja a keresést.check-stateA csomagot a dinamikus szabályokat
tároló táblázattal veti
össze. Ha itt egyezést talál, akkor
végrehajtja az egyezõ dinamikus
szabályhoz tartozó cselekvést, minden
más esetben továbblép a
következõ szabályra. Ennek a
szabálynak nincs illeszthetõ paramétere.
Ha a szabályrendszerben nem szerepel ilyen, akkor a
dinamikus szabályok vizsgálatát az
elsõ keep-state vagy
limit használatánál
vonja be a rendszer.deny | dropMind a két szó ugyanarra utal, vagyis a
szabályra illeszkedõ csomagokat el kell dobni.
Ebben az esetben a keresés befejezõdik.NAPLÓZÁSlog vagy
logamountAmikor egy csomag egy log
kulcsszót tartalmazó szabályra
illeszkedik, akkor a rendszernaplóban egy üzenet
keletkezik a security (biztonság)
funkción keresztül. A naplóba
ténylegesen csak akkor kerül bele az
üzenet, ha az adott szabály még nem
haladta meg a hozzátartozó
logamount paraméter
értékét. Ha ezt nem adtuk meg, akkor
az itt érvényes korlát a
net.inet.ip.fw.verbose_limit sysctl
változóból fog származni. A
nulla érték mind a két esetben
megszünteti ezt a korlátozást. Ha
elértük a korlátot, akkor a
naplózást úgy tudjuk újra
engedélyezni, ha töröljük a
naplózáshoz tartozó
számláló értékét,
lásd az ipfw reset log
parancsot.A naplózás mindig az összes
paraméter illeszkedésének
ellenõrzése után történik,
de még a cselekvés (accept, deny)
elvégzése elõtt. Teljesen rajtunk
múlik, hogyan milyen szabályokat
naplózunk.SZÛRÉSEbben a szakaszban azok a kulcsszavak
találhatóak, amelyek
segítségével a csomagok
különbözõ tulajdonságait tudjuk
megvizsgálni és eldönteni, hogy
illeszkedik-e a szabályra vagy sem. A
következõ általános
tulajdonságokat tudjuk megvizsgálni, ebben a
kötött sorrendben:udp | tcp | icmpBármilyen más olyan protokoll is
megadható, amely megtalálható az
/etc/protocols
állományban. Ezzel adjuk a csomaghoz
tartozó protokollt. Használata
kötelezõ.from forrás
to célMind a from és
to kulcsszavak IP-címek
illesztésére alkalmasak. A
szabályoknak tartalmazniuk kell a
forrás ÉS a
cél paramétereket
is. Az any egy olyan kulcsszó,
amely tetszõleges IP-címre illeszkedik. A
me pedig egy olyan speciális
kulcsszó, amely a tûzfalat
mûködtetõ &os;-s gép (tehát ez
a gép) adott felülethez tartozó
IP-címét jelöli, mint ahogy a from
me to any, from any to me,
from 0.0.0.0/0 to any, from any to
0.0.0.0/0, from 0.0.0.0 to any,
from any to 0.0.0.0 vagy from me to
0.0.0.0 paraméterekben. Az IP-címek
numerikus pontozott formában a hálózati
maszk hosszával együtt, vagy egyszerûen
csak pontozott formában adhatóak meg. A
hálózati maszkok
megállapításában a címen
található honlap nyújthat
segítséget (angolul).port
számA portszámokat is ismerõ protokollok
esetében (mint például a
TCP vagy UDP) adhatjuk meg. Fontos, hogy
itt annak a szolgáltatásnak a
portszámát adjuk meg, amelyre a szabály
vonatkozik. A szolgáltatás (az
/etc/services
állományból származó)
nevét is megadhatjuk a port száma
helyett.in | outA beérkezõ valamint a kimenõ csomagokat
adhatjuk meg ezen a módon. Itt az
in és out
kulcsszavak, melyeket kötelezõ megadni a
szabály részeként.via
felületNév szerint az adott felületen
keresztül haladó csomagokat tudjuk szûrni.
A via kulcsszó
hatására a használt felület is
számítani fog a csomag feldolgozása
során.setupEz a kulcsszó a TCP csomagok
esetében a kapcsolatok
felépítésére vonatkozó
kéréseket segít
beazonosítani.keep-stateEz egy kötelezõ kulcsszó.
Feldolgozásakor a tûzfal létrehoz
dinamikus szabályt, amely
alapértelmezés szerint az egyazon protokollt
használó forrás és cél
IP/port párosok közti
kétirányú forgalomra fog automatikusan
illeszkedni.limit
{forráscím |
forrásport |
célcím |
célport}A tûzfal csak N darab, a
szabálynak megfelelõ azonos
paraméterû kapcsolatot fog átengedi. Itt
egy vagy több forrás- és
célcím valamint forrás- és
célport adható meg. A
limit és a
keep-state egy szabályon
belül nem használható. A
limit ugyanazokat az
állapottartó funkciókat
képviseli, mint a keep-state, csak
a saját kiegészítéseivel
megtoldva.ÁLLAPOTTARTÁSIPFWállapottartó
szûrésAz állapottartó szûrés a
kétirányú csomagváltásokat
egy létrejött kapcsolatba sorolja. Olyan
vizsgálatokat végez, amivel képes
megállapítani, hogy a csomag küldõje
és címzettje között kialakult
kommunikáció követ-e valamilyen
kétirányú csomagküldésre
érvényes folyamatot. Az így
felállított sablontól eltérõ
összes csomag hamisnak minõsül és
automatikusan eldobásra kerül.A check-state
segítségével ellenõrizhetjük,
hogy az adott csomag a IPFW szerint megfelel-e valamelyik
dinamikusan leképzett szabálynak. Ha egyezik
valamelyikõjükkel, akkor a csomag a
tûzfalból kilépve folytatja
útját és a kommunikációban
soron következõ csomag számára
létrejön egy másik dinamikus
szabály. Ha nincs egyezés, akkor csomag
feldolgozása a szabályrendszer
következõ szabályánál
folytatódik.A dinamikus szabályokat kezelõ rutin
sebezhetõ, mivel ha egyszerre nagy mennyiségû
SYN csomagot küldünk, akkor olyan sok dinamikus
bejegyzés keletkezik, hogy egyszerûen kifogyunk a
rendelkezésre álló
erõforrásokból. A &os; fejlesztõi
azonban az ilyen természetû
támadások kivédésére is
felkészítették, és
kialakították belõle a
limit opciót.
Alkalmazásával le tudjuk korlátozni az
egyszerre folyó párhuzamos kapcsolatok
számát a forrás vagy a cél a
limit paraméternél megadott
mezõinek és a csomag IP-címe
alapján. Így az adott szabályhoz
és IP-címhez csak elõre
rögzített mennyiségû nyitott
állapotú dinamikus szabály
létezhet egy idõben. Ha ezt a korlátot
átlépjük, a csomag eldobódik.A tûzfal üzeneteinek
naplózásaIPFWnaplózásA naplózás elõnyei
nyilvánvalóak. Ha engedélyezzük,
aktiválása után képesek
leszünk olyan információknak
utánanézni, mint például milyen
csomagokat dobtunk el, honnan érkeztek, hova tartottak.
Ez egy komoly fegyverünk lehet a potenciális
támadókkal szemben.Azonban hiába engedélyezzünk
önmagában a naplózást, attól
az IPFW még saját magától nem fog
naplózást elõíró
szabályokat gyártani. A tûzfal
karbantartóinak maguknak kell eldöntenie, hogy a
szabályrendszerben mely szabályokhoz tartozzon
naplózás, nekik kell felvenni ezekhez a
log kulcsszót.
Általában csak az eldobással
járó deny
típusú szabályokat vagy a
bejövõ ICMP pingeket
szokták naplózni. Gyakran úgy
oldják meg ezt, hogy a szabályrendszer
utolsó szabályaként
lemásolják az ipfw
alapértelmezett mindent eldobunk
szabályát és a naplózást
adják meg benne. Ezen a módon fény
derül azokra a csomagokra, amelyek a
szabályrendszerben semmire sem illeszkedtek.A naplózás azonban egy
kétélû fegyver, mivel ha nem vagyunk
elég körültekintõek, akkor a sok
naplóinformáció között
könnyen el tudunk veszni és a lemezünk is
gyorsan betelhet a mindent elfoglaló
naplóktól. Mellesleg a naplók
megdagasztását célzó DoS
típusú támadás a rendszerek
lebénítására alkalmazott egyik
legõsibb technika. Ezek az üzenetek nem csak a
rendszernaplóba kerülnek bele, hanem az
elsõdleges konzol képernyõjére is
kiíródnak, ami egy idõ után
idegesítõ tud lenni.A rendszermag
IPFIREWALL_VERBOSE_LIMIT=5
beállításával azonban
képesek vagyunk korlátozni azokat a
rendszernapló felé küldött
egymás után következõ üzeneteket,
amelyek ugyanarra a szabályra vonatkoznak. Amikor ezt
a beállítást megadjuk a rendszermag
fordításánál, akkor az egyes
szabályokhoz az általa meghatározott
értéken felül nem jön létre
több hasonló üzenet. Hiszen semmi sem
derül ki 200 teljesen azonos
naplóüzenetbõl. Például, ha az
egyes szabályokhoz legfeljebb öt egymást
követõ üzenetet engedélyezünk,
akkor a többi fennmaradó azonos üzenetet
összeszámolja a rendszer és a
következõ módon közvetíti a
rendszernaplózó szolgáltatás
felé:last message repeated 45 timesAmi magyarul így hangzik:az utolsó üzenet 45 alkalommal ismétlõdött megAz összes csomagokkal kapcsolatos
naplózás alapértelmezés szerint a
/var/log/security
állományba kerül, amelyet az
/etc/syslog.conf állomány
definiál.Szabályokat tartalmazó szkript
készítéseA rutinosabb IPFW felhasználók a
szabályokat egy állományban
programozzák le olyan stílusban, hogy
szkriptként is futtatható legyen. Ennek az
egyik legnagyobb elõnye, hogy a tûzfal
szabályai így egyszerre cserélhetõek
a rendszer újraindítása
nélkül. Ez a módszer nagyon
kényelmes az új szabályok
kipróbálásánál, mivel
tetszõleges alkalommal végrehajthatjuk. Mivel ez
egy szkript, ki tudjuk használni az itt megszokott
szimbolikus helyettesítés által
felkínált lehetõségeket, és
ezzel a gyakran használt értékeket is
egyszerre több szabályban tudjuk
helyettesíteni. Erre a következõkben fogunk
egy konkrét példát látni.A szkript felépítése kompatibilis a
sh, csh és
tcsh parancsértelmezõkkel. A
szimbolikus mezõk helyettesítését a
$ vagyis dollárjel vezeti be. Maguk a
szimbolikus mezõk nem tartalmazzák a $
elõtagot. A szimbolikus mezõk
értékeit "kettõs idézõjelek"
között kell megadni.A szabályok összeírását
kezdjük el így:####### itt kezdõdik az ipfw szabályait tartalmazó szkript ######
#
ipfw -q -f flush # töröljük az összes aktuális szabályt
# Set defaults
oif="tun0" # a kimenõ felület
odns="192.0.2.11" # az internet szolgáltató névszerverének IP-címe
cmd="ipfw -q add " # a szabályok hozzáadásához szükséges elemek
ks="keep-state" # csupán a lustaság miatt
$cmd 00500 check-state
$cmd 00502 deny all from any to any frag
$cmd 00501 deny tcp from any to any established
$cmd 00600 allow tcp from any to any 80 out via $oif setup $ks
$cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks
$cmd 00611 allow udp from any to $odns 53 out via $oif $ks
#### itt fejezõdik be az ipfw szabályait tartalmazó szkript ######Ezzel készen is vagyunk. Most ne
törõdjünk a példában
szereplõ szabályokkal, itt most a szimbolikus
helyettesítés használatát
igyekeztük bemutatni.Ha az iménti példát az
/etc/ipfw.rules állományba
mentettük el, akkor az alábbi parancs
kiadásával tudjuk újratölteni a
benne szereplõ szabályokat:&prompt.root; sh /etc/ipfw.rulesAz /etc/ipfw.rules
állományt egyébként
tetszõleges néven hívhatjuk és
bárhová rakhatjuk.Ugyanez természetesen elérhetõ a
következõ parancsok egymás utáni
begépelésével is:&prompt.root; ipfw -q -f flush
&prompt.root; ipfw -q add check-state
&prompt.root; ipfw -q add deny all from any to any frag
&prompt.root; ipfw -q add deny tcp from any to any established
&prompt.root; ipfw -q add allow tcp from any to any 80 out via tun0 setup keep-state
&prompt.root; ipfw -q add allow tcp from any to 192.0.2.11 53 out via tun0 setup keep-state
&prompt.root; ipfw -q add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep-stateÁllapottartó
szabályrendszerekA most következõ
címfordítás nélküli
szabályrendszer arra mutat példát, hogyan
valósítsunk meg egy biztonságos
inkluzív tûzfalat. Az
inkluzív tûzfalak csak a szabályainak
megfelelõ szolgáltatásokat engedik
át, minden mást alapértelmezés
szerint tiltanak. Minden tûzfalhoz legalább
két felület tartozik, és a
mûködéséhez ezek mindegyikéhez
meg kell adnunk szabályokat.Az &unix; mintájú operációs
rendszer, köztül a &os; is olyan, hogy a rendszerben
belüli kommunikációt a
lo0 nevû felületen
és a 127.0.0.1
IP-címen bonyolítja le. A tûzfalban
mindenképpen szerepelniük kell olyan
szabályoknak, amelyek gondoskodnak ezen
speciális belsõ csomagok zavartalan
közlekedésérõl.Az internet felé csatlakozó felület
lesz az, amelyen keresztül a kifelé menõ
kéréseket hitelesítjük és
vezéreljük az internet
elérését, valamint ahol szûrjük
az internet felõl érkezõ
kéréseket. Ez lehet a PPP esetében a
tun0 eszköz, vagy a DSL-,
illetve kábelmodemhez csatlakozó
hálózati kártya.Abban az esetben, amikor egy vagy több
hálózati kártyával csatlakozunk a
tûzfal mögött található
belsõ helyi hálózatra, szintén
gondoskodnunk kell a helyi hálózaton belül
mozgó csomagok akadálymentes
továbbításáról.A szabályokat elõször három
nagyobb osztályba kell sorolnunk: az összes
szabadon forgalmazó felület, a publikus
kimenõ és a publikus bejövõ felület
csoportjába.A publikus felületekhez tartozó csoportokban
úgy kell rendeznünk a szabályokat, hogy
elõre kerüljenek a gyakrabban használtak
és hátra a kevésbé
használtak, valamint a csoportok utolsó
szabálya blokkoljon és naplózzon minden
csomagot az adott felületen és
irányban.A következõ szabályrendszerben
szereplõ, a kimenõ kapcsolatokat tartalmazó
csoport csak olyan allow
típusú szabályokat tartalmaz, amelyek
szûrési feltételei egyértelmûen
azonosítják az interneten elérhetõ
szolgáltatásokat. Az összes
szabályban megjelennek a proto,
port,
in/out,
via és keep
state opciók. A proto
tcp szabályokban emellett szerepel még
egy setup opció is, amellyel a
kapcsolatokat kezdeményezõ csomagokat tudjuk
azonosítani és felvenni az
állapottartásért felelõs dinamikus
szabályok közé.A bejövõ felülettel foglalkozó
csoport elsõsorban a kéretlen csomagokat igyekszik
blokkolni, aminek két oka is van. Elõször is
a blokkolt csomagról elképzelhetõ, hogy
egyébként érvényes és
valamelyik késõbbi szabály fogja
hitelesíteni. Másodszor ezekkel a
szabályokkal olyan szabálytalan
idõközönként érkezõ
csomagokat tudunk eldobni, amelyeket nem akarunk a
naplóban feljegyezni, és ennek
segítségével távoltartjuk az
utolsó, mindent blokkoló és
naplózó szabálytól. A csoport
utolsó szabálya dobja el és
naplózza a hozzá befutó összes
csomagot, illetve ezen keresztül
rögzíthetünk olyan jogi
bizonyítékot, amellyel hivatalosan fel tudunk
lépni a rendszerünket támadó emberek
ellen.Amit még nem szabad elfelejtenünk: a
tûzfal az eldobott csomagokra egyáltalán
nem válaszol, egyszerûen csak eltûnnek,
mintha sosem lettek volna. Ennek köszönhetõen
a támadóknak fogalma sem lesz arról, hogy
a csomagjaik elérték-e a rendszerünket.
Minél kevesebbet tudnak a támadók a
rendszerünkrõl, annál biztonságosabb.
Amikor ismeretlen portokra érkezõ csomagokat
naplózunk, érdemes az
/etc/services/ állományban
vagy
címen (angolul) utánanézni a porthoz
tartozó szolgáltatásnak. A
különbözõ trójai programok
által portok számai ezen a linken
érhetõek el (angolul): .Példa egy inkluzív
szabályrendszerreA most következõ,
címfordítást nem tartalmazó
szabályrendszer teljesen inkluzív
típusú. Ha ezt használjuk, nem
járunk rosszul. Egyszerûen csak annyit kell
tennünk, hogy megjegyzésbe tesszük az olyan
szolgáltatásokra vonatkozó
szabályokat, amelyeket nem akarunk engedélyezni.
Amikor pedig olyan üzenetek jelennek meg a
naplóban, amelyeket nem akarunk tovább
látni, a bejövõ kapcsolatokhoz vegyünk
fel egy deny típusú
szabályt hozzájuk. Minden szabályban
cseréljük ki a dc0
felületet arra a hálózati
kártyára, amely közvetlenül
csatlakoztatja rendszerünket az internethez. A
felhasználói PPP esetében ez a
tun0.A szabályok használatában
felfedezhetünk egyfajta
rendszerszerûséget:Mindegyik sorban, ahol az internet felé nyitunk
meg egy kapcsolatot, a
opciót használjuk.Az internetrõl az összes hitelesített
szolgáltatás elérése
tartalmazza a opciót az
elárasztások kivédése
miatt.Az összes szabályban az
vagy az
paraméterrel megadjuk szûrni
kívánt forgalom
irányát.Az összes szabályban szerepel a
paraméterrel a csomagokat
továbbító felület neve.Az alábbi szabályokat tegyük az
/etc/ipfw.rules
állományba.############## Itt kezdõdnek az IPFW szabályai ##########################
# Kezdés elõtt töröljük az összes aktív szabályt.
ipfw -q -f flush
# Állítsuk be a parancsok további szükséges opciót.
cmd="ipfw -q add"
pif="dc0" # az internethez csatlakozó
# felület neve
#################################################################
# A belsõ hálózat számára ne korlátozzunk semmit se.
# Ha nincs helyi hálózatunk, akkor erre nincs szükségünk.
# Az 'xl0' nevét írjuk át a helyi hálózatra csatlakozó
# felület nevére.
################################################################
#$cmd 00005 allow all from any to any via xl0
################################################################
# A rendszer belsõ felületét se szûrjük.
################################################################
$cmd 00010 allow all from any to any via lo0
################################################################
# A csomagot engedjük át a tûzfalon, ha korábban már felvettünk
# hozzá egy dinamikus szabályt a keep-state opcióval.
################################################################
$cmd 00015 check-state
################################################################
# Az internet felé forgalmazó felület (kimenõ kapcsolatok)
# A saját hálózatunkról belülrõl vagy errõl az átjáróról
# kezdeményezett kapcsolatokat vizsgáljuk az internet felé.
################################################################
# Kifelé engedélyezzük az internet-szolgáltatónk névszerverének
# elérését. Az x.x.x.x a szolgáltatónk névszerverének IP-címe
# legyen. Ha a szolgáltatónak több névszervere is van, akkor
# másoljuk le ezeket a sorokat és az /etc/resolv.conf
# állományban található IP-címeket helyettesítsük be.
$cmd 00110 allow tcp from any to x.x.x.x 53 out via $pif setup keep-state
$cmd 00111 allow udp from any to x.x.x.x 53 out via $pif keep-state
# Kábel/DSL konfigurációk esetében kifelé engedélyezzük a
# szolgáltatónk DHCP szerverének elérését. Ha a "felhasználói
# PPP"-t használjuk, akkor erre nem lesz szükségünk, az egész
# csoportot törölhetjük. Az alábbi szabállyal csíphetjük el a
# beírandó IP-címet. Ha a naplóban megtaláltuk, akkor vegyük
# ki az elsõ szabályt, a másodikba írjuk bele a címet és
# engedélyezzük.
$cmd 00120 allow log udp from any to any 67 out via $pif keep-state
#$cmd 00120 allow udp from any to x.x.x.x 67 out via $pif keep-state
# Kifelé engedélyezzük a szabvány nem biztonságos WWW
# funkció elérését.
$cmd 00200 allow tcp from any to any 80 out via $pif setup keep-state
# Kifelé engedélyezzük a biztonságos HTTPS funkció
# elérését TLS SSL használatával.
$cmd 00220 allow tcp from any to any 443 out via $pif setup keep-state
# Kifelé engedélyezzük a e-mailek küldését és fogadását.
$cmd 00230 allow tcp from any to any 25 out via $pif setup keep-state
$cmd 00231 allow tcp from any to any 110 out via $pif setup keep-state
# Kifelé engedélyezzük a FreeBSD (a make install és a CVSUP)
# funkcióit. Ezzel lényegében a rendszeradminisztrátornak
# ,,ISTENI'' jogokat adunk.
$cmd 00240 allow tcp from me to any out via $pif setup keep-state uid root
# Kifelé engedélyezzük a pinget.
$cmd 00250 allow icmp from any to any out via $pif keep-state
# Kifelé engedélyezzük az idõ szolgáltatást.
$cmd 00260 allow tcp from any to any 37 out via $pif setup keep-state
# Kifelé engedélyezzük az nntp news szolgáltatást
# (vagyis a hírcsoportokat)
$cmd 00270 allow tcp from any to any 119 out via $pif setup keep-state
# Kifelé engedélyezzük a biztonságos FTP, telnet és SCP
# elérését az SSH (secure shell) használatával.
$cmd 00280 allow tcp from any to any 22 out via $pif setup keep-state
# Kifelé engedélyezzük a whois szolgáltatást.
$cmd 00290 allow tcp from any to any 43 out via $pif setup keep-state
# Dobjuk el és naplózzunk mindent, ami megpróbál kijutni.
# Ez a szabály gondoskodik róla, hogy alapértelmezés szerint
# mindent blokkoljunk.
$cmd 00299 deny log all from any to any out via $pif
################################################################
# Az internet felõli felület (bejövõ kapcsolatok)
# A saját hálózatunk felé vagy erre az átjáróra
# nyitott kapcsolatokat vizsgáljuk az internet felõl.
################################################################
# Blokkoljunk minden olyan bejövõ forgalmat, amely a fenntartott
# címtartományok felé tart.
$cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918: privát IP
$cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918: privát IP
$cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918: privát IP
$cmd 00303 deny all from 127.0.0.0/8 to any in via $pif #helyi
$cmd 00304 deny all from 0.0.0.0/8 to any in via $pif #helyi
$cmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP
$cmd 00306 deny all from 192.0.2.0/24 to any in via $pif #dokumentációs célokra fenntartott
$cmd 00307 deny all from 204.152.64.0/23 to any in via $pif #Sun klaszterek összekötésére használt
$cmd 00308 deny all from 224.0.0.0/3 to any in via $pif #D és E osztályú többesküldés
# A nyilvános pingek tiltása.
$cmd 00310 deny icmp from any to any in via $pif
# Az ident szolgáltatás tiltása.
$cmd 00315 deny tcp from any to any 113 in via $pif
# Blokkoljuk az összes Netbios szolgáltatást: 137=név, 138=datagram,
# 139=session. A Netbios az MS Windows megosztását implementálja.
# Blokkoljuk az MS Windows hosts2 névszerver kéréseit is a 81-es
# porton.
$cmd 00320 deny tcp from any to any 137 in via $pif
$cmd 00321 deny tcp from any to any 138 in via $pif
$cmd 00322 deny tcp from any to any 139 in via $pif
$cmd 00323 deny tcp from any to any 81 in via $pif
# Eldobjuk az összes késõn érkezõ csomagot.
$cmd 00330 deny all from any to any frag in via $pif
# Eldobjuk azokat az ACK csomagokat, amelyek egyik dinamikus
# szabálynak sem felelnek meg.
$cmd 00332 deny tcp from any to any established in via $pif
# Befelé engedélyezzük a szolgáltató DHCP szerverének válaszát. Ebben
# a szabályban csak a DHCP szerver IP-címe szerepelhet, mivel ez az
# egyetlen olyan hitelesített forrás, ami ilyen csomagokat küldhet.
# Ez csak a kábeles és DSL típusú kapcsolatok esetében szükséges.
# Amikor a "felhasználói PPP"-vel csatlakozunk az internethez, nem
# kell ez a szabály. Ugyanazt az IP-címet kell megadnunk, amelyet a
# kimenõ kapcsolatoknál is.
#$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep-state
# Befelé engedélyezzük a szabvány WWW funkciót, mivel webszerverünk
# is van.
$cmd 00400 allow tcp from any to me 80 in via $pif setup limit src-addr 2
# Befelé engedélyezzük a biztonságos FTP, telnet és SCP
# típusú kapcsolatokat az internetrõl.
$cmd 00410 allow tcp from any to me 22 in via $pif setup limit src-addr 2
# Befelé engedélyezzük az internetrõl érkezõ nem biztonságos telnet
# kapcsolatokat. Azért tekintjük nem biztonságosnak, mert az
# azonosítók és a jelszavak az interneten titkosítatlanul vándorolnak.
# Töröljük ezt a csoportot, ha nincs telnet szolgáltatásunk.
$cmd 00420 allow tcp from any to me 23 in via $pif setup limit src-addr 2
# Dobjuk el és naplózzuk az összes többi kintrõl érkezõ csomagot.
$cmd 00499 deny log all from any to any in via $pif
# Alapértelmezés szerint dobjuk el mindent. Az ide érkezõ
# csomagokat is naplózzuk, amibõl többet is ki tudunk majd
# deríteni.
$cmd 00999 deny log all from any to any
############# Itt fejezõdnek be az IPFW szabályai #####################Példa hálózati
címfordításra és
állapottartásracímfordításés az IPFWAz IPFW címfordító
funkciójának
kihasználásához további
konfigurációs beállítások
alkalmazására is szükségünk
lesz. A rendszermagban opció között meg kell
adnunk az option IPDIVERT sort a többi
IPFIREWALL sor mellett, és
fordítanunk egy saját verziót.Emellett még az /etc/rc.conf
állományban is engedélyezni kell az IPFW
alapvetõ funkcióit.natd_enable="YES" # engedélyezzük a címfordításért felelõs démont
natd_interface="rl0" # az internet felé mutató hálózati kártya neve
natd_flags="-dynamic -m" # -m = a portszámok megtartása, ha lehetségesAz állapottartó szabályok
használata a divert natd
címfordítási opcióval együtt
nagyban növeli a szabályrendszer
leprogramozásának bonyolultságát.
A check-state és divert
natd szabályok helye kritikus a
megfelelõ mûködés tekintetében.
Az eddig megszokott egyszerû viselkedés itt
már nem érvényesül. Bevezetünk
egy új cselekvést is, amelynek a neve
skipto. A skipto
parancs használatához elengedhetetlen a
szabályok sorszámozása, mivel pontosan
tudnunk kell, hogy a skipto
hatására hova kell ugrania a
vezérlésnek.A következõ példában nem fogunk
sok megjegyzést látni, mivel benne az egyik
lehetséges programozási stílust
próbáljuk érzékeltetni és a
csomagok szabályrendszerek közti
áramlását magyarázzuk.A feldolgozás a szabályokat
tartalmazó állomány tetején
található elsõ szabállyal
kezdõdik, és innen egyesével pereg
végig lefelé a feldolgozás egészen
addig, amíg a csomag a szûrési
feltételek valamelyikének eleget nem tesz
és távozik a tûzfalból.
Leginkább a 100-as, 101-es, 450-es, 500-as és
510-es sorszámú szabályokat
emelnénk ki. Ezek vezérlik kimenõ
és bejövõ csomagok
fordítását, ezért a
hozzájuk tartozó dinamikus
állapottartó bejegyzések mindig a helyi
hálózat IP-címeire hivatkoznak. Amit
még érdemes megfigyelnünk, hogy az
összes áteresztõ és eldobó
szabályban szerepel a csomag haladási
iránya (tehát kimenõ vagy éppen
bejövõ) és az érintett felület
megnevezése. Emellett azt is vegyük észre,
hogy az összes kifelé irányuló
kapcsolatlétrehozási kérés az
500-as sorszámú szabályhoz fog ugrani a
címfordítás
elvégzéséhez.Tegyük fel, hogy a helyi hálózatunkon
levõ felhasználók szeretnek honlapokat
nézgetni az interneten. A honlapok a 80-as porton
keresztül kommunikálnak. Tehát amikor egy
ilyen csomag eléri a tûzfalat, nem fog illeszkedni
a 100-as szabályra, mert a fejléce szerint
kifelé halad és nem befelé. A 101-es
szabályon is átlép, mivel ez az elsõ
csomag, így a dinamikus állapottartó
táblázatban sem szerepel még. A csomag
végül a 125-ös szabályra fog
illeszkedni: kifelé halad az internetre
csatlakozó hálózati
kártyán. A csomagban azonban még mindig
az eredeti forrás IP-címe
található, amely a helyi hálózat
egyik gépére hivatkozik. A szabály
illeszkedésekor két cselekvés is
végbemegy. A opció
hatására ez a szabály felveszi ezt a
kapcsolatot az állapottartó dinamikus
szabályok közé és végrehajtja
a másik megadott feladatot. Ez a feladat része
a dinamikus táblázatba rögzített
bejegyzésnek, ami ebben az esetben a skipto
500 (ugorjunk az 500-as
szabályra) lesz. Az 500-as szabály a
továbbküldés elõtt lefordítja a
csomag forrás IP-címét. Ezt ne
felejtsük el, nagyon fontos! A csomag ezután
eljut a céljához, és visszatérve
ismét belép a szabályrendszer
tetején. Ezúttal illeszkedni fog a 100-as
szabályra és a cél IP-címét
visszafordítjuk a helyi hálózatunk
megfelelõ gépének címére.
Ezután a check-state
szabályhoz kerül, amely megtalálja a
dinamikus szabályok között és
továbbengedi a belsõ hálózatra.
Ezzel visszakerül a küldõ géphez, amely
egy újabb csomagot küld egy újabb
adatszeletet kérve a távoli szervertõl.
Ekkor már a check-state
szabály megtalálja a hozzátartozó
bejegyzést a dinamikus szabályok
között és végrehajtódik a
korábban letárolt skipto 500
mûvelet. A csomag erre az 500-as szabályra ugrik,
ahol lefordítjuk a címét és
továbbküldjük.Az bejövõ oldalon minden, ami egy
korábban kialakult kapcsolat részeként
érkezik, automatikusan a check-state
és a megfelelõ helyre rakott divert
natd szabályok által dolgozódik
fel. Itt mindössze a rossz csomagok
eldobásával és a hitelesített
szolgáltatások elérésének
biztosításával kell foglalkoznunk.
Például a tûzfalon egy webszerver fut,
és azt szeretnénk, hogy az internetrõl
képesek legyenek elérni a rajta levõ
oldalakat. Az újonnan beérkezõ
kapcsolatépítési kérelem a 100-as
szabályra fog illeszkedni, amelynek a cél
IP-címét a tûzfal helyi
hálózaton található
címére fogjuk leképezni. A csomagot
ezután még megvizsgáljuk, nem tartalmaz-e
valamilyen huncutságot, majd végül a
425-ös szabálynál fog kikötni. Az
egyezéskor két dolog történhet: a
csomaghoz felveszünk egy dinamikus szabályt, de
ezúttal az adott forrás IP-címrõl
érkezõ kapcsolatkérések
számát 2-re lekorlátozzuk. Ezzel az
adott szolgáltatás portján meg tudjuk
óvni a tûzfalat üzemeltetõ gépet
a DoS típusú támadásoktól.
A csomagot ezután hozzátartozó
cselekvés szerint továbbengedjük a
belsõ hálózat felé.
Visszatéréskor a tûzfal felismeri, hogy a
csomag egy már meglevõ kapcsolathoz tartozik,
ezért közvetlenül az 500-as szabályhoz
kerül címfordításra, majd a
kimenõ felületen keresztül
továbbküldjük.Íme az elsõ példa egy ilyen
szabályrendszerre:#!/bin/sh
cmd="ipfw -q add"
skip="skipto 500"
pif=rl0
ks="keep-state"
good_tcpo="22,25,37,43,53,80,443,110,119"
ipfw -q -f flush
$cmd 002 allow all from any to any via xl0 # nem szûrjük a belsõ hálózatot
$cmd 003 allow all from any to any via lo0 # nem szûrjük a helyi felületet
$cmd 100 divert natd ip from any to any in via $pif
$cmd 101 check-state
# A kimenõ csomagok hitelesítése:
$cmd 120 $skip udp from any to xx.168.240.2 53 out via $pif $ks
$cmd 121 $skip udp from any to xx.168.240.5 53 out via $pif $ks
$cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks
$cmd 130 $skip icmp from any to any out via $pif $ks
$cmd 135 $skip udp from any to any 123 out via $pif $ks
# Az összes olyan csomagot eldobjuk, amely a fenntartott
# címtartományokba tart:
$cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918: privát IP
$cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918: privát IP
$cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918: privát IP
$cmd 303 deny all from 127.0.0.0/8 to any in via $pif #helyi
$cmd 304 deny all from 0.0.0.0/8 to any in via $pif #helyi
$cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP
$cmd 306 deny all from 192.0.2.0/24 to any in via $pif #dokumentációs célokra fenntartott
$cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun klaszter
$cmd 308 deny all from 224.0.0.0/3 to any in via $pif #D és E osztályú többesküldés
# Az érkezõ csomagok hitelesítése:
$cmd 400 allow udp from xx.70.207.54 to any 68 in $ks
$cmd 420 allow tcp from any to me 80 in via $pif setup limit src-addr 1
$cmd 450 deny log ip from any to any
# Ide ugrunk a kimenõ állapottartó szabályoknál:
$cmd 500 divert natd ip from any to any out via $pif
$cmd 510 allow ip from any to any
##################### a szabályok vége ##################A következõ példa teljesen megegyezik az
elõzõvel, azonban itt már
dokumentációs szándékkal
szerepelnek megjegyzések is, melyek a tapasztalatlan
IPFW szabályíróknak segítik jobban
megérteni a szabályok pontos
mûködését.A második példa:#!/bin/sh
############# Az IPFW szabályai itt kezdõdnek ###########################
# Kezdés elõtt töröljük az összes jelenleg aktív szabályt:
ipfw -q -f flush
# Beállítjuk a parancsok megfelelõ elõtagjait:
cmd="ipfw -q add"
skip="skipto 800"
pif="rl0" # az internethez csatlakozó
# hálózati felület neve
#################################################################
# A belsõ hálózat számára ne korlátozzunk semmit se.
# Ha nincs helyi hálózatunk, akkor erre nincs szükségünk.
# Az 'xl0' nevét írjuk át a helyi hálózatra csatlakozó
# felület nevére.
#################################################################
$cmd 005 allow all from any to any via xl0
#################################################################
# A rendszer belsõ felületét se szûrjük.
#################################################################
$cmd 010 allow all from any to any via lo0
#################################################################
# Ellenõrizzük, hogy ez egy beérkezõ csomag és ha igen, akkor
# fordítsuk a címét.
#################################################################
$cmd 014 divert natd ip from any to any in via $pif
#################################################################
# Ha ehhez a csomaghoz korábban már vettük fel dinamikus
# szabályt a keep-state opció révén, akkor engedjük tovább.
#################################################################
$cmd 015 check-state
#################################################################
# Az internet felé forgalmazó felület (kimenõ kapcsolatok)
# A saját hálózatunkról belülrõl vagy errõl az átjáróról
# kezdeményezett kapcsolatokat vizsgáljuk az internet felé.
#################################################################
# Kifelé engedélyezzük az internet-szolgáltatónk névszerverének
# elérését. Az x.x.x.x a szolgáltató névszerverének IP-címe
# lesz. Ha a szolgáltatónknak több névszervere is van, akkor
# az /etc/resolv.conf állományból nézzük ki a címeiket és
# másoljuk le az alábbi sor mindegyikükhöz.
$cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep-state
# A kábeles és DSL kapcsolatok esetén engedélyezzük a szolgáltató
# DHCP szerverének elérését.
$cmd 030 $skip udp from any to x.x.x.x 67 out via $pif keep-state
# Kifelé engedélyezzük a szabvány nem biztonságos WWW funkciót
$cmd 040 $skip tcp from any to any 80 out via $pif setup keep-state
# Kifelé engedélyezzük a biztonságos HTTPS funkciót a TLS SSL
# használatával.
$cmd 050 $skip tcp from any to any 443 out via $pif setup keep-state
# Kifelé engedélyezzük az e-mailek küldését és fogadását.
$cmd 060 $skip tcp from any to any 25 out via $pif setup keep-state
$cmd 061 $skip tcp from any to any 110 out via $pif setup keep-state
# Kifelé engedélyezzük a FreeBSD (make install és CVSUP) funkcióit.
# Ezzel a rendszeradminisztrátornak ,,ISTENI'' jogokat adunk.
$cmd 070 $skip tcp from me to any out via $pif setup keep-state uid root
# Kifelé engedélyezzük a pinget.
$cmd 080 $skip icmp from any to any out via $pif keep-state
# Kifelé engedélyezzük az idõ szolgáltatást.
$cmd 090 $skip tcp from any to any 37 out via $pif setup keep-state
# Kifelé engedélyezzük az nntp news szolgáltatást (tehát a
# hírcsoportokat).
$cmd 100 $skip tcp from any to any 119 out via $pif setup keep-state
# Kifelé engedélyezzük a biztonságos FTP, telnet és SCP
# funkciókat az SSH (secure shell) használatával.
$cmd 110 $skip tcp from any to any 22 out via $pif setup keep-state
# Kifelé engedélyezzük ki a whois kéréseket.
$cmd 120 $skip tcp from any to any 43 out via $pif setup keep-state
# Kifelé engedélyezzük az NTP idõszerver elérését.
$cmd 130 $skip udp from any to any 123 out via $pif keep-state
#################################################################
# Az internet felõli felület (bejövõ kapcsolatok)
# A saját hálózatunk felé vagy erre az átjáróra
# nyitott kapcsolatokat vizsgáljuk az internet felõl.
#################################################################
# Tiltsuk a fenntartott címtartományok felé haladó összes beérkezõ
# forgalmat.
$cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918: privát IP
$cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918: privát IP
$cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918: privát IP
$cmd 303 deny all from 127.0.0.0/8 to any in via $pif #helyi
$cmd 304 deny all from 0.0.0.0/8 to any in via $pif #helyi
$cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP
$cmd 306 deny all from 192.0.2.0/24 to any in via $pif #dokumentációs célokra fenntartott
$cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun klaszter
$cmd 308 deny all from 224.0.0.0/3 to any in via $pif #D és E osztályú többesküldés
# Az ident tiltása.
$cmd 315 deny tcp from any to any 113 in via $pif
# Blokkoljuk az összes Netbios szolgáltatást: 137=név, 138=datagram,
# 139=session. A Netbios az MS Windows megosztását implementálja.
# Blokkoljuk az MS Windows hosts2 névszerver kéréseit is a 81-es
# porton.
$cmd 320 deny tcp from any to any 137 in via $pif
$cmd 321 deny tcp from any to any 138 in via $pif
$cmd 322 deny tcp from any to any 139 in via $pif
$cmd 323 deny tcp from any to any 81 in via $pif
# Dobjuk el a késõn érkezõ csomagokat.
$cmd 330 deny all from any to any frag in via $pif
# Dobjuk el azokat az ACK csomagokat, amelyekre nincs
# dinamikus szabály.
$cmd 332 deny tcp from any to any established in via $pif
# Engedélyezzük a szolgáltató DHCP szerverétõl érkezõ forgalmat. Ennek
# a szabálynak tartalmaznia kell a DHCP szerver címét, mert csak tõle
# fogadunk el ilyen típusú csomagokat. Egyedül csak kábeles vagy DSL
# konfigurációk esetén használatos, a "felhasználói PPP" esetében
# törölhetjük. Ez ugyanaz az IP-cím, amelyet a kimenõ kapcsolatoknál
# megadtunk.
$cmd 360 allow udp from x.x.x.x to any 68 in via $pif keep-state
# Befelé engedélyezzük a szabvány WWW funkciót, mivel van
# webszerverünk.
$cmd 370 allow tcp from any to me 80 in via $pif setup limit src-addr 2
# Befelé engedélyezzük a biztonságos FTP, telnet és SCP
# használatát az internetrõl.
$cmd 380 allow tcp from any to me 22 in via $pif setup limit src-addr 2
# Befelé engedélyezzük a nem biztonságos telnet elérését az
# internetrõl. Azért nem tekintjük biztonságosnak, mert az
# azonosítókat és a jelszavakat az interneten titkosítatlanul
# közvetíti. Ha nincs telnet szolgáltatásunk, akkor törölhetjük is ezt
# a csoportot.
$cmd 390 allow tcp from any to me 23 in via $pif setup limit src-addr 2
# Dobjuk el és naplózzuk az összes internetrõl érkezõ hitelesítetlen kapcsolatot.
$cmd 400 deny log all from any to any in via $pif
# Dobjuk el és naplózzuk az összes internetre menõ hitelesítetlen kapcsolatot.
$cmd 450 deny log all from any to any out via $pif
# Ez lesz a kimenõ szabályokhoz tartozó "skipto" célja.
$cmd 800 divert natd ip from any to any out via $pif
$cmd 801 allow ip from any to any
# Minden mást alapértelmezés szerint tiltunk és naplózunk.
$cmd 999 deny log all from any to any
############# Az IPFW szabályai itt fejezõdnek be #####################
diff --git a/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml
index c4b786fdfa..5912535b97 100644
--- a/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml
@@ -1,7158 +1,7123 @@
+ Original Revision: 1.390 -->
JimMockÁtszervezte, átrendezte és egyes
részeit átdolgozta: RandyPrattA sysinstall bemutatása, ábrái
és bemásolása: A &os; telepítéseÁttekintéstelepítésA &os; telepítéséhez egy könnyen
használható szöveges
telepítõprogram, a
sysinstall használható.
Ez a &os; alapértelmezett telepítõprogramja,
habár ezt a különféle
gyártók kedvük szerint lecserélhetik.
Ebben a fejezetben bemutatjuk a &os;
sysinstall
segítségével történõ
telepítését.A fejezet elolvasása során
megismerjük:hogyan készítsünk
telepítõlemezeket a &os;-hez;a &os; miként hivatkozza és osztja fel a
merevlemezeinket;hogyan indítsuk el a
sysinstall programot;milyen kérdéseket tesz fel nekünk a
sysinstall, mire gondol, hogyan is
kell azokat megválaszolni.A fejezet elolvasásához ajánlott:a telepítendõ &os; verzióhoz
tartozó támogatott hardvereket felsoroló
lista átolvasása és benne a saját
hardvereszközeink megkeresése.Általánosan elmondható, hogy a most
következõ telepítési
utasítások az &i386; (PC
kompatibilis) architektúrájú
számítógépekre vonatkoznak. Ahol
erre szükség van, ott más platformokra
(például Alpha) vonatkozó
utasítások is szerepelhetnek. Habár ezt a
leírás igyekszünk a lehetõ legjobban
naprakészen tartani, elképzelhetõ, hogy
felfedezhetünk kisebb eltérésket a
telepítõben és az itt leírtak
közt. Ezért ezt a fejezetet inkább egy
általános útmutatónak javasoljuk,
nem pedig egy szó szerint értelmezendõ
kézikönyvként.HardverkövetelményekMinimális konfigurációA &os; telepítéséhez
szükséges minimális
konfiguráció &os; verziónként
és architektúránként
eltérõ.A minimális konfigurációt a &os;
honlapján a kiadásokról
szóló oldalon, az Installation
Notes részben találhatjuk meg. Ezt a
következõ szakaszokban foglaljuk össze. A &os;
telepítésének
módszerétõl függõen
szükségünk lehet egy hajlékonylemezes
(floppy) vagy CD-ROM meghajtóra, esetleg egy
hálózati kártyára. Ezt a ban tárgyaljuk.&os;/&arch.i386; és &os;/&arch.pc98;A &os;/&arch.i386; és &os;/&arch.pc98;
egyaránt egy 486 vagy jobb processzort és
legalább 24 MB memóriát
igényel. A legkisebb telepítéshez
legalább 150 MB szabad lemezterület
szükséges.Régebbi konfigurációk esetén
nem egy gyorsabb processzor, hanem inkább több
memória beszerzése, illetve több
lemezterület felszabadítása a
fontosabb.&os;/&arch.alpha;AlphaA &os;/&arch.alpha; telepítéséhez egy
ismert platformra (lásd: ), valamint a &os;-nek
szánt külön lemezre van
szükségünk. Pillanatnyilag nem
lehetséges más operációs
rendszerekkel megosztani a lemezeket. A lemezt egy olyan
SCSI-vezérlõre kell csatlakoztatnunk, amelyet
támogat az SRM firmware-je, vagy használhatunk
IDE-lemezeket is, feltéve, hogy az SRM tud róluk
rendszert indítani.ARCAlpha BIOSSRMSzükségünk lesz a platformunkon az SRM
konzol firmware-jére. Sok esetben tudunk
váltani az AlphaBIOS (vagy ARC) és az SRM
firmware-je között. Minden más helyzetben le
kell töltenünk egy új firmware-t a
gyártó honlapjáról.Az Alpha támogatás a &os; 7.0
beindulásával
eltávolításra került. A
&os; 6.X sorozat az
utolsó, amely valamilyen támogatást
ajánl ehhez az architektúrához.&os;/&arch.amd64;Két típusú processzor képes
futtatni a &os;/&arch.amd64; verzióját. Az
elsõ ezek közül az AMD64 processzorok,
beleértve az &amd.athlon;64, &amd.athlon;64-FX,
&amd.opteron; vagy újabb processzorokat.A &os;/&arch.amd64; verzióját
kihasználni képes processzorok másik
csoportja az &intel; EM64T
architektúrájára épülõ
processzorok. Ilyen processzor például az
&intel; &core; 2 Duo, Quad és Extreme
processzorcsaládok, valamint az &intel; &xeon;
3000, 5000 és 7000 sorozatszámú
processzorai.Ha nVidia nForce3 Pro-150 alapú géppel
rendelkezük, ki kell kapcsolnunk a
BIOS-ban az IO APIC használatát. Ha nem
találnánk ilyen beállítást,
akkor helyette magát az ACPI-t kell kikapcsolnunk. A
Pro-150 chipsetnek vannak bizonyos hibái, amelyekre
eddig még nem sikerült megfelelõ
megoldást találnunk.&os;/&arch.sparc64;A &os;/&arch.sparc64; telepítéséhez
egy támogatott platformra van
szükségünk (lásd: ).A &os;/&arch.sparc64; telepítéséhez
egy egész lemezre lesz szükségünk,
mivel a rendszer jelenleg nem képes megosztani azt
más operációs rendszerekkel.Támogatott hardverekA &os; minden kiadásához mellékelik a
támogatott hardverek listáját &os;
Hardware Notes címmel. Ezt a dokumentum
többnyire egy HARDWARE.TXT nevû
állomány, amelyet a rendszer CD-n vagy FTP-n
keresztül elérhetõ változatának
gyökerében vagy a
sysinstall
dokumentációkat tartalmazó
menüjében találhatunk meg.A telepítés elõtt elvégzendõ
feladatokKészítsünk leltárt a
számítógépünkrõlA &os; telepítése elõtt érdemes
összeszedni, pontosan mi minden is található
a számítógépünkben. A &os;
telepítõrutinjai mutatni fogják a
különbözõ komponensek (merevlemezek,
hálózati kártyák,
CD-meghajtók és a többi) modelljét
és gyártóját. A &os;
ezenkívü megpróbálja kideríteni
a megjelenõ eszközök pontos
konfigurációját is, beleértve a
használt IRQ és IO portok
kiosztását. A PC-s hardverek
különféle szeszélyei miatt azonban ez az
iménti folyamat nem minden esetben
megbízható, ezért elõfordulhat, hogy
helyesbíteni kell a &os; által
megállapított értékeket.Ha már van a gépünkön egy
másik operációs rendszer,
például &windows; vagy &linux;, akkor
mindenképpen hasznos lehet az általa
felkínált eszközökkel lekérdezni
a hardvereink beállításait. Ha nem
lennénk biztosak benne, hogy az adott
bõvítõkártyákat pontosan milyen
beállításokkal is használjuk,
nézzük meg ezeket magán a
kártyán. A népszerû IRQ
értékék általában a 3, 5
és 7, valamint az IO portok számát
általában tizenhatos számrendszerben
szerepeltetik, például 0x330.Javasoljuk, hogy nyomtassuk ki vagy írjuk le ezeket a
paramétereket a &os; telepítése elõtt.
Ehhez rendezzük ezeket egy táblázatban,
valahogy így:
Példa egy eszközleltárraEszköz neveIRQIO portokMegjegyzésElsõ merevlemez--Mérete 40 GB, gyártmánya
Seagate, elsõdleges IDE masterCD-ROM meghajtó--Elsõdleges IDE slaveMásodik merevlemez--Mérete 20 GB, gyártmánya
IBM, másodlagos IDE masterElsõ IDE vezérlõ140x1f0Hálózati kártya--&intel; 10/100Modem--&tm.3com; 56K-s faxmodem, COM1…
Ahogy elkészítettük a
számítógépünk
alkatrészeit tartalmazó listát, vessük
ezeket össze a telepítendõ &os; kiadás
által megkövetelt eszközökkel.Mentsük le az adatainkatAmennyiben a &os; telepítéséhez
használt számítógép
számunkra értékes adatokat tárol,
igyekezzünk lementeni ezeket, és a &os;
tényleges telepítése elõtt
gyõzõdjünk is meg róla, hogy a
mentés sikeres volt. A &os; telepítõrutinjai
természetesen megerõsítést fognak
kérni bármilyen adat lemezre írása
elõtt, azonban ha egyszer már elindítottuk a
folyamatot, már semmit sem tudunk
visszafordítani.Döntsük el a &os;
telepítésének helyétHa a &os; telepítéséhez az egész
merevlemezünket fel akarjuk használni, akkor
még nincs miért izgatnunk magunkat —
nyugodtan átléphetjük ezt a szakaszt.Amikor viszont a &os;-t más operációs
rendszerek mellé szeretnénk telepíteni,
ismernünk kell, miként is helyezkednek el az adatok
a lemezeken, és hogy ez miként is érint
bennünket.A lemezek kiosztása a &os;/&arch.i386;
eseténA PC-k által használt lemezek
különálló darabokra tagolhatóak.
Ezeket a darabokat
partícióknak nevezzük.
Mivel azonban &os; a saját maga szintén
tárol partíciókat, ezért ez az
elnevezés pillanatok alatt
megtévesztõvé válhat, ezért
ezeket a lemezdarabokat a &os; lemezslice-oknak vagy
egyszerûen csak slice-oknak hívja.
Például a PC-s lemezpartíciókkal
dolgozó, fdisk nevû &os;-s
segédprogram partíciók helyett is
slice-okra hivatkozik. A PC lemezenként alapvetõen
csak négy partíciót enged meg. Ezeket a
partíciókat nevezik elsõdleges
partícióknak. Ettõl a
korlátozástól egy új típus, a
kiterjesztett partíció
létrehozásával szabadultak meg, amivel
így négynél több
partíció is készíthetõ.
Lemezenként egyetlen ilyen kiterjesztett
partíció található, de ezen
belül speciális, ún. logikai
partíciók hozhatóak
létre.Minden partíciónak van egy
partíció-azonosítója,
melyet a partíción található adatok
típusának
megállapítására használnak.
A &os; partícióinak azonosítója a
165.Általánosságban véve minden
operációs rendszer így azonosítja a
partíciókat. Például a DOS
és annak leszármazottai, mint
például a &windows;, minden elsõdleges
és logikai partícióhoz egy
C:-tõl induló
meghajtó-betûjelet
társít.A &os;-t egy elsõdleges partícióra kell
telepíteni. A &os; az összes adatát,
beleértve minden általunk létrehozott
állományt is, ezen az egyetlen
partíción fogja elhelyezni. Ha viszont több
lemezünk van, többen is, vagy akár mindegyiken
létrehozhatunk &os;-s partíciókat. A &os;
telepítésekor azonban legalább egy ilyen
partíciónak használhatónak kell
lennie. Ez lehet elõre megtisztított üres
partíciói is, vagy akár egy olyan
partíció, amelyen már nem használt
adatok vannak.Ha már mindegyik partíciónk betelt,
akkor a többi operációs rendszer által
felkínált eszközök
(például &ms-dos;-ban vagy &windows;-ban az
fdisk) valamelyikével
elõször fel kell közülük
szabadítanunk egyet a &os; számára.Amennyiben akadna egy használható
partíció, akkor használjuk azt. Ekkor
azonban elõfordulhat, hogy ehhez elõször a
meglévõk közül össze kell majd
zsugorítanunk valamelyiket.A &os; legkisebb telepíthetõ változata
nagyjából 100 MB lemezterületet
igényel. Azonban ez egy nagyon
kicsi változat és szinte semmi helyet nem hagy a
saját állományainknak. Sokkal
valósághûbb, ha grafikus felület
nélkül nagyjából 250 MB-ot
mondunk, és legalább 350 MB-ot a grafikus
felület használata esetén. Ha ezeken
felül további szoftvereket is telepíteni
kívánunk, még több helyre lesz
szükségünk.Amikor a &os; számára akarunk helyet
csinálni, vagy partíciókat akarunk
átméretezni, használjuk
például a
&partitionmagic; nevû
kereskedelmi szoftvert vagy esetleg egy olyan szabad
eszközt, mint például a
GParted. A telepítõ CD-n
megtalálható tools
könyvtárban találhatunk erre a feladatra
két szabad szoftvert is, név szerint a
FIPS és
PResizer programokat. Ugyanitt a
hozzájuk tartozó dokumentáció is
megtalálható. A FIPS,
a PResizer és a
&partitionmagic; egyaránt
képes az &ms-dos; és a &windows; ME által
használt FAT16 és
FAT32 partíciókat
átméretezni. Ismereteink szerint a
&partitionmagic; és a
GParted is használható
az NTFS partíciókkal. A
GParted számos Live CD-s
linuxos disztribúción
megtalálható, ilyen többek közt a SystemRescueCD.Gondok lehetnek azonban a µsoft; Vista által
használt partíciókkal. Ezért nem
árt, ha az átméretezésekor a
kezünk ügyében van a Vista telepítõ
CD-je. Természetesen, mint minden lemezkarbantási
mûvelet esetén, ilyenkor is határozottan
ajánlott biztonsági mentéseket
készíteni.Az említett eszközök helytelen
használata megsemmisítheti a lemezeinken
tárolt adatokat, ezért a használatuk
elõtt gondoskodjunk friss,
mûködõképes biztonsági
mentésekrõl.Meglevõ partíció használata a
méret megváltoztatása
nélkülTegyük fel, hogy a
számítógépünkben egyetlen
4 GB méretû lemez van, amelyen
megtalálható a &windows; valamelyik
verziója, és ezt a lemezt korábban
két, egyaránt 2 GB méretû
meghajtóra osztottuk, a C:-re
és D:-re. 1 GB adatunk
van a C: meghajtón és
fél GB a D:-n.Mindez tehát azt jelenti, hogy a
lemezünkön két partíció
található, betûjelenként egy. Ha
átmásoljuk a D:
meghajtón levõ adatainkat a
C: meghajtóra, akkor ezzel
felszabadíthatjuk a &os; számára a
második partíciót.Meglevõ partíció
zsugorításaTegyük fel, hogy a
számítógépünkben egyetlen
4 GB méretû lemez van, amelyet teljes
egészében a &windows; valamelyik
példánya foglal el. A &windows;
telepítése során ezért minden
bizonnyal egyetlen nagy partíciót hoztunk
létre, amely a C:
betûjelet kapta és a mérete 4 GB.
Jelen pillanatban másfél GB helyet
használunk a lemezen, és szeretnénk a
&os; számára 2 GB helyet
felszabadítani.A &os; telepítéséhez a
következõk valamelyikét kell
tennünk:Mentsük le a &windows;-os adatainkat,
telepítsük újra a &windows;-t
úgy, hogy egy 2 GB méretû
partíciót választunk neki a
telepítése során.A partíció
összezsugorítására
használjuk az elõbb említett
alkalmazásokat, például a
&partitionmagic;-et.A lemezek kiosztása AlphánAlphaAlphán egy egész lemezre lesz
szükségünk a &os;
telepítéséhez, mivel jelen pillanatban
nem tud más rendszerekkel osztozni a lemezeken. A
gépünkben található lemez
rendelkezhet IDE- vagy SCSI-csatolóval is, egyedül
az a fontos, hogy el tudjuk róla indítani a
rendszert.A Digital, illetve Compaq leírásainak
megfelelõen az SRM összes parancsát
nagybetûkkel írjuk, habár az SRM nem
különbözteti meg a kis- és
nagybetûket.A gépünkben található lemezek
neveit és típusát a az SRM konzolban
kiadott SHOW DEVICE paranccsal
kérdezhetjük le:>>>SHOW DEVICE
dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDEEbben a példában egy Digital Personal
Workstation 433au szerepel, és láthatjuk, hogy
három meghajtót csatlakoztattunk hozzá.
Ezek közül az elsõ a
DKA0 nevet viselõ CD-ROM
meghajtó, valamint van még két
további lemezünk, DKC0
és DKC100 néven.A DKx alakú névvel
rendelkezõ eszközök a SCSI-lemezek. Ennek
megfelelõen például a
DKA100 név az elsõ (A)
SCSI-buszon található 1
célazonosítóval (target ID)
ellátott SCSI-lemezre, miközben a
DKC300 a harmadik (C) SCSI-buszon
levõ 3 célazonosítóval
ellátott SCSI-lemezre hivatkozik. A
PKx alakú
eszköznév magára a
SCSI-vezérlõre vonatkozik. Ahogy az a
SHOW DEVICE kimenetében is
látszik, a SCSI csatolón keresztül
csatlakoztatott CD-ROM meghajtókat a többi
SCSI-merevlemezhez hasonlónak tekinti.Az IDE-lemezek nevei ehhez hasonlóan
DQx alakúak, ahol a
PQx a hozzájuk tartozó
IDE-vezérlõt jelöli.Szedjük össze a hálózati
beállításainkatAmennyiben a &os; telepítésének
részeként hálózatra is
szándékozunk csatlakozni (például
egy FTP vagy NFS szerverrõl akarunk telepíteni),
ismernünk kell a hálózatra vonatkozó
beállításainkat is. A telepítõ
rá fog kérdezni ezekre az
információkra, amelyek megadása után
a &os; a telepítés befejezéséhez
csatlakozni tud majd a hálózatra.Csatlakozás Ethernet-hálózaton,
kábel- vagy DSL-modemen keresztülHa egy Ethernet-hálózathoz, vagy
magához az internethez csatlakozunk egy DSL- vagy
kábelmodemen keresztül, akkor az alábbi
adatokra lesz szükségünk:IP-címAz alapértelmezett átjáró
IP-címeA gépünk neveDNS (névfeloldó) szerverek
IP-címeiHálózati maszkHa nem ismerjük ezeket, érdeklõdjünk
a rendszergazdától vagy a
szolgáltatónktól.
Elképzelhetõ az is, hogy mindezen
információkat DHCP
segítségével, automatikusan kapjuk meg.
Ezt is mindenképpen jegyezzük fel.Kapcsolódás modemmelHa az internet-szolgáltatónkhoz
hagyományos modemen keresztül csatlakozunk, akkor
is tudjuk telepíteni a &os;-t interneten
keresztül, azonban ez nagyon sokáig
tarthat.Ehhez tudnunk kell:Az internet-szolgáltatónk
behívószámátA soros (COM) port számát, amelyen
keresztül a modem kapcsolódik a
gépünkhözAz internet-szolgáltatónktól
kapott felhasználói nevet és
jelszótOlvassuk el &os; hibajegyzékétHabár a &os; Projekt igyekszik a &os; minden egyes
kiadását a lehetõ
legmegbízhatóbban felkészíteni,
hibák óvatlanul is maradnak bennük. Nagyon
ritka esetekben ezek a hibák magára a
telepítés folyamatára is kihathatnak.
Amint ezeket a problémákat sikerül
felderíteni és javítani, rögvest
megjelennek a &os; honlapján található
hibajegyzékben (angolul). A
telepítés elõtt ezért mindig
ajánlott átolvasni ezt a dokumentumot, így
megbizonyosodunk róla, hogy semmilyen utólag
felmerült probléma nem akadályozza
munkánkat.Az összes kiadáshoz tartozó
információ, beleértve az egyes
kiadások hibajegyzékeit is, a &os;
honlapjáról a kiadásokra
vonatkozó információkat
tartalmazó részen érhetõ el
(angolul).Szerezzük be a &os; telepítéséhez
szükséges állományokatA &os; telepítése az alábbi helyek
bármelyikén megtalálható
állományok felhasználásával
történik:Lokálisan:CD vagy DVDUgyanazon a számítógépen
levõ &ms-dos; partícióSCSI- vagy QIC-szalagFloppylemezekHálózaton keresztül:FTP oldalról, tûzfalon keresztül vagy
szükség szerint HTTP proxy
használatávalNFS szerverrõlPárhuzamos vagy soros vonali kapcsolaton
keresztülHa megvásároltuk a &os; telepítõ
CD-jét vagy DVD-jét, akkor már mindennel
rendelkezünk a telepítéshez.
Lépjünk bátran tovább a
következõ szakaszra ()!Ha eddig még nem szereztük volna be a &os;
telepítéséhez szükséges
állományokat, ugorjunk a hoz, ahol megtudhatjuk, hogyan
készítsük elõ a &os;
telepítését az imént felsorolt
helyzetekben. A szakasz elolvasása után pedig
jöjjünk vissza ide, majd folytassuk az olvasást
a ban.Készítsünk egy
rendszerindító lemeztA &os; telepítése úgy kezdõdik,
hogy a számítógépünkkel a &os;
telepítõjét indítjuk el — ez
viszont nem egy olyan program, amit más
operációs rendszerben el tudunk indítani.
A számítógépünk
általában a merevlemezünkre telepített
operációs rendszert indítja el, azonban
beállítható úgy is, hogy az
indulásához egy ún.
rendszerindító (bootolható)
floppy lemezt használjon. Napjaink
számítógépei azonban a
CD-meghajtóban levõ CD-krõl is el tudnak
indulni.Ha CD-n vagy DVD-n megvan a &os; telepítõje
(akár megvettük, akár éppen magunk
készítettük) és a
számítógépünk tud CD-rõl
vagy DVD-rõl rendszert indítani (a BIOS-ban van
egy Boot Order vagy hozzá hasonló
nevû beállítás), akkor kihagyhatjuk
ezt a szakaszt. A &os; CD- és DVD image-ek
kiírásával egy
rendszerindításra alkalmas lemezt kapunk,
amirõl minden további elõkészület
nélkül telepíthetünk.A rendszerindító floppy lemezt az
alábbi lépések mentén haladva tudjuk
elkészíteni:A rendszerindító lemezek image-einek
beszerzéseA rendszerindító lemezek a
telepítõeszköz
floppies/
könyvtárában találhatóak,
illetve letölthetõek az
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<architektúra>/<változat>-RELEASE/floppies/
helyrõl. Az
<architektúra>
és <változat>
helyére természtesen írjuk be a
telepíteni kívánt
architektúrát és verziót.
Így például a
&os;/&arch.i386; &rel.current;-RELEASE
rendszerindító lemezei az
címrõl érhetõek el.A floppyk image-einek .flp
kiterjesztésûek. A
floppies/ könyvtár
számos különféle image-et tartalmaz,
ezek közül leginkább a
telepítendõ &os; változat, valamint
emellett olykor konkrétan a hardver határozza
meg a használandót. Az esetek
túlnyomó részében négy
floppyra lesz szükségünk:
boot.flp,
kern1.flp,
kern2.flp és
kern3.flp. A lemezek image-eit
illetõ legfrissebb információkat
ugyanazon a könyvtáron belül szereplõ
README.TXT állományban
olvashatjuk (angolul).Az FTP-hez használt programunkat az image-ek
letöltése során ne felejtsük el
bináris (binary)
átviteli módban használni. Egyes
böngészõk hajlamosak ugyanis
szöveges (text vagy ASCII)
átviteli módot használni, ami viszont
csak abból vehetõ észre, hogy nem
tudjuk a lemezekrõl elindítani a
rendszert.A floppyk
elõkészítéseMindegyik letöltendõ image-hez elõ kell
készíteni egy-egy hajlékonylemezt.
Nagyon fontos, hogy ezek a lemezek teljesen
hibátlanok legyenek. Errõl a legkönnyebben
úgy gyõzõdhetünk meg, ha a lemezeket
magunk formázzuk, és nem bízunk a
különféle elõreformázott
(preformatted) floppykban. A &windows;-ban
található formázó
segédprogram sem árul nekünk semmit a
lemezeken található hibás
részekrõl, egyszerûen csak
rossznak (bad) jelöli meg és
figyelmen kívül hagyja ezeket.
Határozottan ajánljuk, hogy amennyiben a
telepítésnek ezt a módját
választjuk, mindig használjunk teljesen
új floppykat.Ha megpróbáljuk telepíteni a
&os;-t, és a telepítõprogram
összeomlik, lefagy vagy bármilyen
furcsaságot mûvel, elsõként
mindenképpen a floppykra gyanakodhatunk. Ilyenkor
írjuk ki az image-eket új lemezekre
és próbálkozzunk újra a
telepítéssel.Az image-ek kiírása a floppykraAz .flp kiterjesztésû
állományok nem a lemezre
másolható hagyományos
állományok, hanem a lemezek teljes
tartalmának képei, ezért ezeket
egyszerûen nem másolhatjuk
egyik lemezrõl a másikra. Az image-ek
közvetlen lemezreírásához ehelyett
kifejezetten erre a célra alkalmas
eszközöket kell használnunk.DOSAzok számára, akik a floppykat
&ms-dos;/&windows; rendszerû
számítógépeken
kívánják elkészíteni,
mellékeltünk egy fdimage
nevû segédprogramot.Ha a CD-meghajtónk betûjele
például E: és a
telepítõ CD-n található image-eket
szeretnénk kiírni vele, akkor ezt a parancsot
kell kiadnunk:E:\>tools\fdimage floppies\boot.flp A:Ezután ismételten adjuk ki az
iménti parancsot minden egyes használni
kívánt .flp
állományra, azonban elõtte mindig
tegyünk be egy újabb floppyt, és a
ráírt image-ek neveivel folyamatosan
címkézzük fel a lemezeket. A megadott
parancsot természetesen mindig írjuk át
a konkrét .flp
állományok tényleges
elérési útvonalainak megfelelõen.
Ha nincs CD-nk, akkor az fdimage
programot az &os; FTP oldalán található
tools
könyvtárból is
letölthetjük.Amikor a lemezeket egy &unix; rendszeren
készítenénk el (például
egy másik &os; rendszeren), akkor a &man.dd.1;
parancs is használható az image-ek
közvetlen lemezreírásához. &os;
alatt így néz ki a
paraméterezése:&prompt.root; dd if=boot.flp of=/dev/fd0&os;-n a /dev/fd0 az elsõ
hajlékonylemezes meghajtóra hivatkozik
(tehát az A:
betûjelû meghajtóra). Ennek
megfelelõen a /dev/fd1 jelenti a
B: meghajtót és
így tovább. Más &unix;
változatok esetleg más neveket
használhatnak a hajlékonylemezes
meghajtók megnevezésére, ezért
errõl érdemes ilyenkor
tájékozódni az adott rendszerhez
tartozó dokumentációban.Most már készen állunk a &os;
telepítésére!A telepítés megkezdéseAlapértelmezés szerint a
telepítés egészen addig nem fog semmit sem
írni a lemezekre, amíg a következõ
üzenet fel nem bukkan:Last Chance: Are you SURE you want continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!A szöveg fordítása:Utolsó esély: BIZTOSAN folytatni kívánja a telepítést?
Ha olyan lemezre szeretne telepíteni, amelyen fontos adatok
találhatóak, HATÁROZOTTAN JAVASOLJUK, hogy a továbblépés elõtt
KÉSZÍTSEN RÓLUK MEGBÍZHATÓ BIZTONSÁGI MÁSOLATOT!
Nem vállalunk semmilyen felelõsséget az elveszett adatokért!A telepítõbõl tehát a fenti,
végsõ figyelmeztetés elõtt
bármikor ki lehet lépni anélkül, hogy
a merevlemezünkön levõ adatokat
veszélyeztetnénk. Ha úgy
érezzük, hogy valamit véletlenül rosszul
állítottunk volna be a telepítés
során, ekkor még minden komolyabb kár
okozása nélkül kikapcsolhatjuk a
számítógépünket.A rendszer indításaRendszerindítás &i386;-onKezdjünk egy kikapcsolt
számítógéppel.Kapcsoljuk be a
számítógépet. Az
indulása során látnunk kell egy olyan
opciót, amivel be tudunk lépni a rendszer
beállításait tartalmazó
menübe, avagy a BIOS-ba. Ezt többnyire a
F2, F10,
Del vagy a AltS
lenyomásával érhetjük el. Ezek
közül használjuk a képernyõn
megjelenõ billentyûket. Elõfordulhat, hogy
induláskor a
számítógépünk semmilyen
szöveget, csak egy képet mutat. Ilyenkor
általában a Esc
billentyû megnyomására eltûnik a
kép és láthatóvá
válnak a számunkra fontos
üzenetek.Miután beléptünk a menübe,
keressük meg azt a beállítást,
amely a rendszerindításhoz használt
eszközt határozza meg. Ennek a neve sokszor
Boot Order (rendszerindítási
sorrend) vagy valami hozzá hasonló. Itt
mindenféle eszköz felsorolását
találjuk: Floppy,
CDROM, First Hard
Disk (elsõ merevlemezes meghajtó)
és így tovább.Ha a rendszerindításhoz korábban
floppykat készítettünk elõ,
gondoskodjunk róla, hogy itt a floppyra
vonatkozó beállítást
válasszuk ki. Amennyiben viszont CD-rõl akarjuk
a telepítést elindítani, akkor helyette
azt válasszuk. Ha bármilyen
kétség merülne fel bennünk,
keressük meg ezt a beállítást a
számítógéphez és/vagy az
alaplaphoz kapott kézikönyvben.Igényeink szerint végezzük el a
beállítást, majd mentsük el
és lépjünk ki. Most indítsuk
újra a
számítógépet.Ha a ban leírtak
szerint rendszerindító lemezeket
készítettünk, akkor ezek valamelyike lesz
az elsõ rendszerindító lemez,
valószínûleg az, amelyikre a
boot.flp image tartalmát
írtuk ki. Ezt a lemezt tegyük a
meghajtóba.Ha CD-rõl indítjuk a
telepítést, akkor kapcsoljuk be a
számítógépet és az
elindulása után igyekezzünk minél
hamarabb betenni a lemezt a meghajtóba.Ha minden próbálkozásunk
ellenére a
számítógépünk a megszokott
módon indul és a meglevõ
operációs rendszert tölti be, akkor a
következõkkel lehet a gond:A lemezeket nem raktuk be eléggé
korán. Hagyjuk benn ezeket és
próbáljuk meg ismét
újraindítani a
számítógépet.Nem állítottuk be jól a BIOS-t.
Próbáljuk meg egészen addig
újra végrehajtani az elõzõ
lépést, amíg a megfelelõ
beállítást el nem
találjuk.A BIOS nem támogatja a kiválasztott
eszközrõl történõ
rendszerindítást.A &os; megkezdi az indulását. Ha
CD-rõl indítjuk, akkor valami ehhez
hasonlót fogunk látni (a konkrét
verzióra vonatkozó adatokat itt most
kihagytuk):Booting from CD-Rom...
CD Loader 1.2
Building the boot loader arguments
Looking up /BOOT/LOADER... Found
Relocating the loader and the BTX
Starting the BTX loader
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS CD is cd0
BIOS drive C: is disk0
BIOS drive D: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
\Amikor floppyról indítjuk a rendszert,
ehhez hasonlóval találkozhatunk (itt sem
szerepelnek most verzióadatok):Booting from Floppy...
Uncompressing ... done
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/kernel text=0x277391 data=0x3268c+0x332a8 |
Insert disk labelled "Kernel floppy 1" and press any key...Kövessük a képernyõn
megjelenõ utasítást (Helyezze be a
"Kernel floppy 1" címkéjû lemezt
és nyomjon meg egy billentyût...),
tehát vegyük ki a boot.flp
image-hez tartozó lemezt és tegyük be
helyette a kern1.flp image-hez
tartozó lemezt, majd nyomjuk le az
Enter billentyût. Várjuk meg
amíg a rendszer megkezdi az indulást az
elsõ lemezrõl, majd az utasításoknak
megfelelõen folyamatosan tegyük be a soron
következõ lemezeket.Miután elindítottuk a rendszert
floppyról vagy CD-rõl, a
rendszerindítási folyamat be fogja hozni a
&os; rendszertöltõjének
menüjét:&os; rendszerbetöltõ menüjeVárjuk ki a tíz másodperces
szünetet vagy egybõl nyomjuk le az
Enter billentyût.Rendszerindítás AlphánAlphaKezdjünk egy kikapcsolt
számítógéppel.Kapcsoljuk be a számítógépet
és várjuk meg rendszerindító
monitor parancssorát.Ha a ban leírtak
szerint készítettünk
rendszerindító lemezeket, akkor ezek
valamelyike lesz majd a rendszer
indításához használt elsõ
lemez, valószínûleg az, amelyik a
boot.flp image-et tartalmazza.
Helyezzük ezt a lemezt a hajlékonylemezes
meghajtóba és a rendszer
indításához írjuk be a
következõ parancsot (amennyiben
szükséges, a DVA0-ról írjuk
át benne a saját lemezes meghajtónk
hivatkozását):>>>BOOT DVA0 -FLAGS '' -FILE ''Ha CD-rõl telepítünk, akkor tegyük
a CD-t a meghajtójába és a
telepítéshez megkezdéséhez
írjuk be az alábbi parancsot (ha
szükség lenne rá, írjuk át
DKA0-t a saját CD-meghajtónk
hivatkozására):>>>BOOT DKA0 -FLAGS '' -FILE ''A &os; megkezdi az indulását. Amennyiben
floppyról indítjuk, hamarosan fel fog
jönni a következõ üzenet:Insert disk labelled "Kernel floppy 1" and press any key...Kövessük az utasítást
(Helyezze be a "Kernel floppy 1"
címkéjû lemezt és nyomjon le egy
billentyût...), tehát vegyük ki a
boot.flp image-et tartalmazó
lemezt és tegyük be helyette a
kern1.flp image-et tartalmazó
lemezt, majd zárjuk le a folyamatot az
Enter lenyomásával.Akár floppyról, akár CD-rõl
indítottuk a rendszert, a
rendszeindítás folyamata
elõbb-utóbb eljut ehhez a részhez:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Az üzenet fordítása:A közvetlen indításhoz nyomja le az [Enter] billentyût, vagy egy
másik billentyût a paranccsor felhozásához.
A [kernel] indítása 9 másodpercen belül... _Várjuk tíz másodpercet vagy
egyszerûen nyomjuk le az Enter
billentyût. Ezzel elindul a rendszermag
beállításait tartalmazó
menü.Rendszerindítás &sparc64;-enA legtöbb &sparc64; alapú rendszert úgy
állították be, hogy automatikusan
lemezrõl induljon. A &os;
telepítéséhez azonban
hálózaton keresztül vagy CD-rõl kell
indítanunk a rendszert, ezért
módosítanunk kell a PROM (az OpenFirmware)
beállításait.Mindehhez indítsuk újra a rendszert
és várjuk meg, amíg feltûnik a
rendszerindító üzenet. A konkrét
üzenet nagyban függ a
számítógép
típusától, azonban valami ilyesmi
lesz:Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.Amikor megpróbálja a rendszert
elindítani a lemezrõl, a PROM
parancssorának bekéréshez nyomjuk le a
billentyûzeten az L1A vagy a StopA
billentyûket, esetleg a soros konzolon keresztül
küldjünk egy BREAK parancsot
(például a &man.tip.1; vagy &man.cu.1; man
oldalakon szereplõ ~# parancs
használatával). Körülbelül
így néz ki:ok ok {0} Ez a fajta parancssor csak az egy processzorral
rendelkezõ rendszereken jelenik meg.Ez a fajta parancssor többprocesszoros (SMP)
rendszereken jelenik meg, ahol a szám az
éppen aktív processzor
sorszámát jelöli.Most helyezzük a CD-t a meghajtóba, és
a PROM parancssorában pedig gépeljük be
boot cdrom parancsot.Az eszközkeresés eredményeinek
vizsgálataA képernyõn megjelenõ utolsó
pár száz sor mindig eltárolódik,
késõbb tetszõlegesen
átvizsgálhatóak.A puffer tartalmának
átnézéséhez nyomjuk le a
Scroll Lock billentyût, amivel
bekapcsoljuk a korábban megjelent üzenetek
közti visszalépést. Itt a
nyílbillentyûk, vagy a PageUp
és PageDown billentyûk
használhatóak a kiírások
átböngészéséhez. A
Scroll Lock ismételt
lenyomásával kiléphetünk ebbõl a
módból.Tegyük most mi is ezt, és nézzük az
összes olyan üzenetet, amely a rendszermag
indulása során keletkezett. A ban látható
szövegekhez hasonlóakat fogunk találni,
habár ez a számítógépben
található konkrét
eszközöktõl függõen eltérõ
lehet.Példa az eszközkeresés
eredményeireavail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5” drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0Figyelmesen olvassuk át az üzeneteket, és
bizonyosodjuk meg róla, hogy a &os; minden
számunkra fontos eszközt felismert. Ha nem
látunk egy eszközt, akkor azt
valószínûleg nem találta meg. Egy
saját rendszermag
létrehozásával azonban fel tudunk
ismertetni olyan eszközöket is, amelyek
támogatása eredetileg nem szerepel a
GENERIC rendszermagban. Ilyenek
például a hangkártyák.A &os; 6.2 vagy késõbbi
változataiban az eszközök felkutatása
után a ban
láthatóak következnek. Itt a
nyílbillentyûk segítségével
választhatjuk ki az országot (country),
térséget (region) vagy csoportot (group). Az
Enter lenyomása után pillanatok
alatt beállítódik az országunknak
és billentyûzetünknek megfelelõ
kiosztás. Ha meg akarjuk ismételni az
iménti beállítást, pillanatok alatt
ki tudunk lépni a sysinstall
programból.Az ország kiválasztásaKilépés a
sysinstall programbólA telepítõprogram
fõképernyõjén válasszuk ki a
nyílbillentyûkkel az Exit
Install (Kilépés a
telepítésbõl) menüpontot. Erre
a következõ üzenet fog megjelenni: User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies/CDs/DVDs from the drives).
[ Yes ] NoAz üzenet fordítása: Felhasználói megerõsítés szükséges
Valóban ki akar lépni? A rendszer ezt követõen újra fog
indulni (ezért ne felejtsük el eltávolítani az összes
floppyt, CD-t és DVD-t a meghajtókból)!
[ Igen ] NemHa a CD-t bennhagyjuk a meghajtóban és a
&gui.yes; választ adjuk, akkor a
telepítõprogram még egyszer el fog
indulni.Ha floppyról indítottuk volna a rendszert, az
újraindítás elõtt vegyük ki a
boot.flp image-et tartalmazó
lemezt.A sysinstall
bemutatásaA sysinstall a &os; Projekt
által fejlesztett telepítõprogram. Konzol
alapú, menükre és képernyõkre
oszlik, amelyeken a beállításokat és a
telepítési folyamat
irányítását tudjuk
elvégezni.A sysinstall
menürendszerét több más billentyû
mellett legfõképpen a nyílbillentyûkkel,
az Enter, Tab és a
Szóköz billentyûkkel
kezelhetjük. Ezek és az általuk
elvégezhetõ feladatok részletes
leírása a sysinstall
használatáról szóló
információk között
található.Ennek megtekintéséhez elõször
gyõzõdjünk meg róla, hogy a által illusztrált
helyzetnek megfelelõen kiválasztottuk a
Usage (Használat)
menüpontot és a [Select]
(Kiválaszt) feliratú gombon
állunk, majd nyomjuk le az Enter
billentyût.Ezt követõen megjelenik a menürendszer
használatát bemutató leírás.
Miután végigolvastuk, a fõmenübe az
Enter billentyû lenyomásával
tudunk visszajutni.A Usage kiválasztása a
sysinstall
fõmenüjébenA dokumentációs menü
kiválasztásaA fõmenüben a nyílbillentyûkkel
válasszuk a Doc
feliratú menüpontot és nyomjuk meg az
Enter billentyût.A dokumentációs menü
kiválasztásaEzzel megjelenik a dokumentációs
menü.A sysinstall
dokumentációs menüjeFeltétlenül olvassuk el az itt
található leírásokat.A dokumentumok elolvasásához elõször
válasszunk közülük a
nyílbillentyûkkel, majd nyomjuk meg az
Enter billentyût. A dokumentum
elolvasása után az Enter
lenyomásával tudunk visszatérni a
dokumentációs menübe.A dokumentációs menübõl a
fõmenübe úgy tudunk kilépni, ha a
nyílbillentyûkkel kiválasztjuk az
Exit
(Kilépés) menüpontot és
megnyomjuk az Enter billentyût.A billentyûkiosztás menüjének
kiválasztásaA billentyûzetkiosztás
megváltoztatásához válasszuk ki a
nyílbillentyûk segítségével a
Keymap menüpontot a
menübõl és nyomjuk meg az
Enter billentyût. Erre
természetesen csak akkor lesz
szükségünk, ha nem szabványos vagy nem
angol billentyûzetet használunk.A sysinstall
fõmenüjeA különbözõ
billentyûkiosztásoknak megfelelõ
menüpontok a fel/le nyílak és a
Szóköz billentyû
segítségével választhatóak
ki. A Szóköz ismételt
lenyomásával töröljük a
választásunkat. A befejezéshez
válasszuk ki a nyilakkal a &gui.ok; gombot és
nyomjuk le az Enter billentyût.A mellékelt képen a lista egy része
látható csupán. Ha a Tab
billentyûvel a &gui.cancel; gombot választjuk, akkor
az alapértelmezett billentyûkiosztást kapjuk
és visszakerülünk a fõmenübe.A sysinstall
billentyûkiosztást beállító
menüjeA telepítés beállításai
tartalmazó képernyõVálasszuk az Options
(Beállítások) menüpontot,
majd nyomjuk le az Enter billentyût.A sysinstall
fõmenüjeA sysinstall
beállításaiAz itt szereplõ alapértelmezett
értékek a legtöbb felhasználó
számára minden további nélkül
megfelelnek, nem szükséges a
megváltoztatásuk. A kiadás neve
(release name) mezõ értéke a
telepítendõ verziótól
függõen változhat.A kiválasztott mezõ rövid
leírása a képernyõ alján,
kékkel kiemelten jelenik meg. A Use
Defaults (Az alapértelmezések
használata) beállítás az
alapértelmezésére állítja
vissza az összes értéket.Az F1 lenyomásával
elolvashatjuk a különbözõ
beállításokhoz tartozó
súgót.A Q billentyûvel
visszatérhetünk a fõmenübe.Egy szabványos telepítés
megkezdéseA Standard
(Szabványos) elnevezésû
menüpont által felkínált
telepítési módszer ajánlott a
&unix;-szal vagy a &os; most ismerkedõk
számára. A telepítés
megkezdéséhez a nyilakkal válasszuk ki a
Standard menüpontot, majd
nyomjuk meg az Enter billentyût.Egy szabványos telepítés
megkezdéseLemezterület lefoglalásaElsõ feladatunk lemezterületet foglalni a &os;
számára, majd megcímkézni azt, hogy a
sysinstall elõ tudja
készíteni. Ehhez tisztában kell lennünk
azzal, hogy a &os; milyen formában is keresi az adatokat a
lemezünkön.A BIOS meghajtószámozásaEgy témára különösen
tekintettel kell lennünk mielõtt
telepítenénk és
beállítanánk a &os;-t a
rendszerünkön, fõleg abban az esetben, ha
több merevlemezünk is van.DOSMicrosoft WindowsEgy BIOS-függõ operációs rendszert,
például &ms-dos;-t vagy &windows;-t futattó
PC esetén a BIOS az operációs rendszer
beleegyezésével képes elvonatkoztatni a
lemezek megszokott sorrendjétõl. Ennek
köszönhetõen a felhasználó nem csak
az ún. primary master (elsõdleges
master) merevlemezes meghajtótól tudja
elindítani a rendszert. Ez kifejezetten kényelmes
megoldás az olyan felhasználók
számára, akik az elsõvel teljesen
megegyezõ második merevlemez
megvásárlásával
kialakították a rendszerük egyszerû
és egyben a legolcsóbb biztonsági
mentését, amire a Ghost vagy
XCOPY programokkal tudnak rendszeres
másolatokat készíteni. Így, ha az
elsõdleges meghajtó tönkremegy vagy
vírus támadja meg, esetleg az
operációs rendszer egy hiba miatt
használhatatlanná teszi, akkor a BIOS-t
utasíthatjuk a meghajtók logikai
cseréjére és ezzel könnyen helyre
tudjuk állítani. Olyan, mintha a ház
felnyitása nélkül felcseréltük
volna a lemezeket bekötõ kábeleket.SCSIBIOSA SCSI-vezérlõkkel szerelt drágább
rendszerek gyakran tartalmaznak olyan
BIOS-bõvítéseket, amelyeken keresztül a
SCSI-lemezek ugyanígy tetszõlegesen
átrendezhetõek, egészen hét
meghajtóig.Az ilyen lehetõségek használatához
szokott felhasználókat azonban könnyen
csalódás érheti, amikor a &os; nem az
elvárásaiknak megfelelõen cselekszik. A &os;
ugyanis nem használja a BIOS-t és nem ismeri a
BIOS logikai
meghajtókiosztását. Ez
meghökkentõ eredményekre vezethet, fõleg
akkor, amikor paramétereiket tekintve a meghajtók
fizikailag teljesen megegyeznek és ráadásul
egymás másolatait tartalmazzák.A &os; telepítése elõtt mindig
állítsuk vissza a BIOS-ban a meghajtók
eredeti sorrendjét, és a
használatához hagyjuk is így ezt a
beállítást. Ha valamiért
mégis meg kellene cserélnünk a
meghajtókat, akkor ezentúl válasszuk a
nehezebb utat: nyissuk ki a gépházat és
kössük át a kábeleket, tegyük
át a jumpereket mi magunk.Részlet Frédi és Vili
különleges kalandjaiból:Vili fogott egy öreg Winteles
számítógépet, hogy
készítsen belõle egy &os;-s rendszert
Frédinek. Vili ehhez beszerel egy
SCSI-meghajtót, ami így nullás
SCSI-egység lesz, majd telepíti rá a
&os;-t.Frédi nekilát használni a rendszert,
azonban pár nap elteltével tapasztalja, hogy az
öregecske SCSI-meghajtó számos
apróbb hibát jelez, és ezért
szól Vilinek.Néhány nappal késõbb Vili
eldönti, ideje pontot tenni az ügy
végére, ezért a raktárban
levõ SCSI-lemezek köztül elhoz az eredetivel
egy teljesen megegyezõt. Az elõzetes
felületellenõrzés eredményei szerint a
meghajtó tökéletesen mûködik,
ezért Vili beszerelni ezt a meghajtót a
négyes SCSI-egységként, majd
lemásolja a nullás meghajtó
tartalmát a négyesre. Miután beszerelte
a tökéletesen üzemelõ új
meghajtót, Vili úgy határoz, ideje
megkezdeni a használatát, ezért
beállítja a SCSI BIOS-át, hogy a rendszer
a nullás helyett ezentúl a négyes
egységrõl induljon. A &os; elindul és
mindenki örül.Frédi ezután folytatja megszokott
munkáját, majd Vili és Frédi
úgy gondolják, itt az ideje az újabb
izgalmaknak — frissítsünk a &os; egy
újabb változatára. Vili ekkor
eltávolítja a nullás
SCSI-egységet, mivel már egyébként
is kezdett tönkremenni, és kicseréli egy
másik teljesen azonos lemezes meghajtóra. Vili
ezt követõen Frédi internetrõl
letöltött varázslatos floppyjainak
segítségével feltelepíti a &os;
új verzióját az új nullás
SCSI-egységre. A telepítés minden gond
nélkül lezajlik.Frédi próbálgatja is a &os; új
változatát néhány napig, és
számára ez elegendõ
bizonyíték ahhoz, hogy a munkahelyén is
használja. Ideje hát átmásolni a
régi munkáit, ezért Frédi
csatlakoztatja a (korábbi &os; változat
legfrissebb változatát tartalmazó)
négyes SCSI-egységet. Frédin azonban
hirtelen aggodalom tör ki, hiszen a négyes
SCSI-egységen sehol sem találja munkája
féltett eredményeit.Hova tûntek azok a komisz adatok?Amikor Vili másolatot készített az
eredeti nullás SCSI-egységrõl a
négyes SCSI-egységre, a négyes
egység egy új klón lett.
Amikor a rendszerindításhoz Vili
átrendezte a meghajtókat a SCSI BIOS-ban, azzal
csak magát csapta be, ugyanis a &os; továbbra is
a nullás SCSI-egységrõl indult el! A BIOS
által kiválasztott meghajtóról az
effajta beállítások
hatására ugyan behozható a
rendszerindító és -betöltõ
programok egy része, de amikor a &os; rendszermagja
átveszi a vezérlést, a BIOS által
meghatározott sorrendiség figyelmen
kívül marad és a &os; visszatér a
meghajtók eredeti rendezéséhez.
Tehát ebben az esetben a rendszer továbbra is az
eredeti nullás SCSI-egységrõl folytatja a
mûködést, és Frédi összes
adata itt található, nem pedig a négyes
SCSI-egységen. A négyes
SCSI-egységrõl futó rendszer
illuziója így mindössze az emberi
elvárások szüleménye.Örömmel említjük meg, hogy egyetlen
byte-nyi adat sem sérült meg vagy pusztult el a
jelenség felfedezése során. A
korábbi nullás SCSI-egységet még
sikerült megmenteni a szemétdombról
és Frédi összes munkája
visszakerült (és Vili most már el tud
számolni nulláig).Habár a tanmesénkben
SCSI-meghajtókról esett szó, ugyanez
fennáll az IDE-meghajtókra is.Slice-ok létrehozása az FDisk
használatávalItt még semmilyen változtatás nem
kerül lemezre. Ha úgy érezzük, hogy
valamit rosszul csináltunk és újra el
akarjuk kezdeni a telepítést, a menük
segítségével büntetlenül
távozhatunk a
sysinstallból és
újra próbálkozhatunk, vagy az
U billentyû lenyomásával
aktiválhatjuk az Undo
(Visszacsinál) funkciót. Ha
véletlenül összezavarodtunk volna és
nem találunk kilépési
lehetõséget, akkor bármikor ki tudjuk
kapcsolni a számítógépet.A sysinstallban a
szabványos telepítés megkezdésekor
az alábbi üzenet jelenik meg: Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]Az üzenet fordítása: Üzenet
A most következõ menüben össze kell állítanunk a merevlemezünk
DOS-szerû ("fdiskes") partícióit. Amennyiben egyszerûen csak át
akarjuk adni az összes lemezterületet a FreeBSD számára (ezzel
felülírva mindent, ami a kiválasztott lemezeken található), akkor
az alapértelmezett partíció-kiosztás kiválasztásához használjuk az
(A)ll (Mind), majd utána a (Q)uit (Kilépés) parancsokat. Ha viszont
csak az éppen szabad területet szánjuk a FreeBSD-nek, lépjünk egy
"unused" ("üres") feliratú partícióra és használjuk a (C)reate
(Létrehozás) parancsot.
[ OK ]
[ Nyomja le az Enter vagy a Szóköz billentyût ]Az utasításnak megfelelõen nyomjuk le az
Enter billentyût. Ezután a
rendszermag által az eszközök
felkutatása során megtalált összes
merevlemezes meghajtót láthatjuk. A egy két IDE-lemezzel
rendelkezõ rendszert mutat be, amelyeknek nevei rendre
ad0 és
ad2.A meghajtó kiválasztása az FDisk
számáraFeltûnhet, hogy itt nem szerepel az
ad1. Vajon miért maradt
ki?Képzeljük el, mi történne, ha
két IDE-csatolós merevlemezünk lenne: az
egyik az elsõ IDE-vezérlõn, a másik
pedig a második IDE-vezérlõn lenne master.
Ha a &os; a megtalálásuk szerint
ad0 és
ad1 nevekkel számozná
ezeket, attól még minden remekül
mûködhetne.Ha azonban beszerelnénk egy harmadik lemezt,
például egy slave eszközt kapcsolnánk az
elsõ IDE-vezérlõre, akkor már ez lenne a
ad1, és ennek megfelelõen a
korábban ad1
megnevezésû meghajtó pedig az
ad2. Mivel az
állományrendszerek felkutatására
általában az eszközneveket (mint amilyen a
ad1s1a) használják,
ezért ilyenkor azt tapasztalhatnánk, hogy bizonyos
állományrendszerek helytelenül jelennek meg,
ezért meg kell változtatnunk a &os; ezeket
érintõ beállításait.A probléma megoldására a rendszermag
beállítható úgy, hogy az
IDE-lemezeket a kapcsolódásuk szerint
azonosítsa, ne pedig a megtalálásuk
sorrendje szerint. Ezzel a kialakítással a
második IDE-vezérlõn található
master lemez mindig az
ad2 eszköz lesz, tehát
még olyankor is, amikor egyáltalán nincs a
rendszerünkben ad0 vagy
ad1 eszköz.Ez a beállítás
alapértelmezés a &os; rendszermagjában,
és ez magyarázza, hogy az iménti
ábra miért csak ad0
és ad2 eszközöket
mutat. Tehát a képen szereplõ
számítógép mind a két
IDE-vezérlõjének master
csatornáján található egy-egy
IDE-lemez, a slave csatornákon pedig nincs egy
sem.Itt válasszuk ki azt a lemezt, amelyre a &os;-t
telepíteni kívánjuk, majd nyomjuk meg a
&gui.ok; gombot. Erre az
által bemutatott képernyõvel elindul az
FDisk.Az FDisk képernyõje
három részre osztható.Az elsõ részben, amely a képernyõ
felsõ két sorát foglalja össze,
láthatjuk az éppen kiválasztott lemez
adatait: a &os; szerinti nevét, a paramétereit
és az összméretét.A második részben láthatjuk a lemezen
megtalálható slice-okat: hol kezdõdnek
(Offset) és hol érnek véget (End);
mekkorák (Size); a &os; milyen névvel hivatkozik
rájuk (Name); milyen leírás (Description)
és altípus (Subtype) tartozik hozzájuk. A
példában két kicsi üres slice-ot
láthatunk, ami a PC-k lemezkiosztására
jellemzõ. Ezenkívül felfedezhetünk egy
nagyobb méretû FAT
típusú slice-ot is, amely az &ms-dos; / &windows;
világban szinte minden bizonnyal a
C: betûjelet viseli, valamint egy
kiterjesztett slice-ot is, amely az &ms-dos; / &windows;
számára további meghajtókat is
tartalmazhat.A harmadik részben az
FDisk
mûködtetésére használható
parancsok láthatóak.Átlagos Fdisk partíciók
szerkesztés elõttA most következõ teendõink attól
függenek, hogy miként is akarjuk felosztani a
lemezünket.Ha az egész lemezt a &os; használatára
áldozzuk (és amikor majd
megerõsítjük a
sysinstall számára a
továbblépést, a lemezen így minden
más adat törlõdni fog), akkor nyomjuk le az
A billentyût, amely megfelel a
Use Entire Disk (Az egész
lemez használata) menüpontnak. A létezõ
slice-ok eltávolításra kerülnek
és helyettük megjelenik egy
unused (üres) jelzésû kis
méretû terület (elvégre PC-rõl
beszélünk), valamint egy nagyobb slice a &os;
számára. Ha így jártunk el, akkor
válasszuk ki nyilakkal a frissen létrejött
&os; slice-ot és az S billentyû
lenyomásával jelöljük be
indíthatónak (bootable). A képernyõ
ekkor a által
mutatotthoz fog erõsen hasonlítani. A
Flags (Beállítások)
oszlopban láthatjuk az A
jelzést, amelybõl kiderül, hogy az adott slice
aktív, tehát róla tud
indulni a rendszer.Ha a &os; számára egy meglevõ slice
törlésével szeretnénk helyet
csinálni, akkor ehhez válasszuk ki
nyílbillentyûkkel a használni kivánt
slice-ot és nyomjuk le a D
billentyût. Ezután nyomjuk le a C
billentyût is, amire felbukkan a létrehozandó
slice méretét kérdezõ ablak. Adjuk
meg a számunkra megfelelõ méretet a
számunkra megfelelõ formában, majd
zárjuk le az Enter
lenyomásával. Az ablakban szereplõ
alapértelmezett érték a
létrehozható lehetõ legnagyobb
méretû slice-ot adja meg, ami vagy a legnagyobb
összefüggõ üres terület, vagy pedig az
egész merevlemez összterülete lehet.Ha már korábban
készítettünk elõ helyet a &os;-nek
(például egy
&partitionmagic; vagy egy
hozzá hasonló alkalmazás
segítségével), akkor csak elegendõ az
új slice létrehozásához megnyomnunk
a C billentyût. Ekkor szintén
megkérdezésre kerül a
létrehozandó slice mérete.Particíonálás az Fdisk Using
Entire Disk funkciójávalAmikor befejeztük, nyomjuk le a Q
billentyût. Ekkor a sysinstall
elmenti a beállított értékeket,
azonban a lemezre ekkor még nem kerülnek ki.A rendszerválasztó
telepítéseMindezek után lehetõségünk
nyílik telepíteni egy
rendszerválasztót (boot manager).
Általában véve akkor van
szükségünk a &os;
rendszerválasztójának
telepítésére, ha:Egynél több meghajtónk van, és
közülük nem az elsõ meghajtóra
telepítjük a &os;-t.A &os;-t ugyanazon a lemezen más
operációs rendszerek mellé
telepítjük, és szeretnénk
választhatóvá tenni, hogy a
számítógép
indításakor a &os; vagy a többi
operációs rendszer induljon-e el.Amennyiben a &os; lesz az egyetlen operációs
rendszer a gépünkön és az elsõ
merevlemezes meghajtóra telepítjük, akkor a
Standard (Szabványos)
rendszerválasztó tökéletesen megteszi.
Ha viszont a &os; indításához egy
másik rendszerválasztót szeretnénk
használni, válasszuk a
None (Nincs) opciót.Válasszunk, majd nyomjuk le az Enter
billentyût!A sysinstall
rendszerválasztókat tartalmazó
menüjeAz F1 billentyû
lenyomásán keresztül elérhetõ
súgóképernyõn olvashatunk az egy
merevlemezen több operációs rendszer
használatával kapcsolatos
problémákról.Slice-ok létrehozása egy másik
meghajtónHa egynél több meghajtónk van, a program
a rendszerválasztó képernyõje
után ismét visszatér a meghajtók
kiválasztásához. Amennyiben a &os;-t egy
másik meghajtóra is telepíteni
szeretnénk, itt válasszuk ki azt és
ismételjük meg vele az imént az
FDisk programmal végzett
felosztási folyamatot.Amikor a &os;-t nem az elsõ meghajtóra
telepítjük, akkor a &os;
rendszerválasztóját mind a két
meghajtóra telepíteni kell.Kilépés a
meghajtóválasztó
menübõlA Tab billentyûvel tudunk
váltani a legutoljára kiválasztott
meghajtó, a &gui.ok; és a &gui.cancel; gombok
között.A &gui.ok; gombra álláshoz nyomjuk le egyszer
a Tabot, majd a telepítés
folytatásához nyomjuk le az Enter
billentyût.Partíciók létrehozása a
Disklabel
segítségévelA következõ lépésként
létre kell hoznunk partíciókat a frissen
létrehozott slice-okban. Ne felejtsük el, hogy
minden partíció rendelkezik egy
a-tól h-ig
terjedõ betûjellel, amelyek közül a
b, c és
d jelzésûeknek külön
szerepe van, amire tekintettel kell lennünk.Bizonyos alkalmazások kedvelnek egyes
partíciókiosztási sémákat,
különösen az egynél több lemezen
elhelyezkedõ partíciókat. Azonban az
elsõ &os; telepítésünk során
még nem annyira fontos koncentrálnunk a
lemezünk hatékony felosztására.
Sokkal inkább fontosabb, hogy elõször
egyszerûen csak telepítsük a &os;-t és
tanuljuk meg a használatát. Amikor már
jobban ismerni fogjuk az operációs rendszert, a
partíciók kiosztásának
megváltoztatásához mindig újra
tudjuk telepíteni a &os;-t.Ebben a sémában négy
partíció szerepel — egy a
lapozóállománynak és három az
állományrendszereknek.
Az elsõ lemez partícióinak
kiosztásaPartícióÁllományrendszerMéretLeírása/512 MBEz a rendszerindításhoz
használt, más néven a
gyökér állományrendszer (root
filesystem). Minden további
állományrendszer ehhez csatlakozik
valahol. Ennek az állományrendszernek
512 MB méret elfogadható, mivel nem
fogunk túlságosan sok adatot
tárolni rajta, a &os; telepítõje is
csak kb. 128 MB adatot fog ide pakolni. Az
így fennmaradó lemezterület
felhasználható átmeneti adatok
tárolására, illetve a
/ könyvtárban helyet ad
a &os; késõbbi változatainak
terjeszkedéséhez is.b-RAM mérete x 2-3A rendszer lapozóállománya a
b partíción
tárolódik. Itt a megfelelõ
méret megválasztása egyfajta
mûvészet, azonban minden esetben
hasznosnak bizonyulhat, ha tudjuk, hogy
méretnek mindig érdemes a fizikai avagy
központi memória (RAM)
méretének két, esetleg
háromszorosát választani. Legyen
mindig legalább 64 MB-nyi
méretû
lapozóállományunk, és ha
32 MB RAM-nál kevesebb van a
számítógépünkben,
akkor is legalább 64 MB-ra
állítsuk be.Ha egynél több lemezünk van,
mindegyikre rakhatunk
lapozóállományt, ezzel a &os;
mindegyikõjüket fel tudja használni
lapozásra, amivel pedig gyakorlatilag
felgyorsítja a folyamatot. Ilyenkor
számoljunk úgy, hogy elõször
meghatározzuk a teljes
lapozóállomány
méretét (például
128 MB), majd ezt elosztjuk a
rendelkezésünkre álló
lemezek számával (például
kettõ). Ebbõl
kiszámítható az egyes lemezeken
elhelyezendõ lapozóállomány
mérete, ami most a példánk
szerint 64 MB lesz.e/var256 MB-tl 1024 MB-igA /var könyvtár
foglalja magában az állandó
változó
naplóállományokat, valamint a
többi, adminisztrációhoz
használt állományt. Ezek
többsége a &os; mindennapos
mûködése közben folyamatosan
íródnak vagy olvasódnak. Ha ezeket
az állományokat egy külön
állományrendszerre rakjuk, akkor ezzel
segítünk a &os;-nek optimalizálni az
ilyen állományok
elérését anélkül, hogy
ez hatással lenne a többi, más
hozzáférési gyakorisággal
bíró állományra.f/usrA lemez többi része (legalább
2 GB)Az összes többi állomány
többnyire a /usr
könyvtárban és annak
alkönyvtáraiban helyezkedik el.
Az imént megadott értékeket csak
példaként adtuk meg és csak a tapasztalt
felhasználók számára
ajánljuk. A többi felhasználónak
inkább a partíciók automatikus
kiosztását javasoljuk a &os;
partíciószerkesztõjében
található Auto Defaults
opció használatával.Ha a &os;-t egynél több lemezre
telepítjük, akkor a korábban megadott
többi slice-ban is létre kell hoznunk
partíciókat. Ezt legegyszerûbben úgy
tehetjük meg, ha minden lemezen létrehozunk
két partíciót: egyet a
lapozóállománynak, egyet pedig az
állományrendszernek.
Több lemez partícióinak
kiosztásaPartícióÁllományrendszerMéretLeírásb-Lásd a leírástAhogy már korábban is
említettük, szét tudjuk osztani a
lapozóállományt a lemezek
között. Habár az a
partíció szabad, a hagyományok
mégis azt diktálják, hogy a
lapozáshoz használt terület maradjon
a b partíción.e/disknA lemez többi részeA lemez fennmaradó része egyetlen
nagy partícióval fedhetõ le. Ez az
e partíció helyett
lehetne minden további nélkül az
a partíció, azonban a
hagyományok szerint az a
partíciónak a rendszer gyökér
állományrendszerét
(/) kell tartalmaznia. Nekünk
ugyan nem kellene ezt a megszokást
követnünk, azonban a
sysinstall viszont így
tesz, ezért ezzel a választással
csak magunkkal teszünk jót. Az
állományrendszer bárhová
csatlakoztatható — ebben a
példában a lemezeket rendre a
/diskn
könyvtárakhoz csatoltuk, ahol az
n az adott lemez
sorszáma. De itt természetesen más
rendszert is követhetünk.
A partíciók elrendezésének
kigondolása után most már létre is
hozathatjuk ezeket a sysinstall
segítségével. Ekkor a következõ
üzenetet fogjuk látni: Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]Az üzenet fordítása: Üzenet
Most létre kell hoznunk az fdiskkel nemrég elkészített partíciókban a
BSD-s partíciókat. Ha van hozzá elegendõ helyünk (200 MB vagy több) és
nincs semmilyen különleges elvárásunk, akkor egyszerûen csak osszuk
fel automatikusan az (A)uto paranccsal. Amennyiben azonban ennél
többre lenne szükségünk, vagy csak nincs szükségünk az (A)uto által
felkínált sémára, az F1 lenyomására bõvebb információkat is kaphatunk
a kézi kiosztás lehetõségeirõl.
[ OK ]
[ Nyomja le az Enter vagy a Szóköz billentyût ]Nyomjuk le a Enter billentyût a &os;
partíciószerkesztõjének, avagy a
Disklabel
elindításához.A mutatja a
Disklabel elsõ
elindulásakor megjelenõ képet. A
képernyõ három részre
tagolható.A felsõ pár sorban a jelenleg használt
lemez nevét láthatjuk, valamint azt a slice-ot,
ami az általunk létrehozott
partíciókat tartalmazza (itt a
Disklabel a Partition
name megnevezéssel hivatkozik a slice-ra). A
képernyõn továbbá láthatjuk a
slice-ban levõ szabad helyet is, vagyis azt a helyet, amely
ugyan a slice-hoz tartozik, viszont még nem
rendeltünk hozzá partíciót.A képernyõ közepén
találhatóak az eddig már létrehozott
partíciók, az általuk tartalmazott
állományrendszerek, azok mérete és
az állományrendszerek
létrehozására vonatkozó
különbözõ
beállítások.A képernyõ alsó harmadában a
Disklabel programban
használható billentyûk felsorolása
szerepel.A sysinstall Disklabel
partíciószerkesztõjeA Disklabel képes
magától partíciókat
készíteni a nekik megfelelõ
alapértelmezett méretekkel. A
partíciók automatikus méretét egy
belsõ partícióméretezõ algoritmus
számítja ki a lemez összmérete
alapján. Próbáljuk most mi is ezt ki,
és nyomjuk le az A billentyût.
Ekkor a szerint
illusztráltaknak megfelelõ képernyõt
tapasztalhatunk. A használt lemez
méretétõl függõen az
alapértelmezett értékek megfelelõek
lesznek vagy sem. Ez igazából nem
számít, hiszen nem kell feltétlenül
elfogadnunk az alapértelmezetten
megállapított értékeket.Az alapértelmezett
partícionálási sémában a
/tmp könyvtár nem a
/ könyvtár része
lesz, hanem saját partíciót kapott.
Ezzel igyekszünk elkerülni, hogy a
/ partíció
átmenetileg tárolt állományokkal
teljen be.A sysinstall Disklabel
partíciószerkesztõje,
alapértelmezett értékekkelHa nem az alapértelmezett partíciókat
szeretnénk használni, és le akarjuk
váltani ezeket a saját magunk által
megadottakra, akkor a nyílbillentyûkkel
válasszuk ki az elsõ partíciót
és a törléséhez nyomjuk meg a
D billentyût. Hasonlóan
járjunk el az összes többi javasolt
partíció törléséhez.Az elsõ (a, vagyis a
/ könyvtárként, azaz a
gyökérként csatolt) partíció
elkészítéséhez elõször
gyõzõdjünk arról, hogy a felsõ sorban
a megfelelõ slice van kiválasztva, majd nyomjuk meg
a C billentyût. Ekkor az új
partíció méretét kérdezõ
párbeszédablak jelenik meg (lásd: ). Itt a méret a lemez
blokkjainak számában adható meg, amit
viszont M-mel lezárva megabyte-ban,
G-vel gigabyte-ban vagy
C-vel cilinderben is
kifejezhetünk.
-
- A &os; 5.X verziójától
- kezdõdõen a felhasználók
- további lehetõségei: a Custom
- Newfs (Z) opciónál
- megadható az UFS2 (amely a
- &os; 5.1 és késõbbi
- változataiban már
- alapbeállítás), az Auto
- Defaults opcióval létrehozhatunk
- partíciókat, amelyeket aztán
- módosítani tudunk a Custom
- Newfs beállítással vagy az
- opcióval a megszokott
- létrehozási periódus során. A
- Custom Newfs
- használatánál azonban ne felejtsük
- el a opció
- megadásával bekapcsolni a SoftUpdatest!
-
-
Szabad hely a
gyökérpartíciónAz alapértelmezés szerint
felkínált méret az egész slice-ot
lefoglaló partíciót hoz létre.
Amennyiben a korábbi példában
tárgyalt partícióméreteket
kívánjuk használni, akkor a
Backspace billentyû
használatával töröljük ki az
így megadott értéket, és helyette
gépeljük be, hogy 512M, ahogy
ez a
segítségével is látható. A
bevitelt zárjuk a &gui.ok; gomb
lenyomásával.A gyökérpartíció
méretének szerkesztéseMiután meghatároztuk a partíció
méretét, a telepítõ megkérdezi,
hogy a létrehozandó partícióban
állományrendszer vagy
lapozóállomány foglaljon-e helyet. Ennek a
párbeszédablakját a mutatja. Mivel az elsõ
partíciónk állományrendszert fog
tartalmazni, ezért mindenképpen az
FS paramétert válasszuk
ki, majd nyomjuk meg az Enter
billentyût.A gyökérpartíció
típusának kiválasztásaVégezetül, mivel egy
állományrendszert hoztunk létre, meg kell
mondanunk a Disklabelnek, hova
csatlakoztassa. A hozzátartozó
párbeszédablak a n látható. A
gyökér állományrendszer
csatlakozási pontja a /,
ezért itt csak annyit adjunk meg, hogy
/ és zárjuk az
Enter billentyû
lenyomásával.A gyökér csatlakozási pontjának
megadásaA képernyõn látható lista
ezután az újonnan létrehozott
partíciónak megfelelõen frissül. A
többi partícióra ugyanígy meg kell
ismételnünk ezt a mûveletsort. Arra azonban
figyeljünk, hogy a lapozásra használt
partíciót
létrehozásánál a szerkesztõ nem
fogja megkérdezni a csatlakozási pontot, hiszen az
ilyen típusú partíciókat sosem
csatlakoztatjuk. A /usr, vagyis az
utolsó partíció
készítése során a slice
fennmaradó részének
lefoglalásához már nyugodtan meghagyhatjuk
a felajánlott értéket.A &os; partíciószerkesztõjének
utolsó képernyõje a n hasonlóhoz, habár az
általunk választott értékek minden
bizonnyal eltérnek. A mûvelet
befejezéséhez nyomjuk le a Q
billentyût.A Disklabel partíciószerkesztõA telepítendõ összetevõk
kiválasztásaA terjesztések típusának
kiválasztásaA telepítendõ terjesztések típusa
nagyban függ attól, hogy a rendszerünket mire
szándékozzuk majd használni és
mennyi szabad hely áll rendelkezésünkre. Az
elõre megadott beállítások a
lehetõ legkisebb konfiguráció
telepítésétõl egészen a
komplett rendszer telepítéséig terjednek.
A &unix; és/vagy &os; világában még
az új felhasználók számára
szinte tökéletesen megfelelõnek bizonyulhat az
egyik ilyen elõkészített
beállítás kiválasztása. A
terjesztések kiválogatása pedig
általában a tapasztaltabb
felhasználók számára lehet
hasznos.Az F1 billentyûvel többet is
megtudhatunk a terjesztések különbözõ
típusairól és bennük
található összetevõkrõl.
Miután befejeztük a súgó
áttanulmányozását, nyomjuk le az
Enter billentyût, és ezzel
visszatérünk a terjesztések
kiválasztását tartalmazó
menübe.Általános alapelv, hogy ha grafikus
felületet szeretnénk használni, akkor az
X-szel kezdõdõ terjesztési
típusok közül válasszunk. Az X szerver
és az alapértelmezett munkakörnyezet
beállítását a &os;
telepítése után tudjuk majd megtenni. A X
szerver beállításáról
részletesebben a ben
olvashatunk.Az X11 alapértelmezett változataként az
&xorg; kerül fel.Ha egy saját rendszermag
építését is fontolgatjuk, akkor
olyan terjesztést válasszuk, amiben a
forráskód (kernel source) is
megtalálható. A saját rendszermag
építésének
hátterérõl és
mikéntjérõl lásd a et.Értelemszerûen a legsokoldalúbb rendszer
az, amiben minden megtalálató. Így
aztán, ha a lemezünk is megengedi, a nyilak
és az Enter használatával
válasszuk a All (Minden)
opciót, ahogy azt az
is mutatja. Ha viszont úgy érezzük, hogy
ehhez nem eléggé nagy a lemezünk, akkor
válasszuk az igényeinkhez jobban illeszkedõ
típust. Sokat azonban ne üljünk a
tökéletes megoldás
kiötlésén, hiszen ezek a terjesztések
még a telepítés befejezése
után is hozzáadhatóak a
rendszerünkhöz.A terjesztések kiválasztásaA Portgyûjtemény
telepítéseMiután kiválasztottuk a nekünk
megfelelõ terjesztést, a telepítõprogram
felajánlja a &os; Portgyûjteményének
(Ports Collection) telepítésének
lehetõségét. A portok
gyûjteménye a szoftverek
telepítésének egyszerû és
kényelmes módja. A Portgyûjtemény
önmaga nem tartalmazza a szoftverek
lefordításához szükséges
forráskódot, hanem helyette csupán azokat
az állományokat, amelyek a
különbözõ külsõs programok
letöltéséhez,
fordításához és
telepítéséhez kellenek. A ben megtalálhatjuk, miként is kell
használni ezt a gyûjteményt.A telepítõprogram nem fogja ellenõrizni a
kibontásához szükséges helyet,
ezért csak abban az esetben válasszuk ezt a
lehetõséget, ha mindenképpen elfér a
merevlemezünkön. A &os; jelenlegi, &rel.current;
változatában a Portgyûjtemény
nagyjából &ports.size; helyet foglal el a lemezen.
A &os; frissebb verzióiban nyugodtan
feltételezhetünk ennél valamivel nagyobb
értéket is. User Confirmation Requested
Would you like to install the FreeBSD ports collection?
This will give you ready access to over &os.numports; ported software packages,
at a cost of around &ports.size; of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
of a problem).
The Ports Collection is a very valuable resource and well worth having
on your /usr partition, so it is advisable to say Yes to this option.
For more information on the Ports Collection & the latest ports,
visit:
http://www.FreeBSD.org/ports
[ Yes ] NoAz üzenet fordítása: Felhasználói megerõsítés szükséges
Szeretné telepíteni a FreeBSD portjainak gyûjteményét?
Ezen keresztül közel &os.numports; portolt szoftvercsomaghoz tudunk
könnyedén hozzáférni, amelyek "tiszta" állapotukban nagyjából
&ports.size; lemezterületünkbe kerülnek, ami a késõbbiekben
valószínûleg majd növekedni fog, ahogy letöltjük a különbözõ
szoftverekhez tartozó állományokat (hacsak nincs meg a FreeBSD
valamelyik CD- vagy DVD alapú terjesztésének az összes lemeze,
amelyeket a /cdrom könyvtárba csatlakoztatva el tudjuk ezeket érni,
mert ekkor kevesebb gondunk lesz vele).
A Portgyûjtemény egy nagyon értékes erõforrás, amelynek megéri helyet
szentelni a /usr partíciónkon, ezért javasoljuk, hogy válassza az
"Igen" opciót. A Portgyûjteményrõl és annak legújabb portjairól a
http://www.FreeBSD.org/ports oldalon olvashat részletesebben.
[ Igen ] NemA Portgyûjtemény
telepítéséhez a &gui.yes; gombot, ennek
kihagyásához pedig a &gui.no; gombot
válasszuk ki a nyilakkal, majd az Enter
lenyomásával mehetünk tovább. Ekkor a
kiválasztott terjesztések menüje fog
újra megjelenni.A terjesztések telepítésének
megerõsítéseHa elégedettek vagyunk a
beállításokkal, válasszuk ki a
nyilakkal az Exit menüpontot,
gyõzõdjünk meg róla, hogy a &gui.ok;
gombon állunk, majd nyomjuk le az Enter
billentyût a folytatáshoz.A telepítés eszközének
kiválasztásaHa CD-rõl vagy DVD-rõl telepítünk, akkor
a következõ képernyõn a
nyílbillentyûkkel válasszuk ki a
Install from a CDROM or DVD
(Telepítés CD-rõl vagy DVD-rõl)
menüpontot. Ügyeljünk a &gui.ok; gomb
kiválasztására is, majd a
telepítés megkezdéséhez nyomjuk meg az
Enter billenyût.A telepítés másfajta módszereinek
alkalmazásához válasszuk ki a menüpontok
közül a nekünk megfelelõt és
kövessük a megjelenõ
utasításokat.Az F1 billentyû
lenyomására megjelenik az adott
telepítõeszközhöz tartozó
súgó. Innen az Enter
lenyomása után térhetünk vissza a
menühöz.A telepítési eszköz
kiválasztásaTelepítés FTP szerverrõltelepítéshálózatFTPHárom FTP-s telepítési mód
közül választhatunk: aktív,
passzív vagy HTTP proxyn keresztül.Aktív FTP: Install from an FTP
server (Telepítés FTP
szerverrõl)Ezzel a beállítással az
összes FTP-n keresztüli átvitel
aktív módban
történik. Ez tûzfalak esetén nem
mûködik, de gyakran alkalmazható olyan
régebbi FTP szerverek esetén, amelyek nem
ismerik az passzív adatátvitelt. Ha (az
alapértelmezett) passzív módban
megakadna a kapcsolat, próbáljunk meg
helyette az aktívat.Passzív FTP: Install from an FTP
server through a firewall
(Telepítés tûzfalon keresztül FTP
szerverrõl)FTPpasszív módEzzel a beállítással a
sysinstall programot az FTP
mûvelet végrehajtásakor a
passzív mód
használatára utasítjuk. Így
át tudunk menni olyan tûzfalakon is, amelyek
nem engedik a véletlenszerû TCP portokon
érkezõ kapcsolatokat.FTP HTTP proxyn keresztül: Install
from an FTP server through a http proxy
(Telepítés HTTP proxyn keresztül FTP
szerverrõl)FTPHTTP proxyn keresztülEzzel a beállítással
megmondhatjuk a sysinstall
programnak, hogy (egy böngészõhöz
hasonlóan) a HTTP protokollon keresztül
használja az FTP mûveletek
elvégzéséhez használt proxyt.
Ennek a proxynak lesz a feladata az átadott
kérések lefordítása és
elküldése az FTP szervernek. Ennek
köszönhetõen át tudunk menni olyan
tûzfalakon is, amelyek egyáltalán nem
engednek semmilyen FTP mûveletet, azonban tartozik
hozzájuk egy HTTP proxy. Ilyenkor az FTP szerver
beállításai mellett meg kell adnunk
ezt a HTTP proxyt is.Az FTP szervert proxyn keresztül
általában úgy érjük el, hogy a
felhasználói név részeként
egy @ jellel elválasztva megadjuk a
ténylegesen elérni kívánt szerver
nevét. A proxy szerver ezután
helyettesíti a valódi szervert.
Például tegyük fel, hogy a ftp.FreeBSD.org szerverrõl akarunk
telepíteni az 1234 porton várakozó ize.minta.com proxy
használatával.Ehhez lépjünk be a
beállításokat tartalmazó
menübe, állítsuk az FTP kapcsolathoz
használt felhasználói nevet az
ftp@ftp.FreeBSD.org értékre,
majd jelszónak adjuk meg az e-mail címünket.
Telepítési eszközként adjuk meg az
FTP-t (vagy a passzív FTP-t, amennyiben a proxy ismeri)
és a
ftp://ize.minta.com:1234/pub/FreeBSD
címet.Mivel az ftp.FreeBSD.org
címrõl származó
/pub/FreeBSD könyvtár a ize.minta.com szerveren keresztül
érhetõ el számunkra, ezért
lényegében arról a
géprõl fogunk telepíteni (amely pedig a
telepítõ kéréseire elhozza a ftp.FreeBSD.org szervertõl az
állományokat).A telepítés
véglegesítéseEzután ha óhajtjuk, megkezdhetjük a
telepítést. Ez egyben az utolsó
lehetõségünk a telepítés
megszakítására és merevlemezünket
érintõ változtatások
érvénytelenítésére. User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!
[ Yes ] NoAz üzenet fordítása: Felhasználói megerõsítés szükséges
Utolsó esély: BIZTOSAN folytatni kívánja a telepítést?
Ha olyan lemezre szeretne telepíteni, amelyen fontos adatok
találhatóak, HATÁROZOTTAN JAVASOLJUK, hogy a továbblépés elõtt
KÉSZÍTSEN RÓLUK MEGBÍZHATÓ BIZTONSÁGI MÁSOLATOT!
Nem vállalunk semmilyen felelõsséget az elvesztett adatokért!
[ Igen ] NemA továbblépéshez válasszuk a
&gui.yes; gombot és nyomjuk meg az Enter
billentyût.A telepítés idõtartama a
kiválasztott terjesztéstõl, a
telepítésre használt eszköztõl
és számítógépünk
sebességétõl függ. A folyamat
elõrehaladásáról üzenetek sorozata
tájékoztat minket.A telepítés befejezése után a
következõ üzenet jelenik meg: Message
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall.
[ OK ]
[ Press enter or space ]A szöveg fordítása: Üzenet
Gratulálunk, sikeresen telepítette a FreeBSD rendszert a számítógépére!
Most rátérünk az utolsó néhány kérdésre. A "Nem" választásával
egyszerûen átugorhatjuk mindazt, amit nem szeretnénk beállítani. Ezt a
segédprogramot a rendszer újbóli elindítása után a "/usr/sbin/sysinstall"
parancs begépelésével tudjuk elérni.
[ OK ]
[ Nyomja le az Enter vagy a Szóköz billentyût ]Az Enter billentyû
lenyomásával megkezdhetjük a
telepítés utáni
beállításokat.A &gui.no; gomb kiválasztásával és
az Enter lenyomásával
megszakíthatjuk a telepítést, így a
rendszerünkön semmilyen változtatás nem
történik. Ilyenkor a következõ üzenet
jelenik meg: Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]Az üzenet fordítása: Üzenet
A telepítés során hiba történt. A Scroll Lock használatával érdemes
átnézni a VTY1 terminál megjelenõ üzeneteket. A következõ ablakban a
"Nem" választásával vissza tudunk menni a telepítõmenühöz és
megpróbálkozhatunk ismét a sikertelen mûveletek végrehajtásával.
[ OK ]Ez az üzenet azért jelent meg, mert semmit sem
sikerült telepíteni. Innen az Enter
megnyomásával térhetünk vissza a
fõmenübe, majd onnan tudunk kilépni a
telepítõbõl.A telepítés utánA sikeres telepítést különféle
beállítások követik.
Közülük az új &os; rendszer
indítása elõtt bármelyik
megismételhetõ a beállítások
opcióit tartalmazó menü újbóli
használatával, vagy pedig a telepítés
- után a sysinstall (illetve a &os;
- 5.2-nél régebbi verziói esetén
- /stand/sysinstall) parancs
+ után a sysinstall parancs
kiadásával, majd a
Configure
(Beállítások) menüpont
kiválasztásával.A hálózati eszközök
beállításaA következõ képernyõ már nem
jelenik meg, ha az FTP szerveren keresztüli
telepítéshez korábban már
beállítottuk a PPP kapcsolatot. Ez a
korábbiakban említettek szerint
állítható be.Ha többet szeretnénk megtudni a helyi
hálózatokról (LAN), vagy a &os;-t
átjáróként, illetve
útválasztóként
kívánjuk beállítani, olvassuk el az
Egyéb haladó
hálózati témák
címû fejezetet. User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
[ Yes ] NoFordítása: Felhasználói megerõsítés szükséges
Szeretnénk beállítani valamilyen Ethernet- vagy SLIP/PPP hálózati eszközt?
[ Igen ] NemA hálózati eszközeink
beállításához válasszuk a
&gui.yes; gombot, majd nyomjuk meg az Enter
billentyût. Ellenkezõ esetben a &gui.no; gombbal
mehetünk tovább.Az Ethernet-eszköz
kiválasztásaA beállítandó csatoló
kiválasztásához használjuk a
nyílbillentyûket és utána nyomjuk meg
az Enter billentyût. User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]Fordítás: Felhasználói megerõsítés szükséges
Megpróbálkozik az IPv6 beállításával a csatolón?
Igen [ Nem ]A példánkban szereplõ helyi
hálózatban az aktuális internetes protokoll
(IPv4) egyelõre megfelelõ,
ezért válasszuk a &gui.no; gombot és
nyomjuk meg az Enter billentyût.Amennyiben RA-szerveren keresztül
egy már létezõ IPv6
hálózathoz csatlakozunk, akkor válasszuk a
&gui.yes; gombot és nyomjuk meg az Enter
billentyût. Ezt követõen az RA-szerverek
felderítése kezdõdik meg, ami
néhány másodpercig eltarthat. User Confirmation Requested
Do you want to try DHCP configuration of the interface?
Yes [ No ]Az üzenet fordítása: Felhasználói megerõsítés szükséges
Megpróbálkozik a DHCP használatával a csatolón?
Igen [ Nem ]Ha nincs szükségünk a DHCP (Dynamic Host
Configuration Protocol, azaz a Dinamikus
állomáskonfigurációs protokoll)
használatára, akkor a &gui.no; gomb
kiválasztásával majd az
Enter lenyomásával
továbbléphetünk.A &gui.yes; gomb kiválasztására elindul
a dhclient nevû program,
és amennyiben sikerrel jár, magától
kitölti a hálózati
beállításokra vonatkozó adatokat.
Ennek részleteit a ben
találhatjuk meg.Az alábbi hálózati
beállító képernyõ mutatja a
helyi hálózat
átjárójaként használni
kívánt Ethernet-eszköz
konfigurációját.Az ed0 hálózati
beállításaA Tab billentyûvel tudunk
navigálni az adatlap mezõi között
és kitölteni ezeket a megfelelõ
információkkal:Host
(Számítógépnév)A számítógépünk
teljes neve, amely a példában most k6-2.example.com.Domain (Tartomány)Annak a tartománynak a neve, amelyben a
számítógépünk a
található. Ez itt konkrétan a
example.com.IPv4 Gateway (IPv4-átjáró)A helyben nem elérhetõ célok
megközelítésére használt
gép IP-címe. Ezt a mezõt
mindenképpen töltsük ki akkor, ha a
számítógépünk valamilyen
hálózatba van kötve. Azonban
hagyjuk üresen, ha a
számítógép a
hálózat átjárója az
internet felé. Az IPv4
átjárót más néven
default gateway-nek (alapértelmezett
átjárónak) vagy default
route-nak (alapértelmezett
útvonalnak) is nevezik.Name server (Névszerver)A helyi DNS (névfeloldó) szerverünk
IP-címe. Ha nem található ilyen a
helyi hálózatunkon, akkor az
internet-szolgáltató DNS szerverének
címét (a példában ez a 208.163.10.2) adjuk meg.IPv4 address (IPv4-cím)A csatoló IP-címe, amely az
ábrán a 192.168.0.1.Netmask (Hálózati maszk)A helyi hálózatban használt
címtartomány a 192.168.0.0 - 192.168.0.255, amihez a 255.255.255.0
hálózati maszk tartozik.Extra options to ifconfig (Az ifconfig további
beállításai)Az ifconfig parancs adott
csatolóra vonatkozó egyéb
beállításai. Jelen esetünkben
itt semmi sem szerepel.Miután végeztünk, a Tab
billentyû lenyomásával válasszuk ki a
&gui.ok; gombot és nyomjuk le az Enter
billentyût. User Confirmation Requested
Would you like to Bring Up the ed0 interface right now?
[ Yes ] NoA fordítás: Felhasználói megerõsítés szükséges
Aktiválja most az ed0 csatolót?
[ Igen ] NemA &gui.yes; gomb kiválasztásával, majd
az Enter lenyomásával
csatlakoztatjuk a számítógépet a
hálózathoz, ami ezután
használhatóvá válik. Ez azonban a
telepítés számára nem jelent
túlságosan sokat, hiszen ettõl
függetlenül a számítógépet
egyébként is újra kell majd
indítanunk.Az átjáró
beállítása User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] NoA fordítás: Felhasználói megerõsítés szükséges
Ezt a számítógépet hálózati átjáróként is használni akarja?
[ Igen ] NemHa a számítógépet a helyi
hálózat átjárójaként
használni akarjuk gépek közti csomagok
továbbítására, akkor
válasszuk a &gui.yes; gombot és nyomjuk meg
hozzá az Enter billentyût. Ha
viszont ez a gép csupán a hálózat
egy tagja, akkor válasszuk a &gui.no; gombot és a
folytatáshoz nyomjuk meg az Enter
billentyût.A hálózati szolgáltatások
beállítása User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]Fordítás: Felhasználói megerõsítés szükséges
Beállítja az inetd démont és az általa felkínált hálózati szolgáltatásokat?
Igen [ Nem ]Ha itt a &gui.no; gombot választjuk, akkor ezzel
kikapcsoljuk a különbözõ
szolgáltatásokat, például a
telnetd démont. Ez azt
jelenti, hogy a távoli felhasználók nem
lesznek képesek a telnet
program használatával belépni erre a
számítógépre. A helyi
felhasználók viszont továbbra is
képesek lesznek távoli
számítógépeket elérni a
telnet
segítségével.Az /etc/inetd.conf
átírásával azonban ezek a
szolgáltatások késõbb
természetesen engedélyezhetõek. A foglalkozik a téma
részleteivel.A &gui.yes; gomb választásával
már a telepítés során
beállíthatjuk a szolgáltatásokat.
Ekkor egy további párbeszédablak is
felbukkan: User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] NoFordítása: Felhasználói megerõsítés szükséges
A fõ internetes kiszolgáló (az inetd) számos egyszerû internetes
szolgáltatás, többek közt a finger, ftp és telnet elérését teszi
lehetõvé. Ezen szolgáltatások engedélyezése azonban a felmerülõ
biztonsági problémák kockázatát, mivel ezzel rendszerünket jobban
kitesszük támadásoknak.
Mindezek tudatában használni kívánja az inetd démont?
[ Igen ] NemA folytatáshoz válasszuk a &gui.yes;
gombot. User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] NoFordítás: Felhasználói megerõsítés szükséges
Az inetd(8) démonnak az elérhetõ internetes szolgáltatások
megállapításához szüksége van a beállításait tartalmazó
/etc/inetd.conf állományra. A FreeBSD-hez tartozó inetd.conf(5)
állomány alapértelmezés szerint az összes szolgáltatást letiltja,
ezért a mûködéséhez minden egyes szolgáltatást külön kell engedélyezni
az említett állományban, még abban az esetben is, ha az inetd(8)
démont korábban már engedélyeztük. Az IPv6 szolgáltatások az IPv4
szolgáltatásoktól külön engedélyezendõek.
Az [ Igen ] választásával behívjuk az /etc/inetd.conf szerkesztését,
míg a [ Nem ] választásával pedig az imént felvázolt beállításokat
fogadjuk el.
[ Igen ] NemA &gui.yes; gomb kiválasztásával
lehetõségünk nyílik
szolgáltatásokat engedélyezni a sorok
elején található # jel
törlésével.Az inetd.conf
módosításaMiután felvettük az összes használni
kívánt szolgáltatást, az
Esc billentyû lenyomásával
elõhozhatjuk azt a menüt, ahol elmenthetjük a
módosításainkat és
kiléphetünk.Az SSH-n keresztüli bejelentkezés
engedélyezéseSSHsshd User Confirmation Requested
Would you like to enable SSH login?
Yes [ No ]Fordítás: Felhasználói megerõsítés szükséges
Engedélyezi az SSH-n keresztüli bejelentkezést?
Igen [ Nem ]A &gui.yes; gomb kiválasztása
engedélyezi az OpenSSH-hoz
tartozó &man.sshd.8; démont, aminek
segítségével a
számítógépünkre
biztonságosan be tudunk jelentkezni
távolról. Az OpenSSH
részleteirõl lásd a t.Anonim FTPFTPanonim User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]Fordítás: Felhasználói megerõsítés szükséges
Hozzáférhetõ legyen ez a számítógép anonim FTP használatán keresztül?
Igen [ Nem ]Az anonim FTP tiltásaAz alapértelmezett &gui.no; gomb
kiválasztásával és az
Enter billentyû
lenyomásával a jelszóval védett
FTP hozzáféréssel rendelkezõ
felhasználók továbbra is elérhetik
a számítógépünket.Az anonim FTP engedélyezéseHa ezt választjuk, akkor anonim FTP kapcsolaton
keresztül bárki hozzáférhet a
számítógépünkhöz. Ebben
az esetben azonban alaposan meg kell fontolnunk
néhány biztonsági
következményt. A
beállítással járó
kockázatokról az ben
olvashatunk többet.Az anonim FTP bekapcsolásához a
nyílbillentyûkkel válasszuk ki a &gui.yes;
feliratú gombot és nyomjuk meg az
Enter billentyût. Ekkor egy
további párbeszédablak is
megjelenik: User Confirmation Requested
Anonymous FTP permits un-authenticated users to connect to the system
FTP server, if FTP service is enabled. Anonymous users are
restricted to a specific subset of the file system, and the default
configuration provides a drop-box incoming directory to which uploads
are permitted. You must separately enable both inetd(8), and enable
ftpd(8) in inetd.conf(5) for FTP services to be available. If you
did not do so earlier, you will have the opportunity to enable inetd(8)
again later.
If you want the server to be read-only you should leave the upload
directory option empty and add the -r command-line option to ftpd(8)
in inetd.conf(5)
Do you wish to continue configuring anonymous FTP?
[ Yes ] NoAz üzenet fordítása: Felhasználói megerõsítés szükséges
Az anonim FTP használatával a rendszer FTP szolgáltatásához
hitelesítetlen felhasználók is hozzáférhetnek, amennyiben az aktív. A
névtelen felhasználók az állományrendszernek csak egy részét érhetik
el, valamint az alapbeállítások szerint a feltöltést egy külön erre
a célra fenntartott könyvtárba végezhetik el. Az FTP szolgáltatás
használatát külön engedélyeznünk kell az inetd(8) démon részérõl és
az inetd.conf(5) állományban található ftpd(8) démon aktiválásával.
Ha eddig még nem tettük volna meg, akkor az inetd(8) használatát
késõbb még újra engedélyezhetjük.
Ha csak letöltést kívánunk engedni, akkor hagyjuk a feltöltési
könyvtárra vonatkozó paramétert üresen és az inetd.conf(5)
állományban az ftpd(8) parancssorához adjuk hozzá az -r kapcsolót.
Folytatja az anonim FTP beállítását?
[ Igen ] NemAz üzenet értesít minket arról,
hogy az anonim FTP kapcsolatok
engedélyezéséhez az FTP
szolgáltatást az
/etc/inetd.conf állományban
is be kell majd kapcsolni, lásd . Válasszuk a &gui.yes;
gombot és a folytatáshoz nyomjuk meg az
Enter billentyût. Ekkor a
következõ képernyõ jön
elõ:Az anonim FTP
alapbeállításaiA beállítások kitöltése
során a Tab billentyûvel
mozoghatunk az adatmezõk között:UID (felhasználói
azonosító)A névtelen FTP felhasználókhoz
társított felhasználói
azonosító. Az feltöltött
állomány tulajdonosa ez az
azonosító lesz.Group (csoport)A névtelen FTP felhasználók
csoportja.Comment (megjegyzés)Ez a szöveg szerepel a
felhasználónál az
/etc/passwd
állományban.FTP Root Directory (az FTP gyökere)Itt találhatóak az anonim FTP-n
keresztül elérhetõ
állományok.Upload Subdirectory (feltöltési
könyvtár)A névtelen FTP felhasználók
által feltöltött
állományok ide kerülnek.Az FTP gyökere alapból a
/var könyvtár lesz. Ha a
becsült FTP-forgalom
lebonyolításához itt nem
rendelkezünk elegendõ hellyel, akkor az
/usr könyvtárban
található /usr/ftp
alkönyvtár is beállítható az
FTP gyökerének.Ha elfogadhatónak találjuk az
értékeket, nyomjuk le az Enter
billentyût a folytatáshoz. User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] NoFordítás: Felhasználói megerõsítés szükséges
Létre kíván hozni egy köszöntõ üzenetet tartalmazó állományt
az anonim FTP felhasználók számára?
[ Igen ] NemA &gui.yes; választásával és
az Enter megnyomásával az
üzenet szerkesztéséhez egy
szövegszerkesztõ fog elindulni.Az FTP köszöntõ üzenetének
szerkesztéseEz az ee szövegszerkesztõ.
Az üzenet átírásához
használjuk a megadott utasításokat, de
akár késõbb is módosíthatjuk
ezt a kedvenc szövegszerkesztõnkkel. Ehhez a
módosítandó állomány neve
és helye a szerkesztõ
képernyõjének alján
olvasható.A kilépéshez az Esc
lenyomására felbukkanó menüben
alapból az a) leave editor
(kilépés a szerkesztõbõl)
menüpont érhetõ el, ezért itt az
Enter lenyomásával
léphetünk tovább. Az
Enter ismételt
lenyomásával elmenthetjük a
módosításainkat.A hálózati állományrendszer
beállításaA hálózati állományrendszer
(Network File System, NFS) állományok
közzétételét teszi
lehetõvé hálózaton keresztül.
Használata során egy
számítógép
beállítható szervernek, kliensnek vagy
akár mindkettõnek. Ezzel kapcsolatban a ajánlott
elolvasásra.Az NFS szerver User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]A fordítása: Felhasználói megerõsítés szükséges
Be akarja állítani NFS szervernek ezt a számítógépet?
Igen [ Nem ]Ha nincs szükségünk a
hálózati állományrendszer szerver
részére, akkor válasszuk a &gui.no;
gombot és nyomjuk le az Enter
billentyût.Amennyiben a &gui.yes; gombot válasszuk, egy
üzenet fogja közölni velünk, hogy
létre kell hoznunk az exports
állományt. Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]Az üzenet fordítása: Üzenet
Az NFS szerver mûködtetéséhez elõször az /etc/exports állomány
összeállításán keresztül meg kell adnunk, hogy milyen gépek milyen
típusú hozzáféréssel rendelkezzenek a helyi állományrendszereinken.
Az [Enter] lenyomására megkezdõdik az /etc/exports állomány
szerkesztése.
[ OK ]Az Enter billentyû
lenyomásával továbbléphetünk.
Ekkor az exports állomány
létrehozására és
szerkesztésére egy szövegszerkesztõ
indul el.Az exports
szerkesztéseA exportálni kívánt
állományrendszerek felsorolásához
használjuk képernyõn a megadott
utasításokat, vagy tegyük meg ezt
késõbb az általunk választott
szövegszerkesztõ segítségével.
Ilyenkor ne felejtsük el megjegyezni az
állomány képernyõ alján
látható nevét és
helyét.Amikor végeztünk, az Esc
billentyûvel felhozható menüben
alapból az a) leave editor
(kilépés a szövegszerkesztõbõl)
menüpont aktív, ezért itt a
folytatáshoz egyszerûen nyomjuk le az
Enter billentyût.Az NFS kliensAz NFS kliens beállításával
NFS szerverekhez tudunk hozzáférni. User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]Fordítás: Felhasználói megerõsítés szükséges
Beállítja NFS kliensnek ezt a számítógépet?
Igen [ Nem ]A nyílbillentyûkkel igényeinknek
megfelelõen válasszuk a &gui.yes; vagy &gui.no;
gombokat és utána nyomjuk meg az
Enter billentyût.A rendszerkonzol beállításaiSzámos beállítás
kapcsolódik a rendszerben található
konzolok testreszabásához. User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] NoFordítás: Felhasználói megerõsítés szükséges
Testreszabja a rendszerkonzol beállításait?
[ Igen ] NemA beállítások
megtekintéséhez és
megváltoztatásához válasszuk a
&gui.yes; gombot és nyomjuk le az Enter
billentyût.A rendszerkonzol beállításaiA képernyõkímélõ
beállítása egy gyakori opció. A
nyilak használatával álljunk a
Saver menüpontra, majd nyomjuk
le az Enter billentyût.A képernyõkímélõ
beállításaiA nyilakkal válasszuk ki a használni
kívánt
képernyõkímélõt és nyomjuk
meg hozzá az Enter billentyût.
Ekkor a rendszerkonzol beállításait
tartalmazó menü jelenik meg ismét.Az aktivizálódás ideje
alapbeállítás szerint 300 másodperc.
Ennek megváltoztatásához válasszuk
ismét a Saver menüpontot.
A képernyõkímélõ
beállításait tartalmazó menüben
a nyílbillentyûkkel válasszuk a
Timeout (Idõkorlát)
menüpontot és nyomjuk meg az Enter
billentyût. Ekkor egy párbeszédablak jelenik
meg:A képernyõkímélõhöz
tartozó idõkorlát
beállításaMiután megváltoztattuk az
értéket, a rendszerkonzol
beállításához a &gui.ok; gomb
kiválasztásával, majd az
Enter billentyû lenyomásával
térhetünk vissza.Kilépés a rendszerkonzol
beállító
menüjébõlA Exit (Kilépés)
választásával és az
Enter lenyomásával folytathatjuk
tovább a telepítés utólagos
beállításait.Az idõzóna
beállításaHa kiválasztjuk
számítógépünk
számára a megfelelõ
idõzónát, akkor lehetõvé
tesszük, hogy magától elvégezze a
helyi idõhöz kapcsolódó összes
szükséges korrekciót és helyesen
kezelje az idõzónákhoz
kapcsolódó többi funkciót.A példában az Egyesült Államok
keleti idõzónájában elhelyezkedõ
számítógépet láthatunk. A mi
beállításaink természetesen a
saját földrajzi helyzetünktõl
függenek. User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] NoFordítás: Felhasználói megerõsítés szükséges
Beállítja most a számítógép idõzónáját?
[ Igen ] NemA &gui.yes; gomb és az Enter
billentyû segítségével
kiválaszthatjuk az idõzóna
beállítását. User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]Fordítás: Felhasználói megerõsítés szükséges
A számítógép órája az egységes világidõhöz (UTC) van beállítva? Ha a
helyi idõhöz vagy nem tudjuk, akkor itt válasszuk a NEM gombot!
Igen [ Nem ]A számítógépünk
órájának
beállításának megfelelõen
válasszuk a &gui.yes; vagy &gui.no; gombot, és
nyomjuk meg az Enter billentyût.A térség kiválasztásaA nyilakkal kiválasztható a megfelelõ
térség, amit aztán az
Enter billentyûvel tudunk
lezárni.Az ország kiválasztásaA megfelelõ ország a
nyílbillentyûkkel, valamint az
Enter billentyûvel
választható ki.Az idõzóna kiválasztásaA nekünk megfelelõ idõzóna a nyilakkal
választható meg, amit ezután az
Enter billentyûvel tudunk
jóváhagyni. Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] NoAz üzenet fordítása: Megerõsítés
Ezek szerint az 'EDT' elfogadható?
[ Igen ] NemErõsítsük meg, hogy az idõzóna
helyes-e. Ha rendbenlevõnek látszik, nyomjuk meg az
Enter billentyût a
folytatáshoz.Linux binárisok használata User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] NoA fordítás: Felhasználói megerõsítés szükséges
Engedélyezi a Linux binárisok futtatását?
[ Igen ] NemA &gui.yes; gomb kiválasztásával
és az Enter lenyomásával
megengedjük, hogy a Linuxra készült
szoftvereket futtassunk &os;-n. A telepítõ ennek
biztosításához még további
csomagokat is fel fog rakni.Ha FTP-n keresztül telepítünk, akkor a
számítógépnek csatlakoznia kell az
internetre. Ilyenkor elõfordulhat, hogy az FTP szerveren
nem találhatóak meg a &linux;
kompatibilitással kapcsolatos csomagok. Ezeket azonban
késõbb is telepíthetjük.Az egér beállításaiEzen beállítás
használatával egy háromgombos
egérrel lehetõségünk adódik a
konzol és a felhasználói programok
között kivágni és bemásolni
szövegeket. Kétgombos egér használata
esetén nézzük meg a &man.moused.8; man
oldalán, miként tudjuk emulálni a
háromgombos mûködést. A
következõ példa egy nem USB-s (tehát
PS/2-es vagy soros portra csatlakozó) egér
beállítását
illusztrálja: User Confirmation Requested
Does this system have a PS/2, serial, or bus mouse?
[ Yes ] No Fordítás: Felhasználói megerõsítés szükséges
Csatlakozik a rendszeréhez PS/2-es, soros vagy buszos egér?
[ Igen ] NemA PS/2, soros vagy buszos egér
használatához válasszuk a &gui.yes; gombot,
illetve az USB-s egérhez pedig a &gui.no; gombot, majd
nyomjuk meg az Enter billentyût.Az egér által használt protokoll
típusának
beállításaA nyílbillentyûk használatával
keressük ki a Type
(Típus) menüpontot és nyomjuk le az
Enter billentyût.Az egér protokolljának
beállításaA példában használt egér
típusa PS/2, ezért itt a
alapértelmezés szerint felkínált
Auto megfelelõ. A protokoll
megváltoztatásához a nyilakkal
válasszunk ki egy másikat. Ezután
gondoskodjunk róla, hogy az &gui.ok; gombot
választottuk ki és a kilépéshez
nyomjuk meg az Enter billentyût.Az egér portjának
beállításaA nyílbillentyûkkel válasszuk ki a
Port menüpontot és
nyomjuk meg az Enter billentyût.Az egér portjának
kiválasztásaMivel a példában szereplõ rendszerhez egy
PS/2 egér csatlakozik, ezért az
alapértelmezett PS/2
menüpont megfelelõnek tûnik. A port
megváltoztatásához használjuk a
nyilakat, majd nyomjuk le az Enter
billentyût.Az egérdémon
engedélyezéseBefejezésül a egérhez tartozó
démon aktiválásához és
kipróbálásához válasszuk ki a
nyilakkal az Enable
(Engedélyezés) menüpontot.Az egérdémon
kipróbálásaPróbáljuk mozgatni a képernyõn
megjelenõ egérkurzort, és
ellenõrizzük, hogy a kurzor a mozdulatainknak
megfelelõen reagál-e. Ha mindent rendben
találunk, akkor válasszuk a &gui.yes; gombot
és nyomjuk le az Enter billentyût.
Ellenkezõ esetben az egeret nem jól
állítottuk be — válasszuk a &gui.no;
gombot és kísérletezzünk tovább
más beállításokkal.Az utólagos beállítások
folytatásához válasszuk elõször
az Exit (Kilépés)
menüpontot, majd nyomjuk meg az Enter
billentyût.Csomagok telepítéseA csomagok elõre lefordított binárisokat
tartalmaznak, és használatukkal igen
kényelmesen tudunk szoftvereket telepíteni.Szemléltetés céljából
most bemutatjuk az egyik ilyen csomag
telepítését. Természetesen
igény szerint más csomagokat is
hozzávehetünk. A telepítés
után a sysinstall parancs
használható további csomagok
telepítésére. User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
and more. Would you like to browse the collection now?
[ Yes ] NoAz üzenet fordítása: Felhasználói megerõsítés szükséges
A FreeBSD csomaggyûjteménye többezernyi azonnal használható
alkalmazást tartalmaz, a szövegszerkesztõktõl a játékokon keresztül a
WEBszervereken át szinte mindent. Át kívánja lapozni most ezt a
gyûjteményt?
[ Igen ] NemA &gui.yes; kiválasztása és az
Enter lenyomása után a
csomagválasztó képernyõ
következik:A csomagok kategóriájának
kiválasztásaEkkor csak az adott telepítõeszközön
elérhetõ csomagok fognak megjelenni.Az összes csomagot a All
(Mind) menüpont kiválasztásával
láthatjuk, vagy leszûkíthetjük ezt egy
adott kategóriára is. Álljunk a
kiválasztott kategóriához tartozó
menüpontra és nyomjuk meg az Enter
billentyût.Ezután egy menü fogja felsorolni az adott
kategórián belül telepíthetõ
csomagokat:Csomag kiválasztásaA példában a bash
parancsértelmezõt választottuk ki.
Válogassunk kedvünkre a csomagok között,
és álljunk a telepíteni
kívántakra, majd a
Szóköz billentyû
lenyomásával jelöljük be ezeket. Minden
egyes csomag rövid leírása a
képernyõ bal alsó sarkában
olvasható.A Tab billentyû
segítségével mozoghatunk az utoljára
kiválasztott csomag, az &gui.ok; és &gui.cancel;
gombok között.Miután bejelöltük az összes
telepítésre szánt csomagot, a
csomagválasztó menübe úgy tudunk
visszatérni, ha a Tab billentyûvel
átváltunk az &gui.ok; gombra és megnyomjuk
meg az Enter billentyût.Ezeken felül a bal és jobb nyilak
használhatóak az &gui.ok; és &gui.cancel;
gombok közti váltásra. Ugyanezzel a
módszerrel választható ki az &gui.ok; gomb
is, ami után az Enter billentyû
megnyomásával visszajutunk a
csomagválasztó menübe.Csomagok telepítéseA nyilakkal és a Tab
billentyûvel válasszuk ki az
[ Install ]
(Telepítés) gombot és nyomjuk meg az
Enter billentyût. Ekkor meg kell
erõsítenünk a csomagok
telepítését:Csomagok telepítésének
megerõsítéseAz &gui.ok; kiválasztása majd az
Enter billentyû lenyomása
indítja el a csomagok telepítését.
A telepítés befejezéséig
különbözõ üzenetek fognak megjelenni.
Figyeljünk az ilyenkor felbukkanó
hibaüzenetekre!A beállítások
véglegesítése a csomagok
telepítése után folytatódik.
Amennyiben egyetlen csomagot sem választottunk és
szeretnénk továbblépni, akkor is az
Install (Telepítés) gombot
válasszuk.Felhasználók és csoportok
felvételeA telepítés során legalább egy
felhasználót érdemes hozzáadnunk a
rendszerhez, mivel a rendszer használatához
így nem kell root
felhasználóként bejelentkezni.
Általánosságban véve ahhoz
egyébként is kicsi a
gyökérpartíció, hogy
root felhasználóként
(rendszeradminisztrátorként) futtassunk rajta
programokat, és gyorsan be is telik. A nagyobb
veszélyt azonban itt olvashatjuk: User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
adversely affect the entire system).
[ Yes ] No Felhasználói megerõsítés szükséges
Szeretnénk mosta rendszerbe felvenni felhasználói fiókokat? Ebben a
lépésben legalább egy felhasználó felvétele javasolt, hiszen "root"
felhasználóként veszélyes dolgozni (mivel így könnyen tehetünk olyan
dolgokat, amelyek káros hatással lehetnek rendszerünkre).
[ Igen ] NemEzért válasszuk a &gui.yes; gombot és
az Enter billentyû
lenyomásával lépjünk tovább a
felhasználók felvételéhez.Felhasználók
kiválasztásaA nyílbillentyûkkel válasszuk ki a
User (Felhasználó)
menüpontot és nyomjuk meg az Enter
billentyût.A felhasználó adatainak
megadásaAmikor a Tab billentyûvel
lépkedünk a kitöltendõ mezõk
között, a képernyõ alsó
részén az alábbi leírások
magyarázzák az egyes mezõk
tartalmát:Login ID (Bejelentkezési
azonosító)Az új felhasználó
bejelentkezési neve (kötelezõ).UID (Felhasználói
azonosító)A felhasználó számszerû
azonosítója (automatikusan
létrejön, ha üresen hagyjuk).Group (Csoport)A felhasználó bejelentkezési
csoportjának neve (automatikusan
létrejön, ha üresen hagyjuk).Password (Jelszó)A felhasználó jelszava (óvatosan
bánjunk ezzel a mezõvel!)Full name (Teljes név)A felhasználó teljes neve
(megjegyzés).Member groups (További csoportok)A felhasználó ezen csoportoknak is tagja
(tehát rendelkezik az
engedélyeikkel).Home directory (Felhasználói
könyvtár)A felhasználó saját
könyvtára (ha üresen hagyjuk, az
alapértelmezés szerint töltõdik
ki).Login shell (Parancsértelmezõl)A felhasználó által
használt parancsértelmezõ (ha
üresen hagyjuk, az alapértelmezés
szerint töltõdik, mint például
/bin/sh).Az ábrán a bejelentkezés után
használt parancsértelmezõt a
/bin/sh
parancsértelmezõrõl a
/usr/local/bin/bash
parancsértelmezõre változtattuk, így
most a korábban telepített
bash parancsértelmezõt
fogjuk használni. Itt ne is próbáljunk nem
létezõ parancsértelmezõt
kiválasztani, hiszen ekkor nem tudunk majd bejelentkezni.
A BSD világban egyébként a C shell a
leggyakrabban használt, amelyet a
/bin/tcsh megadásával
választhatjuk ki.Az ábrán szereplõ
felhasználót ezenkívül még a
wheel csoportba is felvettük, aminek
köszönhetõen képes lesz a
rendszerünkben a root
felhasználói jogaival rendelkezõ
rendszeradminisztrátorrá válni.Amikor mindent megfelelõnek találunk, nyomjunk
az &gui.ok; gombra és ekkor ismét a
felhasználók és csoportok
karbantartását tartalmazó menü jelenik
meg:Kilépés a felhasználók
és csoportok menüjébõlCsoportokat is létre tudunk hozni, amennyiben erre
szükségünk lenne. Ez a rész a
telepítés befejezése után
továbbra is elérhetõ a
- sysinstall (vagy a &os; 5.2 elõtt
- verzióiban a /stand/sysinstall)
- parancs segítségével.
+ sysinstall parancs
+ segítségével.
Amikor befejeztük a felhasználók
hozzáadását, a nyilakkal válasszuk
ki az Exit (Kilépés)
menüpontot és a telepítés
folytatásához nyomjuk meg az
Enter billentyût.A root felhasználó
jelszavának megadása Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter or space ]Fordítása: Üzenet
Most meg kell adnia a rendszergazda jelszavát. Ezt a jelszót
kell a "root" felhasználó bejelentkezésekor használni.
[ OK ]
[ Nyomja le az Enter vagy a Szóköz billentyût ]A root felhasználó
jelszavának beállításához
nyomjuk meg az Enter billentyût.A jelszót kétszer kell megadnunk. Felesleges
megemlíteni, hogy gondoskodjunk arról az
esetrõl is, ha véletlenül elfelejtenénk
ezt a jelszót. Megemlítjük, hogy az itt
begépelt jelszó nem lesz látható
és a betûk helyett sem jelennek meg
csillagok.New password:
Retype new password :A jelszó sikeres megadása után a
telepítés folytatódik.Kilépés a
telepítõbõlHa be szeretnénk még állítani
egyéb
hálózati szolgáltatást vagy
valamilyen más konfigurációs
lépést kívánunk még
elvégezni, ezen a ponton megtehetjük vagy a
telepítés után a
- sysinstall (illetve a &os; 5.2-nél
- régebbi változatai esetén a
- /stand/sysinstall) parancs
+ sysinstall parancs
kiadásával. User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]Fordítás: Felhasználói megerõsítés szükséges
Végignézi még utoljára a beállításokat arra az esetre, ha véletlenül
kihagytunk volna valamit?
Igen [ Nem ]Ha a nyilakkal a &gui.no; gomnbot választjuk, majd
megnyomjuk rajta az Enter billentyût,
akkor visszatérünk a telepítõ
fõmenüjébe.Kilépés a
telepítõbõlVálasszuk ki a nyílbillentyûkkel a
[X Exit Install]
(Kilépés a telepítõbõl) gombot
és nyomjuk meg az Enter billentyût.
Ezután meg kell erõsítenünk
kilépési szándékunkat: User Confirmation Requested
Are you sure you wish to exit? The system will reboot (be sure to
remove any floppies/CDs/DVDs from the drives).
[ Yes ] NoFordítás: Felhasználói megerõsítés szükséges
Valóban ki akar lépni? A rendszer ezt követõen újra fog
indulni (ezért ne felejtsük el eltávolítani az összes
floppyt, CD-t és DVD-t a meghajtókból)!
[ Igen ] NemVálasszuk a &gui.yes; gombot és ha
floppyról indítottuk a rendszert, akkor azt
vegyük ki a meghajtóból. A
CD-meghajtó egészen az
újraindítás megkezdéséig
zárolt lesz, ezért csak ekkor tudjuk (gyorsan)
kivenni a meghajtóból a lemezt.A rendszer újraindul, legyünk résen
és figyeljük a megjelenõ hibaüzeneteket,
errõl bõvebben lásd a ban.TomRhodesÍrta: További hálózati
szolgálatások
beállításaA hálózati szolgáltatások
terén csekély tapasztalattal rendelkezõ
kezdõ felhasználók számára
ijesztõ lehet ezek beállítása. A
hálózatok és többek közt az
internet kezelése napjaink modern operációs
rendszereink, így a &os;-nek is az egyik fontos
területe. Ezért nagyon hasznos ismernünk
valamennyire a &os; által felkínált
hálózati lehetõségeket. A
telepítés közben ezért a
felhasználónak tisztában kell lennie a
rendelkezésére álló
szolgáltatásokkal.A hálózati szolgáltatások olyan
programok, amelyek a hálózat minden
részérõl fogadnak adatokat. Mindent el kell
követnünk annak érdekében, hogy ezek a
programok ne tehessenek semmilyen kárt.
Sajnos a programozók sem tökéletesek,
és az idõk során már elõfordult
párszor, hogy a hálózati
szolgáltatásokban maradtak hibák, amelyek
kihasználásával a támadók
rossz dolgokat tudtak csinálni. Ezért fontos,
hogy csak is azokat a szolgáltatásokat
engedélyezzük, amelyekre ténylegesen
szükségünk van. Ha nem tudjuk eldönteni,
akkor az a legjobb, ha egészen addig egyiket sem
engedélyezzük, amíg valóban
szükségünk nem lesz rájuk. A
sysinstall újbóli
elindításával vagy az
/etc/rc.conf megfelelõ
beállításával mindig tudunk
új szolgáltatásokat
aktiválni.A Networking
(Hálózatok) menüpont
kiválasztása után valami ilyesmit
láthatunk:A hálózati beállítások
menüjének felsõ szintjeEzek közül a Interfaces
(Csatolók), vagyis az elsõ menüpontról
korábban már szó esett a ban, ezért ez most nyugodtan
kihagyható.Az AMD menüpont
kiválasztásával engedélyezzük a
BSD automatikus
csatlakoztatásokért felelõs
segédeszközét (AMD, az AutoMounter Daemon).
Ezt általában az NFS
protokollal (lásd lentebb) együtt szokás
használni a távoli
állományrendszerek automatikus
csatlakoztatásához. Itt nincs szükség
semmilyen különleges
beállításra.A következõ sorban az AMD
Flags (Az AMD beállításai)
menüpont szerepel. Kiválasztása után
az AMD beállításait
bekérõ ablak fog felbukkani. Ez már
számos alapértelmezett
beállítást tartalmaz:-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.mapA kapcsolóval adjuk meg a
csatlakozási pontok alapértelmezett helyét,
amely ebben az esetben az /.amd_mnt. A
kapcsolóval adjuk meg az
alapértelmezett log (napló)
állományt, habár a
syslogd használata során az
összes naplózási tevékenység a
rendszer naplózó démonján fut majd
keresztül. A /host
könyvtárba fognak csatlakozni a távoli
gépek exportált állományrendszerei,
míg a /net
könyvtárba a különbözõ
IP-címekrõl exportált
állományrendszerek kerülnek
csatlakoztatásra. Az /etc/amd.map
állomány tartalmazza az AMD
exportjainak alapértelmezett
beállításait.FTPanonimAz Anon FTP menüponton
keresztül engedélyezhetjük az anonim
FTP kapcsolatokat. A menüpont
kiválasztásával
számítógépünket egy anonim
FTP szerverré tehetjük, azonban
legyünk tekintettel a beállításhoz
tartozó biztonsági veszélyekkel! A
kiválasztásakor egy ablak tájékoztat
minket a beállítás részleteirõl
és felmerülõ biztonsági
kockázatokról.A Gateway
(Átjáró) menüpont
használatával a korábbiakban
tárgyaltak szerint állíthatjuk be
számítógépünket
hálózati átjárónak.
Ugyanekkor a Gateway menüben
nyílik lehetõségük kikapcsolni ezt a
beállítást, amennyiben a
telepítési folyamat korábbi
lépései során véletlenül
engedélyeztük volna.Az Inetd menüpont
segítségével beállíthatjuk,
vagy akár teljesen ki is kapcsolhatjuk a korábban
tárgyalt &man.inetd.8; démont.A Mail (Levelezés)
menüpontban beállíthatjuk a rendszer
alapértelmezett MTA avagy
levéltovábbító
ügynökét (Mail Transfer Agent). Ennek
hatására a következõ menü jelenik
meg:Az alapértelmezett MTA
kiválasztásaItt válaszhatunk, hogy a
különbözõ levélküldõ
rendszerek közül melyiket telepítsük
alapértelmezettként. Egy ilyen alkalmazás
lényegében nem több, mint egy
levélküldésre használt szerver, amely
továbbítja a rendszerben vagy az interneten
található felhasználók
számára a leveleket.A Sendmail
választásával a &os; alapból
felkínált megoldását, a
népszerû sendmail
szervert telepíthetjük. A Sendmail
local (Helyi Sendmail) menüpont
kiválasztásával szintén a
sendmail lesz a
telepítendõ levélküldõ szerver,
azonban nem lesz képes az internetrõl
érkezõ leveleket fogadni. Az itt felsorolt
többi beállítás, tehát a
Postfix és
Exim, a
Sendmail
beállításához hasonlóan
zajlik. Mind a kettõ elektronikus levelek
kézbesítésére
használható, azonban bizonyos
felhasználók a sendmail
helyett inkább ezek valamelyikét
használják.Valamelyik vagy éppen semelyik
levéltovábbító szerver
kiválasztása után az NFS
client (NFS kliens)
beállítására vonatkozó
menü jelentkezik.Az NFS client
beállításával a rendszerünk
NFS szerverekkel lesz képes
kapcsolatba lépni. Egy ilyen NFS
szerver az NFS protokoll
segítségével a hálózaton
keresztül elérhetõvé tesz
állományrendszereket. Ha gépünk
független, akkor nem fontos kiválasztanunk ezt a
menüpontot. A rendszernek késõbb
további beállításokra is
szüksége lehet, amelyekrõl az ban olvashatunk
részletesebben.Az NFS server (NFS szerver)
menüpont kiválasztásával
hozzájárulunk, hogy rendszerünk
NFS szerverként üzemeljen. Ehhez
meg kell adnunk az RPC, vagyis a
távoli eljáráshívások
kiszolgálásának
elindításához szükséges
adatokat is. Az RPC
használatával a különbözõ
kiszolgálók és programok között
tudjuk vezérelni a kapcsolatot.A sorban az Ntpdate
beállítása következik, ahol az
idõszinkronizációhoz kapcsolódó
opciókat találjuk. Kiválasztásakor
az ábrán szereplõhöz hasonló
menü fog megjelenni:Az Ntpdate beállításaEbbõl a menübõl válasszuk ki a
hozzánk legközelebb levõ szevert. Egy
közeli szerver megadásával az
idõszinkronizáció sokkalta pontosabbá
válik, mivel a tõlünk távolabbi
szerverek kapcsolatának késleltetése
nagyobb lehet.A következõ beállítás az
PCNFSD. Ennek kiválasztása
során a Portgyûjteménybõl
telepítésre kerül a net/pcnfsd csomag. Ez
lényegében egy hasznos segédprogram,
amellyel olyan operációs rendszerek
számára tudunk hitelesítést
szolgáltatni az NFS használata
során, amelyek maguktól erre nem képesek,
mint például a µsoft; &ms-dos;
rendszere.A többi beállítás
megtekintéséhez egy kicsit lejjebb kell haladnunk
a listában:A hálózati beállítások
menüjének alsó szintjeAz &man.rpcbind.8; és &man.rpc.statd.8;, valamint az
&man.rpc.lockd.8; segédprogramok mind a távoli
eljáráshívásokhoz (Remote Procedure
Call, RPC) használhatóak. Az
rpcbind segédprogram az
NFS szerverei és kliensei
között felügyeli a kapcsolatot, ezért a
használata az NFS szerverek és
kliensek mûködéséhez elengedhetetlen.
Az állapot figyeléséhez az
rpc.statd démon felveszi a
kapcsolatot a többi gépen futó
rpc.statd démonokkal. A
jelentett állapotok általában a
/var/db/statd.status
állományban találhatóak. Itt a
következõként felsorolt elem az
rpc.lockd, amelynek
kiválasztásával
állományzárolási
szolgáltatásokat érhetünk el. Ezt
többnyire az rpc.statd
démonnal együtt alkalmazzák a
zárolásokat kérõ gépek
és a kérések gyakoriságának
nyilvántartására. Míg ezekkel a
beállításokkal gyönyörûen
nyomon lehet követni a mûködést, az
NFS szerverek és kliensek
megfelelõ mûködéséhez nem
kötelezõ a használatuk.Ahogy haladunk tovább a listában, a
következõ elem a Routed,
vagyis az útválasztásért
felelõs démon lesz. A &man.routed.8;
segédprogram a hálózati
útválasztó táblázatokat
tartja karban, felderíti az elérhetõ
útválasztókat és
kérésre bármelyik hozzá fizikailag
csatlakozó gép számára átadja
az általa nyilvántartott
útválasztási adatokat. Ezt
leginkább a helyi hálózat
átjárójaként mûködõ
számítógépek
használják. Kiválasztásakor egy
ablak fog rákérdezni a segédprogram
helyére. Az itt alapból felkínált
érték általában megfelelõ,
ezért nyugtázhatjuk az Enter
billentyû lenyomásával. Ezt
követõen egy másik menü jelenik meg, ahol
a routed
beállításait adhatjuk meg. Itt
alapértelmezés szerint a
kapcsoló szerepel.A következõ sor az
Rwhod
beállításé, aminek
kiválasztásával el tudjuk indíttatni
az &man.rwhod.8; démont a rendszer
elindítása során. Az
rwhod segédprogram a
rendszerüzeneteket a hálózaton
idõközönként szétküldi vagy
figyelõ (consumer) módban
összegyûjti ezeket. Ennek pontosabb részleteit
az &man.ruptime.1; és &man.rwho.1; man oldalakon
találhatjuk meg.Az &man.sshd.8; démoné az utolsó
elõtti beállítás. Ez az
OpenSSH biztonságos shell
szervere, melyet a szabványos
telnet és
FTP szerverek helyett ajánlanak. Az
sshd szerver tehát két
gép közti biztonságos, titkosított
kapcsolatok létrehozására
használható.A lista végén a TCP
Extensions (TCP kiterjesztések)
menüpontot találhatjuk.
Segítségével a TCP
RFC 1323 és
RFC 1644 dokumentumokban leírt
kiterjesztéseinek használatát
engedélyezhetjük. Ezzel egyes gépek
esetén felgyorsulhat a kapcsolat, azonban más
esetekben pedig eldobódhat. Ez szerverek
használatánál nem ajánlott, viszont
független gépeknél kifizetõdõ
lehet.Most, miután beállítottuk a
hálózati szolgáltatásokat,
lépjünk vissza a lista elején
található X Exit
(Kilépés) menüpontra és folytassuk a
beállítást a következõ
opcióval, vagy egyszerûen az
X Exit kétszeri
kiválasztásával, majd a
[X Exit Install]
(Kilépés a telepítõbõl) gomb
lenyomásával lépjünk ki a
sysinstall programból.A &os; indulásaA &os;/&arch.i386; indulásaHa minden remekült ment, a képernyõn
lentrõl felfelé gördülõ
üzeneteket fogunk látni, majd a rendszer
várni fog tõlünk egy bejelentkezési
nevet. A kiírt üzeneteket között a
Scroll Lock lenyomása után a
PgUp és PgDn
billentyûk használatával tudunk lapozni. A
Scroll Lock ismételt
lenyomásával visszatérünk a
bejelentkezéshez.Nem minden esetben lesz látható az
összes üzenet (a puffer végessége
miatt), de miután bejelentkeztünk, ezeket a
dmesg parancs kiadásával is
megnézhetjük.Bejelentkezni a telepítéskor megadott
felhasználói név/jelszó
párossal tudunk (a példában ez most
rpratt). Lehetõleg ne
jelentkezzünk be root
felhasználóként!A rendszer indításakor jellemzõen
elõforduló üzenetek (a verzióra
vonatkozó adatokat kihagytuk):Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>
real memory = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
login: rpratt
Password:Az RSA és DSA kulcsok generálása a
lassabb gépeken sokág is eltarthat, habár
ez mindig csak a friss telepítések utáni
elsõ indításkor történik meg.
A rendszer késõbbi indulásai ettõl
már gyorsabbak lesznek.Ha X szervert is beállítottunk és
választottunk hozzá egy alapértelmezett
munkakörnyezetet, akkor ezt a parancssorból a
startx kiadásával
elindíthatjuk el.A &os;/&arch.alpha; indulásaAlphaAhogy a telepítés befejezõdõtt, az
SRM konzolból valami ilyesmi
begépelésével tudjuk elindítani a
&os;-t:>>>BOOT DKC0Ezzel utasítjuk a firmware-t, hogy indítsa
el a rendszert a megadott lemezrõl. A &os;
jövõbeni automatikus
indításához használjuk az
alábbi parancsokat:>>>SET BOOT_OSFLAGS A>>>SET BOOT_FILE ''>>>SET BOOTDEF_DEV DKC0>>>SET AUTO_ACTION BOOTA rendszer indításakor megjelenõ
üzenetek hasonló (de nem teljesen azonosak)
lesznek az &i386; architektúrán induló
&os; esetéhez.A &os; leállításaFontos, hogy mindig szabályosan
állítsuk le az operációs rendszert,
ne kapcsoljuk ki csak úgy egyszerûen a
számítógépünket! A
leállításhoz elõször a
su parancs kiadásával, majd itt
a root jelszavának
megadásával vegyük fel az ehhez
szükséges rendszeradminisztrátori
jogosultságokat. Ez viszont csak abban az esetben fog
mûködni, ha a felhasználónk tagja a
wheel csoportnak. Minden más
esetben egyszerûen jelentkezzünk be
root felhasználóként
és használjuk a shutdown -h now
parancsot.The operating system has halted.
Please press any key to reboot.A fenti üzenet jelzi, hogy a
leállító parancs kiadása után
már kikapcsolhatjuk a
számítógépet, vagy ha ehelyett egy
billentyût nyomunk le, akkor a gép
újraindul.A CtrlAltDel
billentyûkombináció
használatával is újra tudjuk
indítani a rendszert, azonban ez normál
mûködés közben nem ajánlott.HibakereséstelepítéshibakeresésA most következõ szakaszban azokra a
telepítés során felmerülõ
problémákra próbálunk meg
megoldásokat adni, amelyeket eddig már sokan
jeleztek nekünk. Ezek mellett szerepel néhány
kérdés és válasz is a &os; és
az &ms-dos; vagy &windows; közös
használatáról.Mit tegyünk ha valami nem mûködikA PC architektúra különféle
korlátozásai miatt szinte lehetetlen 100%-ban
megbízhatóvá tenni az eszközök
felderítését, azonban ennek hibája
kapcsán néhány dolgot még tenni
tudunk.Ellenõrizzük a Hardware
Notes (Hardverjegyzék) címû
dokumentumban, hogy az adott hardvert a &os; valóban
ismeri.Amennyiben a hardvereszközünket a rendszer ismeri,
azonban még mindig jelentkeznek fagyások vagy
egyéb gondok, készítenünk kell egy
saját rendszermagot.
Ezzel olyan eszközök támogatását
is beépíthetjük a rendszermagba, amelyek
eredetileg nem szerepelnek a GENERIC
rendszermagban. A telepítéshez
készített rendszerindító lemezeken
található rendszermag a legtöbb eszközt
a gyári IRQ, IO-cím és DMA csatorna
beállításaik mentén
próbálja felkutatni. Ha viszont a
hardverünket átállítottuk, ennek
megfelelõen módosítanunk kell a rendszermag
beállításait és újra kell
fordítanunk, hogy a &os; tudja, hol is keresse az
eszközt.Olyan is adódhat, hogy egy nem létezõ
eszköz keresése egy utána keresendõ
másik, jelenlevõ eszköz
felkutatását akadályozza meg. Ilyenkor az
ütközõ meghajtókat le kell tiltani.Egyes problémák elkerülhetõek vagy
csillapíthatóak a különbözõ
hardverösszetevõk, különösen az
alaplapi firmware frissítésével. Az
alaplap firmware-jére sokszor csak
BIOS-ként hivatkoznak, és a
legtöbb alaplap- vagy
számítógépgyártó
honlapján találhatjuk meg ezeket, valamint a
rájuk vonatkozó
utasításokat.A legtöbb gyártó azonban erõsen
tiltakozik az alaplapi
BIOS-frissítések ellen,
és csak indokolt esetekben, például
kritikus javításoknál javasolják.
A frissítés kimenetele
lehet rossz is, aminek
következménye a BIOS
tartós károsodása.Az &ms-dos; és &windows;
állományrendszereinek használataA &os; jelenleg nem támogatja a Double
Space™ alkalmazással
tömörített állományrendszereket,
ezért a &os; csak úgy tud az adataihoz
hozzáférni, ha elõtte
kitömörítjük ezeket. Ezt a
Start menü
Programs (Programok) >
System Tools
(Rendszereszközök) menüjében
található Compression
Agent (Lemeztömörítés)
elindításával tehetjük meg.A &os; támogatja az &ms-dos; alapú (gyakran
csak FAT típusúnak nevezett)
állományrendszereket. A &man.mount.msdosfs.8;
parancs segítségével az ilyen rendszerek
könnyedén becsatlakoztathatók a már
létezõ könyvtárszerkezetbe, amivel
így el tudjuk érni a tartalmát. A
&man.mount.msdosfs.8; programot általában nem
közvetlenül hívjuk meg, hanem az
/etc/fstab vagy a &man.mount.8;
segédprogram megfelelõ
paraméterezésével.Az /etc/fstab állományban
általában így néz ki egy ilyen
sor:/dev/ad0sN /dos msdosfs rw 0 0A mûvelet végrehajtásához a
/dos könyvtárnak már
léteznie kell. Az /etc/fstab
pontos formátumával kapcsolatban a &man.fstab.5;
man oldalt olvassuk el.Az &ms-dos; állományrendszerek esetében
a &man.mount.8; parancsot többnyire így adjuk
ki:&prompt.root; mount -t msdosfs /dev/ad0s1 /mntEbben a példában a &ms-dos;
állományrendszer az elsõdleges merevlemez
elsõ partícióján helyezkedik el. A mi
helyzetünk ettõl eltérõ lehet,
ezért ehhez vizsgáljuk meg a
dmesg és mount
parancsok kimeneteit. Segítségükkel
elegendõ információt tudunk összeszedni
a gépünkön található
partíciók
kiosztásáról.Elõfordulhat, hogy a &os; a többi
operációs rendszertõl eltérõ
módon számozza a slice-okat (vagyis az &ms-dos;
partíciókat). Konkrétan: a kiterjesztett
&ms-dos; partíciók általában
nagyobb sorszámot kapnak, mint az elsõdleges
&ms-dos; partíciók. Az &man.fdisk.8;
segédprogram segíthet
megállapítani, hogy mely slice-ok tartoznak a
&os;-hez és melyek más operációs
rendszerekhez.A &man.mount.ntfs.8; parancs használatával az
NTFS partíciók hasonló módon
csatlakoztathatóak.Kérdések és válaszokA rendszeren teljesen lemerevedik, amikor az
indítás során eszközöket
próbál megtalálni, vagy
furcsán viselkedik a telepítés
során, esetleg a floppy meghajtót nem is
keresi.
- A &os; 5.0 és késõbbi
- változatai az i386, amd64 és ia64
- platformokon az indítás közben az
- eszközök felderítésében
- erõsen építkeznek a rendszeren
- elérhetõ ACPI szolgáltatásra.
- Sajnos még mindig vannak hibák az ACPI
- meghajtóban, az alaplapokban és a
- BIOS-okban. A rendszerbetöltõ harmadik
- fokozatában viszont az
- hint.acpi.0.disabled
+ A &os; az i386, amd64 és ia64 platformokon az
+ indítás közben az eszközök
+ felderítésében erõsen
+ építkeznek a rendszeren elérhetõ
+ ACPI szolgáltatásra. Sajnos még
+ mindig vannak hibák az ACPI meghajtóban, az
+ alaplapokban és a BIOS-okban. A
+ rendszerbetöltõ harmadik fokozatában
+ viszont az hint.acpi.0.disabled
megadásával kikapcsolható az ACPI
használata:set hint.acpi.0.disabled="1"Ez a beállítás a rendszer minden
egyes indításakor törlõdik,
ezért a hint.acpi.0.disabled="1"
bejegyzést fel kell vennünk a
/boot/loader.conf
állományba. A rendszerbetöltõ
mûködésérõl
részletesebben a ban
olvashatunk.A &os; telepítése után
elõször indítom el a merevlemezrõl a
rendszert, a rendszermag betöltõdik és
nekilát felkutatni a hardvereszközöket,
azonban megáll a következõ
üzenettel:changing root device to ad1s1a panic: cannot mount rootMi lehet a gond? Mit tegyek?Mit jelent a
bios_drive:interface(unit,partition)kernel_name
a rendszerindítás során
megjelenõ súgóban?Ez egy régóta fennálló
probléma olyan rendszerek esetén, ahol a
rendszerindításhoz használt lemez nem
az elsõ. A BIOS a &os;-tõl eltérõ
sorszámozást használ, és az
általa alkalmazott megfeleltetések
megfejtése nehézkes.Amikor a rendszer indítására
használt lemez nem az elsõ lemez a
rendszerünkben, segítenünk kell a
&os;-nek a megtalálásában.
Két gyakori helyzet alakulhat ki, és mind a
kettõben el kell árulnunk a &os;-nek, hogy hol
található a rendszer
indításához használható
gyökér állományrendszer. Ezt a
lemez BIOS-ban nyilvántartott
sorszámának, típusának
és a neki megfelelõ &os; szerinti
lemezszám megadásával tehetjük
meg.Az elsõ szituációban két
IDE-lemezünk van, mind a kettõt
masterként állítottuk be a
hozzájuk tartozó IDE-buszokon, és a
közülük a másodikról akarjuk
indítani a &os;-t. A BIOS ezeket 0. és 1.
lemezként látja, miközben a &os; pedig
ad0 és
ad2
eszközként.A &os; 1. BIOS-számozású lemezen
van, amelynek a típusa ad
és a &os; szerinti a 2 sorszámot viseli.
Ezért ezt kell használnunk:1:ad(2,a)kernelHa az elsõdleges buszon van egy slave
meghajtónk, akkor mindez nem szükséges
(és valószínûleg rossz
is).A második szituációban egy
SCSI-lemezrõl akarjuk indítani a rendszert,
miközben egy vagy több IDE-lemez is
található a gépünkben. Ebben az
esetben a &os; szerinti sorszám kisebb lesz, mint a
BIOS szerinti. Ha tehát a két
IDE-lemezünk mellett van még egy SCSI-lemez
is, akkor annak a BIOS szerinti sorszáma 2, a
típusa da és a &os;
szerinti sorszáma pedig 0. Ennek megfelelõen
a2:da(0,a)kernelsorral tudjuk elárulni a &os;-nek, hogy a BIOS
szerint 2. lemezrõl akarjuk indítani, amely a
rendszerben található elsõ
SCSI-lemeznek felel meg. Ha csak egy IDE-lemezünk
van, akkor a sort kezdjük az 1:
beírásával.Miután megtaláltuk a megfelelõ
értékeket, a hozzá tartozó
sort egy szövegszerkesztõ
segítségével tegyük
közvetlenül a /boot.config
állományba. A &os; ezen
állomány tartalmát fogja
alapból felhasználni a
boot:
bekérésénél, hacsak
másképpen nem utasítjuk.A telepítés után
elõször próbálom meg
elindítani a merevlemezrõl a &os;-t, azonban a
rendszerválasztó mindig csak
F? opciókat kínál
fel, és a rendszer indítása sem halad
tovább.A &os; telepítése során rosszul
adtunk meg a partíciószerkesztõben a
merevlemezhez tartozó geometriát.
Menjünk vissza a
partíciószerkesztõhöz és
adjuk meg újra a merevlemezünk helyes
geometriáját. Ennek
használatához pedig a &os;-t is újra
kell telepítenünk.Ha egyáltalán képtelenek vagyunk
megállapítani a merevlemezhez tartozó
geometriát, akkor próbáljuk meg ezt:
a lemez elején hozzunk létre egy kis
méretû DOS partíciót és
rakjuk utána a &os;-t. Amikor a
telepítõprogram észreveszi a DOS
partíciót, megpróbálja
magától kikövetkeztetni belõle a
helyes geometriát, ami általában
mûködik is.Ez a tanács ugyan már nem
érvényes, de álljon itt
felvilágosításként:
Ha teljesen egy &os; alapú szerver vagy
munkaállomás
kialakítására szánjuk a
számítógépünket,
és nem törõdünk a DOS-szal,
Linuxszal és a többi operációs
rendszerrel történõ
(jövõbeli) kompatibilitással,
használhatjuk akár az egész lemezt
is (a partíciószerkesztõben ez az
A opció). Ezzel egy
olyan nem szabványos
beállítást
engedélyezünk, amivel a &os; elfoglalja a
lemezt annak legelsõ szektorától a
legutolsó szektoráig. Ilyenkor ugyan el
tudunk tekinteni a geometriával kapcsolatos
beállításoktól, azonban
így a &os;-n kívül semmilyen
más operációs rendszert nem tudunk
majd futtatni a gépen.
A rendszer megtalálja a &man.ed.4;
hálózati kártyámat, azonban
folyamatosan hibát ad
idõtúllépésre hivatkozva.Az említett kártya
valószínûleg a
/boot/device.hints
állományban
beállítottaktól eltérõ
IRQ-t használ. A &man.ed.4; meghajtó
alapértelmezés szerint nem használ
szoftveres
beállításokat (amiket DOS-ban az
EZSETUP használatával adunk meg), viszont
engedélyezhetjük, ha a
kártyánál megadjuk az
-l
beállítást.Hardveresen ezt a kártyán levõ
jumperek segítségével
állíthatjuk be (ehhez változtassuk
meg a rendszermag beállításait is,
amennyiben szükséges), vagy a
-l kapcsolón keresztül a
hint.ed.0.irq="-l"
megadásával utasíthatjuk a
rendszermagot az IRQ szoftveres
beállítására.Másik lehetõség, amikor a
kártyánk a 9-es IRQ-t használja,
amelyet általában megosztanak a 2-es
IRQ-val, ami gyakori problémák
forrása (különösen abban az esetben,
amikor a VGA kártya a 2-es IRQ-t használja!)
lehet. Lehetõleg ne használjuk a 2-es
és 9-es IRQ-kat.ValentinoVaschettoÍrta: Telepítési útmutató
haladóknakEbben a szakaszban megtudhatjuk, hogyan telepítsük
a &os;-t speciális esetekben.A &os; telepítése billentyûzet vagy
monitor nélkültelepítésfej nélküli (soros konzol)soros konzolA telepítés ezen fajtáját
fej nélküli
telepítésnek (headless install)
hívják, mivel a gép, amire a &os;-t
telepíteni akarjuk, nem rendelkezik monitorral vagy
éppen még VGA kimenettel sem. Felmerülhet a
kérdés: hogyan lehetséges mindez? A soros
vonali konzol használatával! A soros konzol
segítségével lényegében egy
másik számítógép
monitorját és billentyûzetét
használjuk. Ennek
megvalósításához
elsõként kövessük a
rendszerindító lemezek
készítésének ban leírt
lépéseit.Az így létrehozott lemezeket pedig az
alábbi lépésekkel tehetjük
képessé a soros konzolon keresztüli
rendszerindításra:A rendszerindító lemezek
átállítása soros
konzolramountHa a létrehozott lemezekkel most csak
egyszerûen elindítanánk a &os;-t, akkor
a megszokott telepítési módban
indulna el. Mi viszont azt akarjuk, hogy a
telepítéshez a &os; a soros konzolon
keresztül induljon el. Ehhez tegyük be
és a &man.mount.8; paranccsal csatlakoztassuk &os;
rendszerünkhöz a boot.flp
image-et tartalmazó lemezt.&prompt.root; mount /dev/fd0 /mntMost, miután csatlakoztattuk a lemezt,
váltsunk az /mnt
könyvtárra:&prompt.root; cd /mntItt fogjuk beállítani a lemezt a soros
konzolon keresztüli indulásra. Létre
kell hoznunk egy boot.config
nevû állományt, amelybe a
/boot/loader -h sor fog kerülni.
Ezzel jelezzük a rendszerbetöltõnek, hogy a
rendszerindítás során a soros konzolt
akarjuk használni.&prompt.root; echo "/boot/loader -h" > boot.configMiután a lemezen sikeresen
elvégeztük a szükséges
beállítást, válasszuk le a
&man.umount.8; parancs kiadásával:&prompt.root; cd /
&prompt.root; umount /mntMost már kivehetjük a lemezt a
meghajtóból.A null-modem kábel
csatlakoztatásanull-modem
kábelÖssze kell kötnünk a két
számítógépet egy null-modem
kábellel. Nincs más teendõnk,
mit összekapcsolni a két gép soros
portjait. Itt a szokásos soros
kábel nem mûködik,
konkrétan null-modem kábelre van
szükség, mivel benne néhány
vezetéket máshogy kötöttek
be.A telepítés
indításaMost már ideje elkezdeni a
telepítést. Tegyük a
boot.flp image-et tartalmazó
lemezt a fej nélkül telepítendõ
gép meghajtójába és kapcsoljuk
be.Kapcsolódás a fej nélküli
géprecuEzután a &man.cu.1; parancs
felhasználásával kapcsolódjunk
rá a gépre:&prompt.root; cu -l /dev/cuad0
- A &os; 5.X verzióiban a
- /dev/cuad0 helyett a
- /dev/cuaa0 eszközt
- írjuk.Ezzel készen is vagyunk! Innentõl a
cu által megnyitott kapcsolaton
keresztül tudjuk vezérelni a fej nélküli
számítógépet. Hamarosan
megkér minket a kern1.flp image-et
tartalmazó lemez behelyezésére, majd
megkérdezi a használt terminál
típusát. Itt válasszuk ki a színes
&os; konzolt (&os; color console) és folytassuk a
telepítést a megszokott módon.Saját telepítõeszköz
elkészítéseAz ismétlések elkerülése
végett a továbbiakban a &os; lemez
a megvásárolható vagy a magunk által
készített &os; CD-re vagy DVD-re
vonatkozik.Adódhatnak olyan esetek, amikor létre kell
hoznunk a &os; telepítésére használt
saját eszközünket és/vagy
forrásunkat. Ez lehet egy tetszõleges fizikai
eszköz, például szalag, vagy bármilyen
olyan forrás, ahonnan a
sysinstall képes
állományokat elérni, például
egy FTP oldal vagy egy &ms-dos; partíció.Például:Egy &os; lemezünk van és több
hálózaton kapcsolódó
számítógépünk.
Készíteni akarunk egy helyi FTP oldalt a &os;
lemez felhasználásával, és
így a hálózaton levõ gépre az
internet helyett innen telepítjük a
rendszert.Van egy &os; lemezünk, azonban a &os;-nek nem
sikerült felismernie a CD/DVD-meghajtónkat,
viszont az &ms-dos;/&windows;-nak igen. Felmásoljuk a
&os; telepítéséhez használt
állományokat ugyanazon a
számítógépen
található egyik DOS partícióra,
majd a &os;-t ezekkel telepítjük.A gépben, amelyre telepíteni akarunk, nincs
CD/DVD-meghajtó vagy hálózati
kártya, viszont Laplink
stílusú soros vagy párhuzamos
kábellel hozzá tudunk kapcsolódni egy
olyan számítógéprõl, amelyben
viszont van.Készíteni akarunk a &os;
telepítésére használható
szalagot.Telepítõ CD
készítéseA &os; Projekt minden kiadás részeként
architektúránként
elérhetõvé tesz legalább két CD
image-et (ISO image-et). Ha rendelkezünk
CD-íróval, ezeket az image-eket fel-, illetve ki
tudjuk írni (égetni) CD-re,
és a &os; telepítésére tudjuk
használni. Tehát ha van a kezünk
ügyében CD-író és olcsón
jutunk nagyobb sebességû
interneteléréshez, akkor a &os;
telepítésének ez a legkönnyebb
módja.A megfelelõ ISO image-ek
letöltéseEz egyes kiadások ISO image-ei
letölthetõek a
ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-architektúra/változat
címrõl vagy annak legközelebbi
tükrözésérõl. Az
architektúra és
változat részeket
igényeinknek megfelelõen
helyettesítsük.Az említett könyvtár
általában a következõ lemezek
image-eit tartalmazza:
- FreeBSD 5.X és
- 6.X ISO image-ek nevei
+ FreeBSD 6.X és
+ 7.X ISO image-ek nevei
és jelentéseiÁllománynévTartalmaváltozat-RELEASE-architektúra-bootonly.isoMinden, ami ahhoz kell, hogy el tudjuk
indítani a &os; rendszermagot és
megkapjuk a telepítéshez
szükséges alapokat. A
telepítendõ állományokat
ezután FTP-rõl vagy más ismert
forrásból érjük
el.változat-RELEASE-architektúra-disc1.isoMinden, ami a &os;
telepítéséhez kellhet, valamint
egy élõ
állományrendszer (Live
Filesystem), amelyet a
sysinstallRepair
(Helyreállítás)
funkciójához tudunk
használni.változat-RELEASE-architektúra-disc2.iso
- A &os; dokumentációja (a &os;
- 6.2-es verziójáig) valamint annyi
- csomag, ami a lemezre csak felfér.
+ Annyi csomag, ami a lemezre csak
+ felfér.változat-RELEASE-architektúra-docs.iso
- A &os; dokumentációja (a &os; 6.2
- és késõbbi
- verzióiban).
+ A &os; dokumentációja.
Le kell töltenünk az
elsõ lemez vagy (ha elérhetõ) a bootonly
lemez ISO image-einek egyikét.Akkor használjuk a bootonly jelzésû
image-et, ha szélessávú
interneteléréssel rendelkezünk.
Segítségével el tudjuk kezdeni a &os;
telepítését, és
szükség szerint a port/csomagrendszer
(lásd )
használatával csomagokat tudunk letölteni
és telepíteni.Az elsõ lemez image-ét akkor érdemes
használni, ha a &os; adott kiadásának
telepítése mellett igényt tartunk
valamennyi csomagra is.A további lemezek image-ei is hasznosak lehetnek,
de nem feltétlenül kellenek a
telepítéshez, fõleg abban az esetben,
amikor gyors interneteléréssel
rendelkezünk.A CD-k írásaEzután lemezekre kell írnunk a
letöltött image-eket. Amennyiben ezt egy
másik &os; rendszeren végezzük, ennek
részleteirõl a
számol be (különösen a és a
leírása).Ha másik platformon végezzük ezt a
mûveletet, akkor az adott platformon
felkínált CD-író szoftverekkel
kell dolgoznunk. Az image-ek szabványos ISO
formátumúak, amelyet szinte az összes
CD-író alkalmazás ismer.Ha kíváncsiak vagyunk egy saját &os;
kiadás elkészítésére,
olvassuk el a kiadások
szervezésérõl szóló cikket
(angolul).Helyi FTP oldal létrehozása &os;
lemezzeltelepítéshálózatFTPA &os; lemezeken az FTP oldalakéhoz hasonló
elrendezést találunk. Ez megkönnyíti
a hálózatunkban található
számítógépekhez a &os;
telepítésére használható
helyi FTP oldal létrehozását.Az FTP oldalnak otthont adó &os;
számítógépen tegyük a CD-t
a meghajtóba, majd csatlakoztassuk a
/cdrom könyvtárba.&prompt.root; mount /cdromHozzunk létre egy anonim FTP
hozzáférést az
/etc/passwd állományban.
A &man.vipw.8; segítségével
tehát illesszük be a következõ sort az
/etc/passwd
állományba:ftp:*:99:99::0:0:FTP:/cdrom:/nonexistentGondoskodjuk róla, hogy az FTP
szolgáltatás engedélyezve legyen az
/etc/inetd.conf
állományban.Most már bárki, aki képes csatlakozni
ehhez a számítógéphez, a
telepítés típusának ki tudja
választani az FTP-t. Az FTP oldalak
menüjében válassza az Other
(Egyéb) pontot, majd adja meg az
ftp://gépnév
címet.Ha az FTP-n csatlakozó kliensek
rendszerindításhoz használt eszköze
(általában a floppy) verziója nem egyezik
meg tökéletesen a helyi FTP oldalon
találhatóval, akkor a
sysinstall nem engedi a
telepítést. Ha a változatok nem
hasonlóak és ezt felül akarjuk
bírálni, akkor be kell lépnünk az
Options (Beállítások)
menübe, ahol át kell állítanunk a
terjesztés nevét (distribution name)
any (bármelyik)-re.A fenti megközelítés
kizárólag csak egy tûzfallal védett
helyi hálózaton javasolt. FTP
szolgáltatás létrehozása az
interneten (és nem a helyi hálózatunkban)
levõ számítógépek
számára különbözõ
támadásoknak és egyéb
kellemetlenségeknek teszi ki a
számítógépünket.
Határozottan javasoljuk, hogy ebben az esetben
különösen ügyeljünk a
biztonságra.Telepítõfloppyk
létrehozásatelepítésfloppyHa floppylemezrõl kellene telepítenünk
(amit viszont semmiképpen sem
ajánlanánk) egy nem támogatott
hardvereszköz miatt, vagy mert egyszerûen
szeretjük a dolgok nehezebbik oldalát megfogni,
akkor ehhez elõször elõ kell
készítenünk pár lemezt.Legalább annyi 1,44 MB-os lemezre van
szükségünk, mint amennyire
ráférnek a base
(alapterjesztés) könyvtárban
található állományok. Ha DOS-ban
hozzuk létre ezeket a lemezeket, akkor a
használatukhoz meg kell
formázni ezeket az &ms-dos; FORMAT
parancsával. &windows; használata esetén
az Windows Explorerben (Intézõben) tudjuk
megformázni a lemezeket (kattintsunk a jobb gombbal az
A: meghajtóra, majd
válasszuk a Format
(Formázás) menüpontot).Ne bízzunk a gyárilag
formázott (pre-formatted
jelzésû) lemezekben! Menjünk biztosra
és formázzuk meg mi magunk is lemezeket. A
felhasználóinktól régebben
számtalan olyan panasz érkezett, amely a
helytelenül megformázott lemezbõl fakadt,
ezért erre most kiemelten felhívjuk a
figyelmet.A formázás abban az esetben sem bizonyul
rossz ötletnek, ha egy másik &os; gépen
gyártjuk le a lemezeket, habár nem kell
mindegyik lemezre DOS állományrendszert
tennünk. Helyette a bsdlabel
és newfs parancsok
használatával UFS
állományrendszert is tehetünk rájuk,
ahogy (1,44 MB méretû lemezek esetén)
ezt az alábbi parancsok mutatják:&prompt.root; fdformat -f 1440 fd0.1440
&prompt.root; bsdlabel -w fd0.1440 floppy3
&prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0Ezután a többi
állományrendszerhez hasonlóan a lemezeket
tudjuk csatlakoztati és írni.Miután megformáztuk a lemezeket,
rájuk kell másolnunk az
állományokat. A terjesztésekhez
tartozó állományokat adott
méretû darabokra szeleteltük, így
kényelmesen ráférnek egy
hagyományos 1,44 MB méretû floppyra.
Menjünk végig az összes floppyn és
mindegyikre pakoljuk fel a lehetõ legtöbb
állományt egészen addig, amíg
így az összes szükséges
terjesztést össze nem szedtük. A floppykon
minden terjesztés kerüljön egy
hozzátartozó alkönyvtárba,
például: a:\base\base.aa,
a:\base\base.ab és így
tovább.Az elsõ lemezre rá kell másolnunk a
base.inf nevû
állományt is, mivel ennek
beolvasásával lesz képes
kitalálni a telepítõ, hogy a
terjesztések összeszedése és
összefûzése során mennyi darabot
keressen.Ahogy elérkezünk a
telepítõeszköz
kiválasztásához a telepítés
folyamatában, ott válasszuk a
Floppy menüpontot, majd
utána kövessük a felbukkanó
üzeneteket.Telepítés &ms-dos;
partícióróltelepítésMS-DOS partíciórólAmikor egy &ms-dos; partícióról
akarunk telepíteni,
elõkészítés gyanánt
másoljuk a terjesztésekhez tartozó
állományokat a partícióra egy
freebsd könyvtárba. Ez lesz
például a c:\freebsd.
Ebben a könyvtárban igyekezzük minél
jobban megtartani a CD vagy az FTP oldal
könyvtárszerkezetét, ezért erre a
CD-rõl történõ
átmásolásra a DOS
xcopy parancsát javasoljuk.
Például így tudjuk
elõkészíteni a &os; legegyszerûbb
változatának
telepítését:C:\>md c:\freebsdC:\>xcopy e:\bin c:\freebsd\bin\ /sC:\>xcopy e:\manpages c:\freebsd\manpages\ /sA fentiekben feltételeztük, hogy ehhez a
C: meghajtón elég
szabad helyünk van, valamint az
E: meghajtón érjük
el a CD-t.Ha nincs CD-meghajtónk, az ftp.FreeBSD.org
címrõl letölthetjük a
terjesztésket. Minden egyes terjesztés
külön könyvtárban
található, tehát például a
base (alap) terjesztés az &rel.current;/base/
könyvtárban található.Mindegyik telepítendõ terjesztést (ami
még elfér) másoljuk át az &ms-dos;
partíció c:\freebsd
könyvtárába — a
telepítéshez egyébként
egyedül a BIN terjesztés
szükséges.Telepítõszalag
létrehozásatelepítésQIC/SCSI-szalagrólValószínûleg a szalagos módszer
a legegyszerûbb, egyfajta élõ FTP-s vagy CD-s
telepítés. A telepítõprogram arra
számít, hogy a szalagon az
állományok egymás után
helyezkednek el. Tehát miután beszereztük
a nekünk kellõ terjesztésekhez tartozó
összes állományt, egyszerûen
vegyük fel ezeket a szalagra:&prompt.root; cd /freebsd/distdir
&prompt.root; tar cvf /dev/rwt0 dist1 ... dist2Mielõtt telepítenénk,
ellenõrizzük, hogy legyen elég helyünk
valamelyik (a telepítés során majd
kiválasztható átmeneti)
könyvtárban ahhoz, hogy az itt létrehozott
szalag teljes tartalma elférjen
benne. Mivel a szalagok csak szekvenciálisan
érhetõek el, ezért ennél a
módszernél jó sok ideiglenes
tárhelyre lesz szükségünk.A telepítés megkezdése után
a szalagnak már azelõtt a
meghajtóban kell lennie, hogy
rendszerindító floppyról
elindítanánk a rendszert,
máskülönben nem találja meg.Mielõtt hálózatról
telepítenénktelepítéshálózatsoros (SLIP vagy PPP)telepítéshálózatpárhuzamos (PLIP)telepítéshálózatEthernetHáromféle hálózati
telepítési mód létezik: Ethernet
(szabványos Ethernet-vezérlõvel), soros
port (SLIP vagy PPP) vagy párhuzamos port (PLIP
(laplink kábel)).Valószínûleg az
Ethernet-csatlakozó választásával
érjük el a leggyorsabb hálózati
telepítést. A &os; ismeri a legtöbb PC-s
Ethernet kártyát. Az ismert
kártyák (és a hozzájuk
tartozó beállítások) a &os; egyes
kiadásának hardverjegyzékében
(Hardware Notes) találhatóak meg. Amennyiben
egy támogatott PCMCIA Ethernet kártyát
használunk, mindig a laptop bekapcsolása
elõtt helyezzük be! A &os;
telepítés közben sajnos nem
támogatja a PCMCIA kártyák
menetközbeni behelyezését.Ezenkívül még ismernünk kell a
hálózaton kapott IP-címünket, az
általa használt címosztály
hálózati maszkját, a gépünk
nevét. Ha PPP kapcsolaton keresztül
telepítünk és nincs statikus
IP-címünk, akkor minden bizonnyal az
internet-szolgáltatónktól kaptunk egyet
dinamikusan. A konkrét hálózati
beállításokat a hálózatunk
rendszergazdájától is érdemes
megkérdezni. Ha a hálózaton levõ
többi gépre névvel és nem
IP-címmel hivatkozunk, akkor
szükségünk lesz még egy
név(feloldó) szerverre és az internet
eléréséhez egy
átjáró címére is (ha PPP-t
használunk, ez a szolgáltatónk
IP-címe lesz). Ha FTP-rõl HTTP proxy
használatával telepítünk, akkor a
proxy címe is kelleni fog. Ha magunktól nem
vagyunk képesek ezekre a kérdésekre
válaszolni, akkor az ilyen típusú
telepítés megkezdése
elõtt tényleg
segítséget kell kérnünk egy
rendszergazdától vagy az
internet-szolgáltatónktól.A SLIP támogatás inkább
primitív, és elsõsorban csak
kötött kapcsolatokra korlátozódik,
mint például egy laptop és egy
másik számítógép közti
soros összekötettetés. A kapcsolatnak
annyiban kell kötöttnek lennie, hogy a SLIP-en
keresztüli telepítés pillanatnyilag nem
ismer a betárcsázást. Ezt a PPP
segítségével tudjuk
megvalósítani, ezért ha tehetjük,
mindig ezt válasszuk a SLIP helyett.Ha modemet használunk, akkor a PPP szinte biztosan
megfelel nekünk. Gondoskodjunk róla, hogy
már a telepítés korai szakaszában
rendelkezésünkre áll az
internet-szolgáltatónkkal kapcsolatosan minden
hasznos információ.Ha PAP vagy CHAP használatával
kapcsolódunk a szolgáltatónkhoz
(másképp szólva &windows;-ban így
tudunk szkriptek nélkül csatlakozni),
mindössze a dial parancsot kell
kiadnunk a ppp
parancssorában. Minden más esetben tudnunk kell
a modemünk saját AT parancsaival
tárcsázni az
internet-szolgáltatónkat, hiszen ehhez a PPP
tárcsázó csak egy nagyon kezdetleges
terminálemulációt nyújt. Ezzel
kapcsolatban olvassuk el a
kézikönyv és a GYIK
idevágó részeit. Ha gondjaink
akadnának, a naplózás a set log
local ... parancs kiadásával
átirányítható
közvetlenül a képernyõre.Ha kötött módon tudunk csatlakozni egy
másik (2.0-R vagy késõbbi
verziójú) &os; géphez, akkor
megpróbálkozhatunk a párhuzamos
laplink kábellel. A párhuzamos
porton keresztüli adatátvitel sebessége a
soros vonalénál jóval nagyobb
(egészen 50 kbyte/mp), ezért vele a
telepítés is gyorsabb.Mielõtt NFS-rõl
telepítenénktelepítéshálózatNFSA telepítés NFS-en keresztül szinte
magától értetõdik.
Egyszerûen csak másoljuk a &os;
terjesztéseihez tartozó
állományokat az NFS szerverre és
állítsuk be rá az NFS
telepítõeszközt.Ha a szerver csak privilegizált
portokat ismer (ami általában
alapértelmezett a Sun
munkaállomásoknál), a
telepítés megkezdése elõtt az
Options
(Beállítások) menüben be kell
állítani az NFS Secure
(Biztonságos NFS) opciót.Ha egy gyenge minõségû és kis
adatátviteli sebességû Ethernet
kártyánk van, akkor emellett még
hasznos lehet beállítani az NFS
Slow (Lassú NFS) opciót is.Az NFS-en keresztüli telepítés
mûködéséhez a szervernek
támogatnia kell az alkönyvtárak
csatlakoztatását is, tehát
például ha a &os; &rel.current;
terjesztésünk a
ziggy:/usr/archive/stuff/FreeBSD
könyvtárban található, akkor
ziggy nevû gépnek
lehetõvé kell tennie a
/usr/archive/stuff/FreeBSD
könyvtár közvetlen
csatlakoztatását is, nem csak a
/usr vagy
/usr/archive/stuff
könyvtárakét.A &os; /etc/exports
állományában ezt az
beállítással
vezérelhetjük. Más NFS szervereken
esetleg más megszokásokat kell
követnünk. Amennyiben a szervertõl
permission denied
(hozzáférés megtagadva) üzeneteket
kapjuk, valószínû, hogy ezt nem
állítottuk be megfelelõen.
diff --git a/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.sgml
index 00c3090505..7e23ef1666 100644
--- a/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.sgml
@@ -1,2034 +1,2033 @@
+ Original Revision: 1.184 -->
JimMockFrissítette és átdolgozta:
JakeHambyEredetileg írta: A &os; rendszermag testreszabásaÁttekintésrendszermagsaját rendszermag
készítéseA rendszermag a &os; operációs rendszer lelke.
Felelõs a memória kezelésért, a
biztonsági szabályozások
betartatásáért, a hálózat
mûködtetéséért, a
lemezhozzáférésért és sok
minden másért is. Miközben maga a &os; egyre
jobban konfigurálható dinamikusan, addig
alkalmanként elegedhetetlen, hogy
újrakonfiguráljuk és
újrafordítsuk a rendszermagot.A fejezet elolvasása során
megismerjük:miért lehet szükségünk egy
saját rendszermagra;hogyan készítsünk
konfigurációs állományt a
rendszermaghoz, vagy hogyan módosítsunk egy
már létezõt;hogyan használjuk a rendszermag
konfigurációs állományát
egy új rendszermag lefordítására
és létrehozására;hogyan telepítsük az új
rendszermagot;hogyan orvosoljuk a felmerülõ
problémákat.A fejezetben az összes példaként
bemutatásra kerülõ parancsot
root felhasználóként
kell kiadni a sikeres végrehajtásukhoz.Miért készítsünk saját
rendszermagot?A &os; eredetileg ún. monolitikus
rendszermaggal rendelkezett. Ez azt jelenti, hogy a rendszermag
egyetlen nagy program volt, ami elõre rögzített
eszközöket ismert, és ha meg akartuk
változtatni a rendszermag
mûködését, akkor fordítanunk
kellett új rendszermagot, majd újra kellett
indítanunk vele a
számítógépet.Manapság azonban a &os; már inkább
afelé a megközelítés felé halad,
ahol a rendszermag funkcionalitásának nagy
részét mûködés közben az
igények szerint betölthetõ és
eltávolítható modulok adják. Ezzel
lehetõvé válik, hogy a rendszermag gyorsan
illeszkedjen az újonnan megjelenõ
hardvereszközökhöz (mint például a
laptopok PCMCIA-kártyáihoz), vagy olyan új
funkciókat tegyünk a rendszermaghoz, amelyek a
fordításánál nem voltak
feltétlenül szükségesek. Ezt a modellt
nevezik moduláris rendszermagnak.Ennek ellenére még mindig elkerülhetetlen,
hogy esetenként ne legyen szükség a rendszermag
statikus testreszabására. Ez a legtöbb esetben
azzal magyarázható, hogy vannak olyan
funkciók, amelyek túlságosan is mélyen
helyezkednek el a rendszermagban, ezáltal nem
tölthetõek be dinamikusan. Máskor viszont
egyszerûen azért nem lehetséges, mert
még senki sem szánt idõt az adott
funkcióhoz tartozó, dinamikusan betölthetõ
modul elkészítésére.Egy saját rendszermag készítése
azon legfontosabb próbatételek egyike, melyet
majdnem az összes BSD felhasználónak ki kell
állnia. Ez a folyamat, habár némileg
idõigényes, számos elõnyt tartogat &os;
rendszerünk számára. Eltérõen egy
GENERIC (általános)
rendszermagtól, amely rengeteg hardvert támogat, egy
saját rendszermag csak a saját
PC-nk hardverét ismeri. Ennek több elõnye is
van, például:A rendszerünk gyorsabban indul. Mivel a rendszermag
csak azokat a hardvereket fogja keresni, melyek a
rendszerünkben megtalálhatóak,
jelentõs mértékben le tud csökkeni az
induláshoz szükséges idõ.Kisebb memóriahasználat. Egy saját
rendszermag gyakran kevesebb memóriát
emészt fel, mint a GENERIC
rendszermag, ami azért is fontos, mert a rendszermag
mindig benn van a memóriában. Emiatt egy
saját rendszermag elkészítése
különösen hasznos lehet egy kevés
fizikai memóriával rendelkezõ
rendszeren.További hardverek támogatása. A
saját rendszermagunkba olyan eszközök
támogatását is beletehetjük, amelyek
nem szerepelnek a GENERIC rendszermagban,
mint például a
hangkártyákét.TomRhodesÍrta: A rendszerünkben levõ hardverek
összeszedéseMielõtt belevetnénk magunkat a rendszermag
beállításába, érdemes egy
leltárt készíteni a gépünkben
található különbözõ
eszközökrõl. Ahol a &os; nem elsõdlegesen
használt operációs rendszer, ott ehhez
elegendõ megnézni a jelenlegi rendszerben
található elemeket. Például az
µsoft; rendszerek
Eszközkezelõjében
(Device Manager) általában az összes
eszköz fontosabb adatait megtaláljuk. Magát az
Eszközkezelõt pedig a
Vezérlõpultból (Control Panel)
érhetjük el.A µsoft.windows; egyes verzióiban a
Rendszer (System) ikonjára
kattintva megkapjuk azt a képernyõt, ahonnan
közvetlenül el tudjuk érni az
Eszközkezelõt.Ha viszont nincs másik operációs rendszer
a gépünkön, akkor magunknak kell mindezeknek
utánanéznünk. Erre az egyik alkalmas
módszer a &man.dmesg.8; és a &man.man.1; parancsok
használata. A &os;-ben található
legtöbb meghajtónak van saját man oldala, ami
tartalmazza az általuk kezelt eszközök
listáját, illetve így a
rendszerindítás során észlelt
hardvereket nézhetjük vissza. Például
az alábbi sor arra utal, hogy a
psm meghajtó megtalálta a
gépünkhöz tartozó egeret:psm0: <PS/2 Mouse> irq 12 on atkdbc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0Ezután ezt a meghajtót vagy a rendszermagba kell
beépítenünk, vagy pedig a &man.loader.conf.5;
állományon keresztül
betöltenünk.Bizonyos esetekben a dmesg az
eszközök felkutatásának eredményei
helyett csak a rendszer üzeneteit mutatja. Ilyen
helyezetekben a teljes kimenet a
/var/run/dmesg.boot állományban
tekinthetõ meg.A hardverek manuális
felderítésének módja a &man.pciconf.8;
segédprogram kimenetének
böngészése, ami egy valamivel
részletesebb eredményt ad. Mint
például:ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5212 Atheros AR5212 802.11abg wireless'
class = network
subclass = ethernetA pciconf paranccsal
kapott kimenet ezen része azt mutatja, hogy az
ath
meghajtó talált egy vezeték
nélküli Ethernet eszközt. Innen a man
ath paranccsal
érhetjük el a &man.ath.4; man oldalát.A &man.man.1; a paraméter
megadásával további hasznos
információkkal is tud szolgálni. A
fentiekbõl kiindulva például a
következõ paranccsal:&prompt.root; man -k Atherosle tudjuk kérdezni azokat a man oldalakat, amelyek
tartalmazzák az adott szót:ath(4) - Atheros IEEE 802.11 wireless network driver
ath_hal(4) - Atheros Hardware Access Layer (HAL)A hardvereszközeink listájával
felvértezve most már egy saját rendszermag
létrehozása sem lesz annyira ijesztõ.Saját rendszermag készítése
és telepítéserendszermagkészítése,
telepítéseElõször is tegyünk egy rövidke
sétát a rendszermag könyvtárában.
A továbbiakban említendõ összes
könyvtár a /usr/src/sys
könyvtáron belül található, amely
/sys néven is elérhetõ.
Itt rengeteg alkönyvtár található,
mindegyikük a rendszermag különbözõ
részeit testesíti meg. Ezek közül most
számunkra a legfontosabb az
architektúra/conf
lesz, ahol majd létrehozzuk a saját rendszermagunk
konfigurációs állományát,
valamint a compile, ahol majd a
rendszermagunk fordítása történik. Itt
az architektúra lehet
i386, alpha,
amd64, ia64,
powerpc, sparc64 vagy
pc98 (a PC-k egyik, leginkább
Japánban elterjedt változata). Az adott
architektúra könyvtárában
található összes állomány csak
arra az architektúrára vonatkozik, a kód
többi része pedig gépfüggetlen és
közös az összes többi létezõ
és leendõ &os; platformon. Érdemes megfigyelni
a könyvtárak logikai elrendezését:
minden egyes ismert eszköz, állományrendszer
és bõvítmény saját
alkönyvtárral rendelkezik.A példák során ez a fejezet
feltételezi, hogy az i386 architektúrát
használjuk. Ha ez a mi esetünkben nem így
lenne, ne felejtsük el átírni bennük az
elérési útvonalakat a rendszerünk
architektúrájának megfelelõen.Ha nem lenne/usr/src/sys könyvtár a
rendszerünkben, valószínûleg még
nem telepítettük a rendszermag
forráskódját. Ezt a legkönnyebben
úgy tudjuk megtenni, ha root
felhasználóként elindítjuk a
sysinstall programot és ott
kiválasztjuk a Configure
(Beállítások), azon belül
Distributions (Terjesztések)
menüpontot, amiben válasszuk ki a
src, base
és sys terjesztéseket.
Ha nem szeretnénk erre a célra a
sysinstall programot
használni, de rendelkezésünkre áll a
hivatalos &os; CD, akkor a forrásokat
akár parancssorból is
telepíthetjük:&prompt.root; mount /cdrom
&prompt.root; mkdir -p /usr/src/sys
&prompt.root; ln -s /usr/src/sys /sys
&prompt.root; cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
&prompt.root; cat /cdrom/src/sbase.[a-d]* | tar -xzvf -Ezután lépjünk be az
i386/conf
könyvtárba és másoljuk le a
GENERIC konfigurációs
állományt a kedvünk szerinti nevûre.
Például:&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; cp GENERIC SAJÁTÁltalában a nevet végig nagybetûkkel
írjuk, és ha több &os;-s gépet is
üzemeltetünk különbözõ hardverekkel,
hasznosnak bizonyulhat megemlíteni benne az adott
gép rendszerének nevét is. Ebben a
példában ez most a
SAJÁT
lesz.A rendszermagunk konfigurációs
állományát nem éppen a legjobb
ötlet a /usr/src
könyvtárban tárolni. Ugyanis könnyen
elõfordulhat, hogy egy rosszul sikerült
fordítás után egyszerûen csak
letöröljük az egész
/usr/src könyvtárat és
onnan kezdjük újra. Azonban csak ezután
juthat eszünkbe, hogy vele együtt bizony
letöröltük a saját rendszermagunk
konfigurációs állományát is!
Ehhez hasonlóan, közvetlenül a
GENERIC konfigurációs
állomány szerkesztése sem ajánlott,
mivel a források egy esetleges frissítésénél
könnyen felülíródhat és ezzel
együtt elvesznek a módosításaink
is.Tehát érdemes inkább valahol
máshol tárolnunk a rendszermagunk
konfigurációs állományát,
majd létrehozni rá egy szimbolikus linket a
i386
könyvtárban.Valahogy így:&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; mkdir /root/kernel
&prompt.root; cp GENERIC /root/kernel/SAJÁT
&prompt.root; ln -s /root/kernel/SAJÁTMost pedig a kedvenc szövegszerkesztõnkkel
lássunk neki a
SAJÁT
átírásának! Ha nemrég
telepítettük csak a rendszerünket, az egyetlen
elérhetõ szövegszerkesztõnk minden bizonnyal
a vi lesz. Róla most
túlságosan is bonyolult lenne leírást
adnunk, de az Irodalomjegyzékben
található könyvek közül sokban
elég jól bemutatják. Ezen kívül
a &os; ajánl egy könnyebben megtanulható
szövegszerkesztõt is az ee
személyében, amely a kezdõk
számára az ideális választás.
Nyugodtan átírhatjuk az elöl
található megjegyzéseket a saját
konfigurációnknak megfelelõen, vagy akár
azt is rögzíthetjük, hogy miben
tértünk el a GENERIC
beállításaitól.SunOSHa fordítottunk már rendszermagot &sunos; vagy
más BSD operációs rendszer alatt, ez az
állomány ismerõsnek tûnhet. Ha viszont
más operációs rendszerek, mint
például a DOS felõl érkezünk, a
GENERIC konfigurációs
állomány egy kissé terebélyesnek
tûnhet számunkra, ezért A konfigurációs
állomány címû részt
figyelmesen és lassan olvassuk át.Amennyiben a forrásfánkat a &os; projekt
legfrissebb forrásaival szinkronizáljuk, mindig
olvassuk el a /usr/src/UPDATING
állományt, mielõtt bármilyen
frissítéshez is kezdenénk. Itt
megtalálhatóak azok a fontos érintett
kérdések és területek, amely
külön figyelmet igényelnek a frissített
forráskód esetén. A
/usr/src/UPDATING mindig a &os;
forrásának legfrissebb változatához
igazodik, és ezért sokkal naprakészebb
információkat tartalmaz, mint ez a
kézikönyv.Most pedig le kell lefordítanunk a rendszermag
forráskódját.A rendszermag lefordításaLépjünk be a /usr/src
könyvtárba:&prompt.root; cd /usr/srcFordítsuk le a rendszermagot:&prompt.root; make buildkernel KERNCONF=SAJÁTTelepítsük az új rendszermagot:&prompt.root; make installkernel KERNCONF=SAJÁTA &os; teljes forrásfájára
szükség van a rendszermag
lefordításához.Amikor egy saját rendszermagot
alapértelmezés szerint fordítunk, vele
együtt az összes modul is
lefordításra kerül. Ha viszont idõt
szeretnénk megtakarítani a rendszermag
frissítése során vagy csak a saját
moduljainkat akarjuk lefordítani, érdemes
átírnunk az /etc/make.conf
állományt a rendszermag
fordításának megkezdése
elõtt:MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfsEz a változó megadja a ténylegesen
lefordítandó modulok
listáját.WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfsEz a változó a
fordításból kihagyandó modulokat
sorolja fel. A rendszermag fordításának
folyamatában egyéb hasznosnak tekinthetõ
változókról a &man.make.conf.5; man
oldalán olvashatunk./boot/kernel.oldEzután az új rendszermag a /boot/kernel könyvtárba
kerül /boot/kernel/kernel néven
és a korábbi rendszermag pedig
/boot/kernel.old/kernel néven
õrzõdik meg. Most állítsuk le a rendszert
és indítsuk újra az új rendszermag
aktiválásához. Ha közben valamilyen
hiba történt volna, nézzük meg a fejezet
végén található, hibakeresésre
vonatkozó utasításokat. Mindenképpen
olvassuk el azt a részt, amely leírja, hogyan
állítsuk helyre a rendszerünket abban az
esetben, ha az új rendszermaggal nem indul.A rendszerindítási folyamathoz tartozó
további állományok, mint
például a rendszerbetöltõ
(&man.loader.8;) és annak konfigurációs
állománya, a /boot
könyvtárban találhatóak. A
külsõ és saját modulok a /boot/kernel a
könyvtárba kerülhetnek, azonban a
felhasználóknak nagyon ügyelniük kell
rá, hogy az itt található modulok
szinkronban legyenek a lefordított rendszermaggal.
Ellenkezõ esetben a rendszerben
megbízhatatlanságot, hibákat
észlelhetünk.JoelDahlA &os; 6.X verziójához
igazította: A konfigurációs állományrendszermagNOTESNOTESrendszermagkonfigurációs
állományA konfigurációs állomány
általános formátuma igen egyszerû.
Minden sor tartalmaz egy kulcsszót és egy vagy
több paramétert. A további
egyszerûsítés kedvéért a
legtöbb sor csak egyetlen paramétert tartalmaz.
Bármi, ami egy # (kettõskereszt)
jelet követ, megjegyzésnek minõsül és
nem számít konfigurációs elemnek. A
most következõ részek bemutatják az egyes
kulcsszavakat abban a sorrendben, ahogy azokat a
GENERIC állományban is
megtalálhatjuk. Az
architektúrafüggõ opciók és
eszközök teljes listáját a
GENERIC állománnyal egy
könyvtárban levõ NOTES
állományban találhatjuk meg. Az
architektúrától független
opciókat a /usr/src/sys/conf/NOTES
állományban találjuk.Ha olyan állományt akarunk
készíteni, amely tartalmazza az összes
lehetséges opciót, például
teszteléshez, futtassuk le root
felhasználóként az alábbi
parancsot:&prompt.root; cd /usr/src/sys/i386/conf && make LINTrendszermagkonfigurációs
állományItt a GENERIC
rendszermag-konfigurációs állomány
ismertetése következik, az
érthetõség kedvéért
helyenként megjegyzésekkel kibõvítve. A
bemutatott állománynak majdnem pontosan meg kell
egyeznie a rendszerünkben található
/usr/src/sys/i386/conf/GENERIC
állománnyal.a rendszermag beállításaimachinemachine i386A számítógépünk
architektúráját adja meg. A
következõk valamelyikének kell lennie:
alpha, amd64,
i386, ia64,
pc98, powerpc, vagy
sparc64.a rendszermag beállításaicpucpu I486_CPU
cpu I586_CPU
cpu I686_CPUA fenti beállítás
segítségével megadhatjuk, milyen
típusú processzor található a
számítógépünkben. Több
ilyen sorunk is lehet (ha például nem lennénk
biztosak benne, hogy a I586_CPU vagy
I686_CPU értéket kellene
megadnunk), de a saját rendszermagunk
összeállításához érdemes
csak egyet meghagynunk. Ha nem ismerjük pontosan a
processzorunk típusát, vessünk egy
pillantást a /var/run/dmesg.boot
állományra és keressük ki
belõle.a rendszermag beállításaiidentident GENERICEz a rendszermag azonosítója.
Változtassuk meg rendszermagunk nevére, legyen
például
SAJAT, ha a
korábbi utasításokat követtük. Az
ident után írt sztring fog
megjelenni a rendszermag neve mellett a rendszer
indítása során, ezért fontos, hogy az
új rendszermagunknak más nevet adjunk, ha meg
akarjuk különböztetni az általában
használttól (például egy
tesztelésre szánt rendszermagot akarunk
készíteni).# ha a /boot/device.hints használata helyett statikusan bele akarjuk fordítani
#hints "GENERIC.hints" # itt szerepelnek a device hintekA &man.device.hints.5; használható az
eszközmeghajtók
beállítására. A &man.loader.8; a
rendszer indítása során
alapértelmezés szerint a
/boot/device.hints állományt
olvassa be erre a célra. A hints
beállítás használatával ezeket
a hinteket statikusan bele tudjuk
építeni a rendszermagba. Ebben az esetben nincs
szükségünk külön
device.hints állomány
létrehozására a /boot
könyvtárban.makeoptions DEBUG=-g # a nyomkövetéshez szükséges gdb(1) szimbólumok beépítéseA &os; hagyományos fordításának
folyamata során a rendszermagot a
használatával készítjük el,
aminek köszönhetõen hibakeresési
információkat tudunk átadni a &man.gcc.1;
fordítónak.options SCHED_4BSD # 4BSD ütemezõA &os; tradicionális és alapértelmezett
rendszerütemezõje. Ne változtassuk meg!options PREEMPTION # a rendszerszálak megszakíthatóságának engedélyezéseHa engedélyezzük, a rendszermagban futó
szálakat meg tujdák szakítani más,
magasabb prioritású szálak. Ez segít
növelni a rendszer válaszadási
sebességét és csökkenti a
megszakításokat kezelõ szálak
várakozását.options INET # hálózatkezelésA hálózatkezelés
támogatása. Ne töröljük ki,
még akkor sem, ha nem tervezzük
hálózatra kapcsolni a rendszert. Sok programnak
szüksége van legalább az ún. loopback
típusú hálózat
támogatására (vagyis a
számítógépünkön belüli
hálózati kapcsolatokra), ezért ez
feltétlenül kötelezõ!options INET6 # IPv6 kommunikációs prokotollokEngedélyezi az IPv6 kommunikációs
protokollok használatát.options FFS # Berkeley Fast FilesystemEz a legalapvetõbb merevlemezes
állományrendszer. Hagyjuk meg, ha
merevlemezrõl akarjuk indítani a
rendszerünket.options SOFTUPDATES # az FFS Soft Updates támogatásaEz a beállítás engedélyezi a
rendszermagban a Soft Updates használatát, amely
segít felgyorsítani a lemez írási
sebességét. Ha már a rendszermag ezt a
funkcionalitást ismeri, akkor még külön az
egyes lemezeken is engedélyezni kell. Nézzük
meg a &man.mount.8; kimenetét, hogy lássuk, a
rendszerünkben levõ lemezek közül melyiken van
ténylegesen engedélyezve a Soft Updates
használata. Ha nem látjuk benne sehol sem a
soft-updates opciót, akkor azt
(meglevõ állományrendszerek esetén) a
&man.tunefs.8; vagy (új állományrendszerek
esetén) a &man.newfs.8; parancsokkal tudjuk
bekapcsolni.options UFS_ACL # a hozzáférés-vezérlési listák (ACL) támogatásaEzzel a beállítással
engedélyezhetjük a rendszermagban a
hozzáférés-vezérlési
listák támogatását. Ez a
kiterjesztett attribútumok és az
UFS2 használatára
támaszkodik. Ezt a lehetõséget
részleteiben a ban
tárgyaljuk. Az ACL
alapértelmezés szerint támogatott, és
korábban már használtuk, akkor
semmiképpen se kapcsoljuk ki, mert ezzel az eddig
létrehozott
hozzáférés-vezérlési
listáink érvénytelenné, az
állományaink pedig védtelenné
válnak.options UFS_DIRHASH # nagyobb könyvtárak esetén gyorsulást hozEzzel a beállítással némi
memória feláldozása árán fel
tudjuk gyorsítani a nagyobb könyvtárakon
végzett lemezmûveletek sebességét,
ezért ezt a beállítást érdemes
nagyobb szerverekre vagy interaktívitást
igénylõ munkaállomásokra tartogatni,
és eltávolítani olyan esetekben, amikor a
&os;-t egy olyan kisebb számítógépeken
használjuk, ahol a memória kevés és a
lemezmûveletek sebessége kevésbé fontos,
például egy tûzfalon.options MD_ROOT # tudunk memórialemezrõl is rendszert indítaniEzzel az opcióval engedélyezni tudjuk a rendszer
indítását memóriában
tárolt virtuális lemezekrõl.a rendszermag beállításaiNFSa rendszermag beállításaiNFS_ROOToptions NFSCLIENT # hálózati állományrendszer (NFS) kliens
options NFSSERVER # NFS szerver
options NFS_ROOT # NFS használható gyökérként is, kell hozzá az NFSCLIENTA hálózati állományrendszer
támogatása. Hacsak nem akarunk TCP/IP-n
keresztül állományrendszereket csatlakoztatni
egy &unix; állományszerverrõl,
kivethetjük.a rendszermag beállításaiMSDOSFSoptions MSDOSFS # MS-DOS állományrendszerAz &ms-dos; állományrendszer. Hacsak nem
akarunk DOS-ra formázott merevlemezes
partíciót csatlakoztatni a
rendszerindítás során, nyugodtan
elhagyhatjuk. A fentebb leírtak szerint az elsõ olyan
alkalommal automatikusan betöltõdik, amikor egy DOS
partíciót csatlakoztatni akarunk. Sõt, a
nagyszerû emulators/mtools szoftver
segítségével külön
csatlakoztatás és leválasztás
nélkül tudunk DOS-os floppykat olvasni (és az
MSDOSFS-re egyáltalán nincs is
szüksége).options CD9660 # ISO 9660 állományrendszerAz ISO 9660 állományrendszert a CD-k
használják. Vegyük ki, ha nincs a
számítógépben CD-ROM meghajtó
vagy csak ritkán fogunk CD-ket csatlakoztatni (mivel a
hozzátartozó modul magától
betöltõdik az elsõ adat CD csatlakoztatása
során). Az audio CD-k nem használják ezt az
állományrendszert.options PROCFS # a futó programok állományrendszere (szükséges hozzá a PSEUDOFS)A futó programok állományrendszere. Ez
csak a /proc könyvtárra
csatlakoztatott színlelt
állományrendszer, amely
segítségével a &man.ps.1; és
hozzá hasonló programok képesek több
információt adni a futó programokról.
A PROCFS használata a legtöbb
esetben nem indokolt, mivel a különféle
nyomkövetõ és felügyeleti eszközök
képesek a PROCFS használata
nélkül is mûködni:
alapértelmezés szerint a telepített
rendszerek sem csatlakoztatják ezt az
állományrendszer.options PSEUDOFS # pszeudo állományrendszerek támogatásaA 6.X verziójú rendszermagokban a
PROCFS használatához
engedélyeznünk kell a PSEUDOFS
használatát is.options GEOM_GPT # GUID típusú partíciós táblák használataEzzel a beállítással engedélyezni
tudjuk nagy mennyiségû partíció
támogatását egyetlen lemezen.options COMPAT_43 # kompatibilitás fenntartása a 4.3 BSD-vel [NE TÖRÖLD!]Kompatibilitás a 4.3BSD-vel. Ne vegyük ki, mert
bizonyos programok furcsán fognak viselkedni a
hiánya esetén.options COMPAT_FREEBSD4 # kompatibilitás a &os;4-elEz a beállítás szükséges a
&os; 5.X &i386; és Alpha rendszerein a &os;
korábbi verzióihoz fordított
alkalmazások támogatásához, melyek
régebbi rendszerhívásokat használnak.
Az összes &i386; és Alpha típusú
rendszeren ajánlott engedélyezni, mivel itt
elõfordulhatnak régebbi alkalmazások. A
többi platform, mint például az ia64 vagy a
&sparc64;, támogatása csak az 5.X verzióban
jelent meg, ezért ott nincs szükség
erre.options COMPAT_FREEBSD5 # kompatibilitás a &os;5-elEzt a beállítást a &os; 6.X
és afeletti verziókban kell használni az
olyan &os; 5.X verziókra fordított
alkalmazások futtatásának
támogatásához, melyek a &os; 5.X
rendszerhívásait használják.options SCSI_DELAY=5000 # a SCSI eszközök keresése elõtt késleltetés (ezredmásodpercben)Ezzel a beállítással a rendszermag 5
másodpercig várakozni fog a SCSI eszközök
keresése elõtt. Ha kizárolag csak IDE
típusú merevlemezeink vannak, nyugodtan
kihagyhatjuk, máskülönben érdemes a
rendszerindítás gyorsítása
érdekében próbáljuk meg
csökkenteni ezt az értéket.
Természetesen, ha így teszünk és a &os;
nem tudja felismerni a SCSI eszközeinket, akkor
növeljük meg valamennyivel.options KTRACE # a ktrace(1) támogatásaEngedélyezi a rendszermagban futó rutinok
nyomonkövetését, ami hasznos lehet a
hibák keresése során.options SYSVSHM # SYSV-szerû osztott memóriaEzzel a beállítással engedélyezni
tudjuk a rendszerben a System V típusú osztott
memória használatát. Leggyakrabban az X
rendszer XSHM kiterjesztése használja, amelyen
keresztül számos mûveletigényes grafikus
program mûködését fel lehet
gyorsítani. Ha X-et használunk, mindenképpen
szükségünk lehet erre.options SYSVMSG # SYSV-szerû üzenetsorokA System V üzenetek támogatása. Ez a
beállítás csupán néhány
száz byte-tal növeli a rendszermagot.options SYSVSEM # SYSV-szerû szemaforokA System V szemaforok támogatása. Nem
túl gyakran alkalmazzák ezeket, de ez csak
néhány száz byte-ot tesz hozzá a
rendszermaghoz.A &man.ipcs.1; parancs
paraméterével ki tudjuk listáztatni azokat
futó programokat, amelyek ezen System V
eszközöket használják.options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B valósidejû kiterjesztésekA &posix; 1993-as változatában megjelent
valósidejû bõvítések. A
Portgyûjteményben megjelenõ egyes
alkalmazások használják ezeket (mint
például a
&staroffice;).options KBD_INSTALL_CDEV # CDEV bejegyzés létrehozása a /dev könyvtárbanEz a beállítás kell ahhoz, hogy
/dev könyvtárban létre
tudjunk hozni eszközleírókat a
billentyûzethez.options ADAPTIVE_GIANT # adaptív Giant mutexekA Giant annak a kölcsönös
kizárási mechanizmusnak (blokkolt mutexnek) a neve,
amely a rendszermag erõforrásainak jelentõs
részét védi. Manapság ez már
egy elfogadhatatlanul szûk keresztmetszet képez a
teljesítményben, ezért a fejlesztésben
fokozatosan felváltják az egyes
erõforrásokat külön-külön
védõ zárolások. Az
ADAPTIVE_GIANT beállítás
hatására a Giant a helyzethez igazodóan
forgó (spin) mutexek közé kerül. Ez azt
jelenti, hogy amikor egy szál zárolni akarja a Giant
mutexet, de ezt már megtette elõtte egy másik
processzorról futó szál, a szál
tovább fut és várakozni fog a
zárolás feloldására. Normális
esetben ugyanis egy szál továbbra is blokkolt
állapotban marad, várakozva a futásra. Ha
nem tudunk dönteni, hagyjuk változatlanul.Hozzátesszük, hogy a &os; 8.0-CURRENT és
késõbbi változataiban az össszes mutex
alapértelmezés szerint adaptív, hacsak meg
nem adjuk a NO_ADAPTIVE_MUTEXES
beállítást. Ennek
eredményeképpen a Giant most már
alapból adaptív, ezért esetükben az
ADAPTIVE_GIANT nem szerepel a rendszermag
beállításai között.a rendszermag beállításaiSMPdevice apic # I/O APICAz apic nevû eszköz
engedélyezésével használhatjuk a
hardveres APIC-ot a megszakítások
vezérlésére. Az
apic alkalmazható egy- és
többprocesszoros rendszerek esetén is egyaránt,
de az SMP rendszermagoknál szükséges.
Több processzor támogatásánál
mindenképpen tegyük hozzá az options
SMP beállítást is.Az apic eszköz csak az i386 architektúrán
létezik, ezért a többi
architektúrán nem szabad használnunk ezt a
beállítást.device eisaAbban az esetben engedélyezzük, ha EISA-s
alaplapunk van, ezzel aktiváljuk az EISA buszra
csatlakoztatott eszközök automatikus
felismerését és
beállíthatóságát.device pciTegyük hozzá a konfigurációs
állományhoz, ha PCI-os alaplapuk van. Ezzel
engedélyezhetjük a PCI kártyák
automatikus felismerését és a PCI és
ISA buszok közti
átirányítást.# Hajlékonylemezes meghajtók
device fdcEz a hajlékonylemezes meghajtó
vezérlõje.# ATA és ATAPI eszközök
device ataEz az eszközmeghajtó felelõs az összes
ATA és ATAPI eszközért. A modern
számítógépeken csak egyszer kell
megadnunk a device ata sort a
beállítások között az összes
PCI-os ATA/ATAPI eszköz felismeréséhez.device atadisk # ATA lemezmeghajtókAz ATA lemezmeghajtók
támogatásához erre van még
szükség a device ata
mellett.device ataraid # ATA RAID-meghajtókAz ATA RAID-meghajtók kezeléséhez erre a
sorra van szükség a device ata
mellett.
device atapicd # ATAPI CD-meghajtókAz ATAPI CD-meghajtók használatához ezt
is tegyük a konfigurációba a device
ata mellé.device atapifd # ATAPI floppy meghajtókA device ata használata mellett erre
van még szükségünk az ATAPI floppy
meghajtók kezeléséhez.device atapist # ATAPI szalagos meghajtókAz ATAPI szalagos egységek ezt a sort is tegyük a
konfigurációba a device ata
mellé.options ATA_STATIC_ID # statikus eszközszámozásEzzel a beállítással a
vezérlõk számozása állandó
lesz. Nélküle az eszközszámok dinamikusan
kerülnek kiosztásra.# SCSI vezérlõk
device ahb # EISA AHA1742 család
device ahc # AHA2940 és integrált AIC7xxx eszközök
options AHC_REG_PRETTY_PRINT # a hibák kereséséhez kiíratja a regiszterek
# bitmezõit. Kb. 128 KB-al növeli a méretét.
device ahd # AHA39320/29320 és integrált AIC79xx eszközök
options AHD_REG_PRETTY_PRINT # a hibák kereséséhez kiíratja a regiszterek
# bitmezõit. Kb. 215 KB-al növeli a méretét.
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic család
#device ispfw # a QLogic HBA firmware-e, többnyire modul
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (újabb chipsetek, illetve az `ncr' típusúak)
device trm # Tekram DC395U/UW/F DC315U csatolók
device adv # Advansys SCSI-csatolók
device adw # Advansys wide SCSI-csatolók
device aha # Adaptec 154x SCSI-csatolók
device aic # Adaptec 15[012]x SCSI-csatolók, AIC-6[23]60.
device bt # Buslogic/Mylex MultiMaster SCSI-csatolók
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50SCSI-vezérlõk. Vegyük ki azokat, amelyekkel
ténylegesen nem rendelkezünk. Ha csak IDE
eszközeink vannak a rendszerünkben, az összeset
eltávolíthatjuk. A
_REG_PRETTY_PRINT
végzõdésû sorok a megfelelõ
meghajtók hibakerési
beállításait takarják.# SCSI-perifériák
device scbus # SCSI-busz (kell a SCSI-hoz)
device ch # SCSI médiumváltók (media changer)
device da # közvetlen hozzáférés (lemezek)
device sa # soros hozzáférés (szalag stb.)
device cd # CD
device pass # áteresztõ eszköz (közvetlen SCSI hozzáférés)
device ses # SCSI környezeti szolgáltatások (és SAF-TE)SCSI-perifériák. Itt is érvényes,
hogy kivethetjük azokat az eszközöket, amelyekkel
nem rendelkezünk. De ha csak IDE hardvereink vannak,
teljesen eltávolíthatjuk ezeket.Annak ellenére, hogy valójában nem
igazi SCSI-eszközök, az USB-s &man.umass.4; és
még néhány más egyéb
meghajtó is használja a SCSI alrendszert. Emiatt
semmiképpen se távolítsuk el a SCSI
támogatást a rendszerünkõl abban az
esetben, ha ilyen meghajtókat is használni
szándékozunk.# a SCSI alrendszerhez kapcsolódó RAID-vezérlõk
device amr # AMI MegaRAID
device arcmsr # Areca SATA II RAID
device asr # DPT SmartRAID V, VI és Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - lásd a NOTES állományt
device hptmv # Highpoint RocketRAID 182x
device rr232x # Highpoint RocketRAID 232x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID vezérlõk
device aac # Adaptec FSA RAID
device aacp # SCSI áteresztõ az aac-hez (kell hozzá a CAM)
device ida # Compaq Smart RAID
device mfi # LSI MegaRAID SAS
device mlx # Mylex DAC960 család
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAIDAz ismert RAID-vezérlõk. Ha
közülük egyikkel sem rendelkezünk,
távolítsuk el ezeket a
konfigurációból.# az atkbdc0 vezérli a billentyûzetet és a PS/2-es egeret
device atkbdc # AT billentyûzet vezérlõA billentyûzet vezérlõje
(atkbdc) az AT-s billentyûzet és a
PS/2 stílusú pozícionáló
eszközök vezérléséhez
szükséges I/O szolgáltatásokat
biztosítja. Erre a vezérlõre a
billentyûzet meghajtójának
(atkbd) és a PS/2
pozícionáló eszközök
eszközmeghajtójának (psm) is
szüksége van.device atkbd # AT billentyûzetAz atkbd meghajtó, a
atkbdc vezérlõvel együtt, adja
a hozzáférést az AT billentyûzet
vezérlõre csatlakoztatott AT 84 és a fejlettebb
AT billentyûzetek felé.device psm # PS/2 egérHasználjuk ezt az eszközt, ha az egerünk a
PS/2 portra csatlakozik.device kbdmux # billentyûzet multiplexerA billentyûzet multiplexer alapszintû
támogatása. Ha nem kívánunk a
jövõben egynél több billentyûzetet
csatlakoztatni a rendszerünkre, nyugodt szívvel
kivehetjük ezt a sort.device vga # VGA videokártya meghajtóVideokártya meghajtó.
device splash # üdvözlõképernyõk és képernyõkímélõk támogatásaNyissunk egy üdvözlõképernyõvel! A
képernyõkímélõknek is
szüksége van erre az eszközre.# a syscons az alapértelmezett konzolmeghajtó, hasonlít a SCO konzolra
device scAz sc az alapértelmezett
meghajtó a konzolok számára, és sokban
hasonlít a SCO konzolra. Mivel a legtöbb
teljesképernyõs program a termcap
termináladatbázis könyvtáron
keresztül éri el a konzolt, nem igazán
számít, hogy ezt vagy a
VT220-kompatibilis vt
konzolmeghajtót használjuk. Ha bármilyen
gondunk lenne a teljesképernyõs programok
futtatásával ezen a konzolon, a
bejelentkezéskor állítsuk a
TERM környezeti változónk a
scoansi értékre.# ezzel tudjuk engedélyezni a pcvt (VT220-kompatibilis) konzolmeghajtót
#device vt
#options XSERVER # az X szerver támogatása vt konzolon
#options FAT_CURSOR # telt kurzor használataEz a VT220-kompatibilis konzolmeghajtó, amely
visszafele kompatibilis a VT100/102-vel is. Remekül
mûködik olyan laptopokon, ahol a hardver nem
használható az sc konzollal. Itt
ugyanúgy érdemes egyébként a
vt100 értékre vagy a
vt220 értékre
állítani a TERM környezeti
változónkat. Hasznosnak bizonyulhat abban az
esetben is, amikor hálózaton keresztül nagy
mennyiségû és eltérõ
típusú számítógépekhez
csatlakozunk, és ahol a termcap
és terminfo adatbázisokban az
sc bejegyzései gyakran nem is
érhetõek el — a vt100 viszont
virtuálisan az összes platformon
elérhetõ.device agpÍrjuk bele a konfigurációba, ha van AGP
kártya a rendszerünkben. Ezzel
engedélyezzük az AGP és az AGP GART
támogatását az ezeket ismerõ
kártyák számára.APM# energiagazdálkodás támogatása (bõvebben lásd: NOTES)
#device apmA fejlett energiagazdálkodás
támogatása. Laptopok esetén hasznos,
- habár a &os; 5.X és késõbbi
- verzióiban ez alapértelmezés szerint nincs
+ habár ez alapértelmezés szerint nincs
engedélyezve a GENERIC
konfigurációban.# az i8254 készenléti módjának támogatása
device pmtimerAz energiagazdálkodási események, mint
például APM és ACPI
idõzítõjének
eszközmeghajtója.# PCCARD (PCMCIA) támogatás
# PCMCIA és cardbus támogatás
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16 bites) busz
device cardbus # CardBus (32 bites) buszA PCMCIA támgotása. Mindenképpen
szükségünk lesz rá, ha laptopunk
van.# soros (COM) portok
device sio # 8250, 16[45]50 alapú soros portokEzek azok a soros portok, amelyek az &ms-dos;/&windows;
világban csak COM
portokként ismernek.Ha van egy belsõ modemünk a
COM4-en és egy soros portunk a
COM2-n, a modem IRQ-ját meg kell
változtatnunk 2-re (valamilyen homályos
mûszaki októl kifolyólag a COM2 = IRQ9), hogy
hozzá tudjunk férni &os;-bõl. Ha
többportos soros kártyánk lenne, lapozzuk fel
a &man.sio.4; man oldalát, és ott hozzá
megtaláljuk a /boot/device.hints
állományba írandó megfelelõ
értékeket. Egyes videokártyák
(különösen az S3 chipekre
épülõk) az I/O címeket
0x*2e8 alakban használják,
és mivel rengeteg olcsó soros kártya nem
kódolja vissza egészében a 16 bites I/O
címteret, ütközni fognak ezekkel a
kártyákkal, és ezáltal a
COM4 port gyakorlatilag
elérhetetlenné válik.Minden egyes soros portnak egyedi IRQ-ja kell legyen (hacsak
nem használunk olyan többportos
kártyát, amely támogatja a megosztott
megszakításokat), ezért a
COM3 és
COM4 esetén
alapértelmezett IRQ-k nem
használhatóak.# párhuzamos port
device ppcEz az ISA busz párhuzamos portjának
felülete.device ppbus # a párhuzamos port busza (kell)A párhuzamos porthoz tartozó busz
támogatása.device lpt # nyomtatóA párhuzamos portra csatlakozó nyomtatók
támogatása.A fentiek közül mind a három
szükséges a párhuzamos porton
csatlakozó nyomtatók
használatához.device plip # TCP/IP párhuzamos porton keresztülEz a párhuzamos port hálózati
felületének meghajtója.device ppi # a párhuzamos port felületének eszközeÁltalános célú (geek
port) és IEEE1284 I/O.#device vpo # az scbus és a da kell a használatáhozzip meghajtóEz az Iomega Zip meghajtóihoz tartozó
eszköz. A mûködéséhez
szükség van az scbus és
da engedélyezésére. A
legjobb teljesítményt EPP 1.9 módban
mûködõ portokkal lehet kihozni belõle.#device pucTegyük bele a konfigurációba ezt az
eszközt, ha egy olyan buta soros vagy
párhuzamos PCI kártyánk van, amelyet a
&man.puc.4; segédmeghajtó ismer.# PCI Ethernet kártyák
device de # DEC/Intel DC21x4x (Tulip)
device em # Intel PRO/1000 Gigabit Ethernet kártya
device ixgb # Intel PRO/10GbE Ethernet kártya
device txp # 3Com 3cR990 (Typhoon)
device vx # 3Com 3c590, 3c595 (Vortex)Különféle PCI hálózati
kártyák meghajtói. Vegyük ki azokat,
amelyek nem találhatóak meg a
rendszerünkben.# PCI Ethernet kártyák, melyek az MII busz vezérlõkódját használják
# FIGYELEM: Ne töröljük ki a 'device miibus' sort, ha ilyen kártyánk van!
device miibus # az MII busz támogatásaAz MII busz engedélyezése elengedhetetlen
bizonyos 10/100-as PCI Ethernet kártyák
használatához, konkrétan azokéhoz,
amelyek az MII-vel együttmûködni képes
adó-vevõt használnak vagy az MII-höz
hasonló adó-vevõ vezérlõ
felületet valósítanak meg. A device
miibus hozzáadása a rendszermaghoz
magával vonja az általános miibus API
és az összes PHY meghajtó
támogatását, beleértve azt az
általános PHY eszközt is, amelyet az egyes
eszközmeghajtók külön nem
támogatnak.device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 és egyéb hasonlóak
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit ethernet
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
device nge # NatSemi DP83820 gigabit ethernet
device nve # nVidia nForce MCP integrált Ethernet hálózat
device pcn # AMD Am79C97x PCI 10/100 (az 'lnc' elõtt)
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (Starfire)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 EPIC)
device vge # VIA VT612x gigabit ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (Boomerang, Cyclone)Meghajtók, melyek az MII busz
vezérlõkódját
használják.# ISA Ethernet és pccard hálózati kártyák.
device cs # Crystal Semiconductor CS89x0 NIC
# az 'device ed' eszközhöz kell a 'device miibus'
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device ex # Intel EtherExpress Pro/10 és Pro/10+
device ep # Etherlink III alapú kártyák
device fe # Fujitsu MB8696x alapú kártyák
device ie # EtherExpress 8/16, 3C507, StarLAN 10 stb.
device lnc # NE2100, NE32-VL Lance Ethernet kártyák
device sn # az SMC 9000-res sorozatú Ethernet chipjei
device xe # Xircom pccard Ethernet
# ISA eszközök, melyek a régi ISA betétet használják
#device leISA Ethernet meghajtók. A konkrétan
támogatott kártyák teljes
felsorolását lásd a
/usr/src/sys/i386/conf/NOTES
állományban.# vezeték nélküli hálózati kártyák
device wlan # 802.11 támogatásÁltalános 802.11 támogatás. Erre
a sorra mindenképpen szükség van a
vezeték nélküli hálózatok
használatához.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ásA 802.11 eszközök esetén a
titkosítás támogatása. Ezeket a
sorokat akkor adjuk meg, ha titkosítást akarunk
használni vagy a 802.11i biztonsági
protokolljait.device an # Aironet 4500/4800 802.11 vezeték nélküli hálózati kártyák
device ath # Atheros pci/cardbus hálózati kártyák
device ath_hal # Atheros HAL (Hardware Access Layer)
device ath_rate_sample # küldési mintavételi vezérlés az ath-hoz
device awi # BayStack 660 és mások
device ral # Ralink Technology RT2500 vezeték nélküli hálózati kártyák
device wi # WaveLAN/Intersil/Symbol 802.11 vezeték nélküli hálózati kártyák
#device wl # régebbi, nem 802.11 Wavelan vezeték nélküli hálózati kártyákA különbözõ vezeték
nélküli kártyák
támogatása.# Pszeudo eszközök
device loop # hálózati loopbackEz a TCP/IP általános loopback eszköze. Ha
telnettel vagy FTP-vel rácsatlakozunk a
localhost címére (vagyis a 127.0.0.1-re), akkor rajta keresztül
saját magunkhoz jutunk vissza. Ennek a megléte
kötelezõ!device random # álvéletlenszám eszközKriptográfiai szempontból biztonságos
álvéletlenszám generátor.device ether # Ethernet támogatásAz ether eszközre csak abban az
esetben van szükség, ha Ethernet kártyán
van. Ez magában foglalja az általános
Ethernet protokoll kódját.device sl # belsõ SLIPAz sl a SLIP használatát
engedélyezi. Ez egy régi protokoll, amelyet
azóta már szinte teljesen kiszorított a PPP,
mivel azt könnyebb beállítani és sokkal
jobban is illik a modem-modem kapcsolatokhoz, illetve sokkal
erõteljesebb.device ppp # belsõ PPPEz a tárcsázós kapcsolatok rendszermagon
belüli PPP támogatását adja meg. Van a
PPP-nek egy külsõ, a felhasználói
programként megvalósított változata
is, amely a tun eszközt használja
és sokkal nagyobb rugalmasságot kínál
fel, illetve olyan lehetõségeket, mint
például az igény szerinti
tárcsázás.device tun # csomag alagútEzt a felhasználói PPP szoftver
használja. A könyv PPP-rõl szóló
részében többet is megtudhatunk
róla.
device pty # Pszeudo terminálok (telnet stb.)Ezek a pszeudo terminálok vagy
más néven szimulált bejelentkezési
portok. A bejövõ telnet és
rlogin munkamenetek használják,
valamint az xterm és a
hozzá hasonló alkalmazások, mint
például az Emacs.device md # memórialemezekA memóriában levõ pszeudo lemezes
meghajtók.device gif # IPv6 és IPv4 tunnelek használataMegvalósítja az IPv6 IPv4 feletti, az IPv4 IPv6
feletti, az IPv4 IPv4 feletti és az IPv6 IPv6 feletti
közvetítését. A gif
eszköz magától
másolódik, vagyis szükség
szerint hozza létre a megfelelõ
eszközleírókat.device faith # IPv6-IPv4 közti továbbítás (fordítás)Ez a pszeudo eszköz elfogja a hozzá
küldött csomagokat és átadja ezeket az
IPv4/IPv6 fordítással foglalkozó
démonnak.# a `bpf' eszköz használatával a Berkeley csomagszûrõt (Berkeley Packet Filter) engedélyezzük
# Legyünk rá tekintettel, hogy ennek komoly következményei lehetnek
# rendszeradminisztrációs szempontból!
# A 'bpf'-re szükség van a DHCP-hez.
device bpf # Berkeley csomagszûrõA Berkeley csomagszûrõje. Ez egy olyan pszeudo
eszköz, amely lehetõvé teszi, hogy a
hálózati csatolók forgalmát
megfigyeljük, mivel a (pl. Ethernet)
hálózatunkon minden csomagot elkap. Ezek a csomagok
lemezre is menthetõek vagy kielemezhetõek a
&man.tcpdump.1; program segítségével.A &man.bpf.4; eszközt a &man.dhclient.8; is
használja többek közt az alapértelmezett
átjáró IP-címének
megszerzéséhez. Ha DHCP-t akarunk
használni, hagyjuk így.# USB támogatás
device uhci # UHCI PCI->USB felület
device ohci # OHCI PCI->USB felület
device ehci # EHCI PCI->USB felület (USB 2.0)
device usb # USB busz (kell)
#device udbp # USB Double Bulk Pipe eszközök
device ugen # általános
device uhid # Human Interface Devices
device ukbd # billentyûzet
device ulpt # nyomtató
device umass # lemez/háttértároló - kell hozzá az scbus és a da
device ums # egér
device ural # Ralink Technology RT2500USB vezeték nélküli hálózati kártyák
device urio # Diamond Rio 500 MP3 lejátszó
device uscanner # lapolvasók
# USB Ethernet, kell hozzá az mii
device aue # ADMtek USB Ethernet
device axe # ASIX Electronics USB Ethernet
device cdce # általános USB, Etherneten keresztül
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB EthernetA különféle USB eszközök
támogatása.# FireWire támogatás
device firewire # FireWire buszkód
device sbp # SCSI FireWire-ön keresztül (kell hozzá az scbus és a da)
device fwe # Ethernet FireWire-ön keresztül (nem szabványos!)A különféle Firewire eszközök
támogatása.A &os; által ismert további
eszközökrõl a
/usr/src/sys/i386/conf/NOTES
állományból
tájékozódhatunk.Sok memória kezelése
(PAE)Fizikai címkiterjesztés
(PAE)sok memóriaA sok memóriával rendelkezõ
számítógépek esetén
szükség lehet a felhasználói
és rendszerszintû virtuális címek
(Kernel Virtual Address, KVA) 4 gigabyte
feletti használatára. Ennek a
korlátozásnak a
kiküszöbölésére az &intel;
külön támogatást épített
be a &pentium; Pro és az azt követõ
processzorok 36 bites fizikai címzésének
kialakításához.A Fizikai Címkiterjesztés (Physical Address
Extension, PAE) az &intel; &pentium; Pro
és késõbbi processzoraiban
található meg, és lehetõvé
teszi egészen 64 gigabyte-ig a
memóriahasználatot. A &os; is támogatja
ezt a tulajdonságot a rendszermag
beállítás használatával,
és megtalálható a &os; összes
jelenlegi verziójában. Az &intel;
architektúrájú processzorok
memóriaszervezésének korlátai
miatt nem különböztethetõ meg a 4 gigabyte
alatti és feletti memória. A 4 gigabyte felett
található memóriaterületek
egyszerûen hozzáadódnak a
rendelkezésre álló
memóriához.A rendszermagban a PAE
támogatását egyszerûen az
alábbi sor segítségével
hozzáadásával tudjuk
engedélyezni:options PAEA &os;-ben a PAE
támogatása csak az &intel; IA-32
architektúrájú processzoraihoz
érhetõ el. Emellett meg kell
említenünk, hogy a &os;-ben
található PAE
támogatás nem lett szélesebb
körben próbára téve, ezért
a &os; többi megbízható elemeihez
képest csak béta állapotúnak
tekinthetõ.A &os; PAE
támogatásának van néhány
hiányossága:Egy futó program a virtuális
memóriában nem képes 4
gigabyte-nál többet elérni.A KLD modulok nem
tölthetõek be egy PAE-t
támogató rendszermagba, mivel
eltérnek a modulok és a rendszermag
létrehozásának
módszerei.A &man.bus.dma.9; felületet nem
használó eszközmeghajtók
adathibákat okozhatnak a PAE-t
támogató rendszermagokban, és emiatt
nem ajánljuk a használatukat. Ebbõl a
megfontolásból
készítettünk egy
PAE nevû
konfigurációs állományt a
&os;-hez, amelyben nem szerepel egyetlen olyan
meghajtó sem, amely ismereteink szerint nem
mûködik együtt a PAE-t
támogató rendszermagokkal.Bizonyos finomhangolási
beállítások a
memóriahasználatot a rendelkezésre
álló fizikai memória
mennyiségébõl
számítják ki. A
PAE támogatással
mûködõ rendszerek esetében
megjelenõ sok memória miatt azonban az ilyen
eszközök szükségtelenül
több területet foglalhatnak le. Erre
példa lehet a
sysctl változó, amely a rendszermag
által maximálisan
felhasználható virtuális
csomópontok számát korlátozza.
Ajánlott tehát az ilyen és ehhez
hasonló beállítások
értelmes értékre
történõ
visszaállítása.Szükséges lehet a rendszermag
virtuális címterének
(KVA) növelése vagy a
rendszermag által túlságosan nagy
méretûre foglalt címterû
különféle erõforrások
(lásd fentebb) csökkentése a
KVA kifogyásának
elkerülésére. A KVA
területének növelését a
beállításával tehetjük
meg.Ha gondjaink lennének a
teljesítménnyel vagy a
megbízhatósággal, keressük fel a
&man.tuning.7; man oldalt. A &man.pae.4; man oldalon pedig a
&os; PAE
támogatásáról találhatunk
naprakész információkat.Ha valamilyen hiba történneNégyféle probléma jelentkezhet egy
saját rendszermag készítése
során. Ezek:A config hibát jelez:Amikor a &man.config.8; parancs hibát jelez
vissza a rendszermagunk konfigurációs
beállításainak feldolgozása
során, akkor minden bizonnyal csak egy apró
hibát vétettünk valahol.
Szerencsére a &man.config.8; kiírja a
hibás sor számát, ezért gyorsan
fel tudjuk kutatni a hibát tartalmazó sort.
Például, ha ezt látjuk:config: line 17: syntax errorAkkor gyõzödjünk meg róla, hogy
helyesen írtuk be az adott sorban szereplõ
kulcsszót. Ebben segítségünkre
lehet, ha összevetjük a
GENERIC konfigurációs
állománnyal vagy más
hivatkozásokkal.A make hibát jelez:Ha a make jelez hibát, az
általában arra utal, hogy az általunk
korábban megadott rendszermag
konfigurációs állományt a
&man.config.8; nem értette meg rendesen. Megint azt
tudjuk csak javasolni, hogy nézzük át a
konfigurációs
beállításainkat, és ha
ezután sem sikerül megoldani a
problémát, akkor mellékeljük egy
levélben a rendszermagunk konfigurációs
beállításait és
küldjük el a &a.questions; címére,
ahol a hozzáértõk gyorsan
átnézik.A rendszermag nem indul:Ha az új rendszermagunk nem indul vagy nem
képes felismerni az eszközeinket, ne essünk
kétségbe! Szerencsére a &os;
tökéletes megoldással tud
szolgálni az összeférhetetlen
rendszermagok esetére: a &os;
rendszerbetöltõjében egyszerûen
válasszuk ki az indítandó
rendszermagot. Ezt akkor tudjuk elõhívni,
amikor a rendszerindító menü megjelenik.
Válasszuk ki a hatos, vagyis az Escape to a
loader prompt (a betöltõ
parancssorának elõhívása)
menüpontot. Mikor megjelenik a parancssor,
írjuk be, hogy unload kernel, majd
adjuk ki a boot
/boot/kernel.old/kernel,
parancsot, amiben bármilyen más olyan
rendszermagot is megnevezhetünk, ami korábban
már mûködött. Ezért amikor
beállítunk egy új rendszermagot, mindig
érdemes a kezünk ügyében tartani
legalább egy olyan rendszermagot, amely
mûködik.Miután sikerült elindítanunk az egyik
használható rendszermagot, nézzük
át még egyszer a konfigurációs
állományt és próbáljuk
újra lefordítani a rendszermagot. A
probléma megoldását segítheti a
/var/log/messages
állomány áttanulmányozása
is, ami többek közt rögzíti a
rendszermag sikeres indulása során
keletkezõ üzeneteket. Ezenkívül a
&man.dmesg.8; parancs is meg tudja jeleníteni az
aktuális rendszerindítás
üzeneteit.Ha gondok merülnének fel a rendszermag
elkészítése során,
mindenképpen tartsuk meg a
GENERIC, vagy bármilyen
másik olyan rendszermagot, amelyrõl tudjuk,
hogy mûködik. Nevezzük át,
így nem fog felülíródni a
következõ fordítás és
telepítés során. A
kernel.old állományra
ugyanis nem minden esetben számíthatunk,
mivel az új rendszermagok
telepítésénél a
kernel.old mindig
felülíródik a legutóbb
telepített rendszermaggal, amely azonban nem
feltétlenül lesz
mûködõképes. Sõt, amint csak
lehetséges, rakjuk a mûködõ
rendszermagot a /boot/kernel
könyvtárba vagy különben a
&man.ps.1; és a hozzá hasonló
parancsok nem fognak rendesen mûködni. Mindezek
elvégzéséhez egyszerûen
nevezzük át a jó rendszermagot
tartalmazó könyvtárt:&prompt.root; mv /boot/kernel /boot/kernel.rossz
&prompt.root; mv /boot/kernel.jó /boot/kernelA rendszermag mûködik, de a &man.ps.1; viszont
nem:Ha olyan rendszermagot telepítettünk, aminek
a verziója nem egyezik meg a
hozzátartozó segédprogramokéval,
tehát például -CURRENT rendszermagot
raktunk egy -RELEASE rendszerhez, egyes
rendszerállapotjelzõ parancsok, mint
például a &man.ps.1; vagy a &man.vmstat.8; nem
fognak mûködni. Ebben az esetben az egész rendszert újra
kell fordítanunk és
telepítenünk a rendszermagunkkal
megegyezõ verziójú
forrásból. Részben ezért sem
különösen ajánlott, hogy az
operációs rendszer többi
részétõl eltérõ
verziójú rendszermagot
használjunk.
diff --git a/hu_HU.ISO8859-2/books/handbook/mail/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/mail/chapter.sgml
index ec74e75a6c..4f51ccfb0b 100644
--- a/hu_HU.ISO8859-2/books/handbook/mail/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/mail/chapter.sgml
@@ -1,3150 +1,3037 @@
+ Original Revision: 1.138 -->
BillLloydEredetileg készítette: JimMockÁtdolgozta: Elektronikus levelezésÁttekintése-mailAz elektronikus levelezés, más
néven e-mail, a kommunikáció egyik legjobban
elterjedt formája. Ebben a fejezetben bemutatjuk, hogyan
futtassunk &os;-n levelezõ szervert, illetve hogyan
küldjünk és fogadjunk e-maileket a &os;
használatával. Ez azonban semmiképpen sem
tekinthetõ egy teljes referenciának és
tulajdonképpen számos fontos
tényezõrõl szót sem ejtünk. A
témára úgy kaphatunk egy sokkal
átfogóbb rálátást, ha a ben felsorolt remek könyveket is
elolvassuk.A fejezet elolvasása során
megismerjük:milyen szoftverkomponensek játszanak szerepet az
elektronikus levelek küldésében és
fogadásában;&os;-ben hol találhatóak a
sendmail
konfigurációs állományai;mi a különbség a helyi és
távoli postaládák
között;hogyan akadályozzuk meg, hogy a levelezõ
szerverünk a kéretlen levélszemetet
továbbítson;rendszerünkön hogyan telepítsünk
és állítsunk be más levelezõ
szervereket a sendmail
helyett;hogyan oldjuk meg a levelezõ szerverekkel
kapcsolatban felmerülõ általános
problémákat;hogyan használjuk az SMTP protokollt az UUCP
protokollal;hogyan kell rendszerüket csak
levélküldésre
beállítani;hogyan levelezzünk betárcsázós
kapcsolattal;hogyan növeljük rendszerünk
védelmét az SMTP
hitelesítésének
engedélyezésével;hogyan telepítsünk és
használjunk a levelek küldésére
és fogadására például a
mutthoz hasonló
levelezõ klienseket;hogyan töltsük le leveleinket egy távoli
POP vagy IMAP
szerverrõl;hogyan alkalmazzunk automatikusan adott szabályokat
vagy szûrõket az érkezõ
levelekre.A fejezet elolvasása elõtt ajánlott:az internet-csatlakozásunk megfelelõ
beállítása ();a névfeloldás
beállítása ();a külsõ fejlesztésû
alkalmazások telepítésének
ismerete ().Az elektronikus levelezés használataPOPIMAPDNSÖt fontosabb részre bonthatjuk a
levelezést. Ezek: a
felhasználói program (mail user agent), a levélküldõ démon
(mail transfer agent), a
névfeloldás, a
helyi vagy távoli postaláda és
természetesen maga a
levelezõ szerver (mail host).A felhasználói programIde soroljuk a különbözõ parancssoros
programokat, mint például a
mutt,
pine, elm
és mail, valamint a
különféle grafikus alkalmazásokat, mint
például a balsa
és az xfmail, csak hogy
felsoroljuk néhány újabb, egy
webböngészõhöz hasonlóan
kifinomult eszközt is. Ezek a programok
egyszerûen átküldik az elektronikus levelekkel
kapcsolatos tranzakciókat a helyi levelezõ
szervernek vagy meghívják
valamelyik levélküldõ
démont, esetleg közvetlenül a
TCP protokollon keresztül
kézbesítenek.A levélküldõ démonlevélküldõ démonsendmaillevélküldõ démonpostfixlevélküldõ démonqmaillevélküldõ démoneximA &os; alapból a sendmail
nevû programot ajánlja fel erre a célra, de
támogat más levelezõ szervereket is, ezek
közül meg is említünk
néhányat
ízelítõként:eximpostfixqmailEz a démon általában két
feladatot lát el — a beérkezõ levelek
fogadásáért és a kimenõ levelek
elküldéséért felelõs.
Nem tartozik azonban a feladatai
közé, hogy a POP vagy
IMAP protokollokhoz hasonlóan
olvashatóvá tegye a leveleinket, illetve
csatlakozni engedjen a helyi mbox vagy
Maildir formátumú postaládáinkhoz.
Ezekhez a mûveletekhez egy külön démon
szükségeltetik.A sendmail régebbi
változatai tartalmaznak olyan komoly biztonsági
hibákat, amelyek kihasználásával
az illetéktelen behatolók helyi és/vagy
távoli hozzáférést tudnak szerezni
a gépünkön. Az ilyen jellegû
problémák elkerülése
érdekében igyekezzünk mindig a legfrissebb
verzióját használni. Vagy a &os;
Portgyûjteményébõl
telepítsünk fel egy másik
levélküldõ démont.Az elektronikus levelek és a
névfeloldásA névfeloldás (Domain Name System, DNS)
és a hozzátartozó named
démon nagy szerepet játszik az elektronikus
levelek továbbításában. A
démon a leveleket úgy küldi át az
egyik géprõl a másikra, hogy a
névfeloldáson keresztül megkeresi azt a
távoli gépet, amelynek a leveleket
címezték. Ez a folyamat szintén
végbemegy, amikor egy távoli géprõl
levelet küldenek a mi szerverünkre.MX rekordA DNS valósítja meg a
hálózati nevek és az IP-címek
összerendelését valamint ez tárolja el
a levélküldésre vonatkozó
információkat is, amelyeket MX rekordoknak
hívnak. Az MX (Mail eXchanger,
levélváltó) rekord adja meg
azt a gépet vagy azokat a gépeket, amelyek az
adott névtartományban fogadják a leveleket.
Ha a hálózati nevünkhöz vagy
tartományunkhoz nem tartozik MX rekord, akkor a
levél közvetlenül a gépünkre
vándorol feltéve, hogy rendelkezik olyan A
rekorddal, amely összerendeli a gépünk
nevét az IP-címével.A &man.host.1; parancs használatával az
alábbi példához hasonlóan
tetszõleges tartomány MX rekordját meg tudjuk
nézni:&prompt.user; host -t mx
FreeBSD.org FreeBSD.org mail is handled (pri=10) by
mx1.FreeBSD.orgAz elektronikus levelek fogadásaelektronikus levélfogadásaA tartományunkhoz tartozó leveleket
fogadását a levelezõ szerver végzi.
Összegyûjti a tartományunkba küldött
összes levelet és ezeket a
beállításainktól függõen
vagy mbox (a levelek
tárolásának alapértelmezett
módja) vagy pedig Maildir formátumban
eltárolja. Ahogy eltárolt egy levelet, úgy
helyben egybõl el is tudjuk olvasni például a
&man.mail.1; vagy a mutt
használatával, illetve távolról a
POP vagy IMAP és a
hasonló protokollokkal tudjuk elérni és
begyûjteni. Ezért tehát ha csak a helyi
gépen kívánjuk olvasni a leveleinket, akkor
ahhoz egyáltalán nem kell POP
vagy IMAP szervert
telepítenünk.Távoli postaládák
elérése a POP és
IMAP használatávalPOPIMAPA távoli postaládák
eléréséhez tudnunk kell csatlakozni egy
POP vagy IMAP
szerverhez. Ezeken a protokollokon keresztül
tudják a felhasználók minden
különösebb nehézség
nélkül elérni távolról a
helyi postaládáikat. Noha a
POP és az IMAP
segítségével egyaránt el tudjuk
így érni a postaládákat, az
IMAP használatának
mégis több elõnye van, íme
néhány közülük:Az IMAP a levelek leszedése
mellett tárolni is képes a távoli
szerveren.Az IMAP támogat
párhuzamos lekéréseket.Az IMAP hihetetlenül hasznos
tud lenni lassabb összeköttetések
esetében, mivel lehetõvé teszi a
felhasználók számára, hogy
csak az üzenetek vázát
töltsék le és ne az egészet.
Továbbá a szerver és a kliens
közti adatmozgás csökkentése
érdekében képes bizonyos feladatokat
a szerveren elvégezni, például
keresni.Egy POP vagy IMAP
szerver telepítéséhez az alábbi
lépések megtétele
szükséges:Válasszuk ki az igényeinket legjobban
kielégítõ IMAP vagy
POP szervert. A következõ
POP és IMAP
szerverek eléggé elterjedtek és
egyben remek példák:qpopperteapopimap-uwcourier-imapA Portgyûjteménybõl
telepítsük fel a kiválasztott
POP vagy IMAP
démont.Ha szükséges, akkor a
POP vagy IMAP
szerver betöltéséhez írjuk
át az /etc/inetd.conf
állományt.Meg kell említenünk, hogy mind a
POP és az IMAP
az összes információt, tehát
belértve a felhasználók neveit
és jelszavait titkosítatlan formában
továbbítja. Ez azt jelenti, hogy ha ezeket a
protokollokat biztonságos módon
szeretnénk elérni, akkor az &man.ssh.1;
használatával hozzunk létre
hozzá egy tunnelt és azon keresztül
használjuk. Errõl részletesebben a ban olvashatunk.A helyi postaládák
eléréseA helyi postaládákat a szerveren levõ
levelezõ kliensek közvetlen
használatával érhetjük el. Ilyen
alkalmazások például a
mutt vagy a &man.mail.1;.A levelezõ szerverlevelezõ szerverA levelezõ szerver az a szerver, amely a
gépünk vagy akár az egész
hálózatunk irányába
érkezõ levelek fogadásáért
és elküldéséért
felelõs.ChristopherShumwayÍrta: A sendmail
beállításasendmailA &man.sendmail.8; a &os; alapértelmezett
levéltovábbító ügynöke (Mail
Transfer Agent, MTA). A
sendmail feladata fogadni a
levelezõ kliensektõl (Mail User Agent,
MUA) érkezõ leveleket és
kézbesíteni azokat a konfigurációs
állományában megadott megfelelõ
levelezõnek. A sendmail
hálózati kapcsolatokat is fogad, képes a
helyi postaládákba vagy akár más
programoknak is leveleket továbbítani.A sendmail a következõ
állományban tárolja
beállításait:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableÁllománySzerep/etc/mail/accessA sendmail által
engedélyezett hozzáféréseket
tároló adatbázis/etc/mail/aliasesA postaládák álnevei/etc/mail/local-host-namesAzon nevek felsorolása, amelyek
számára a
sendmail leveleket
fogad/etc/mail/mailer.confA levelezõ programok
beállításai/etc/mail/mailertableA levelezõ programok
kézbesítési
táblázata/etc/mail/sendmail.cfA sendmail központi
beállításait tároló
állomány/etc/mail/virtusertableVirtuális felhasználók és
tartományok táblázatai/etc/mail/accessAz engedélyezett hozzáféréseket
tároló adatbázis tartalmazza milyen
hálózati neveken vagy IP-címeken lehet
elérni a helyi levelezõ szervert és azok
milyen típusú hozzáférést
kapnak. A gépek az (rendben),
(visszautasít),
(továbbítás)
beállításokat alkalmazhatjuk, vagy
egyszerûen meghívhatjuk hozzájuk a
sendmail hibakezelõ
rutinját egy adott kézbesítési
hibával. Ha egy gépet az
beállítással veszük fel a
listára, ami egyébként
alapértelmezés, akkor ez a gép levelet tud
küldeni egészen addig, amíg a
végsõ cél a helyi gép marad. A
beállítással
felsorolt gépek számára semmiféle
levelezés nem engedélyezett. Ha pedig egy
gép mellett a
beállítás jelenik meg, akkor a szerveren
keresztül tetszõleges címre
küldhet.A sendmail
elérését szabályozó
adatbázis beállításacyberspammer.com 550 Nem szeretjuk a spammereket
FREE.STEALTH.MAILER@ 550 Nem szeretjuk a spammereket
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAYEbben a példában öt bejegyzést
láthatunk. A táblázat bal felének
valamelyik sorára illeszkedõ küldõkre a
táblázatban a sor jobb felén megjelenõ
cselekvés érvényesül. Az elsõ
két sorban a sendmail
hibakezelõ rutinjának adunk át
hibakódokat. A hozzátartozó üzenet
akkor fog megjelenni a távoli gépen, amikor a
tõle érkezõ levél illeszkedik a bal
oldali szabályra. Az ezeket követõ
bejegyzésben visszalökünk minden olyan levelet,
amely az internetrõl egy adott
számítógéptõl érkezik,
például az another.source.of.spam
címrõl. A következõ bejegyzésben
az okay.cyberspammer.com
címrõl elfogadjuk a kapcsolódást, ami
viszont sokkal pontosabb megjelölés a fentebb
szereplõ cyberspammer.com sornál. A
pontosabban kifejtett nevek
felülbírálják a kevésbé
pontosan megnevezetteket. Végül az utolsó
bejegyzésben engedélyezzük a levelek
továbbküldését minden olyan gép
számára, amelynek címe a
128.32 elõtaggal kezdõdik. Ezek
tehát képesek ezen a levelezõ szerveren
keresztül bárhova leveleket küldeni.Az állomány módosítása
után az adatbázis
frissítéséhez mindig le kell futtatnunk egy
make parancsot az
/etc/mail/ könyvtárban./etc/mail/aliasesAz álneveket tartalmazó adatbázis
virtuális postaládákat sorol fel, amelyek
más felhasználókra,
állományokra, programokra vagy további
álnevekre vonatkozhatnak. Íme
néhány példa az
/etc/mail/aliases állományban
szereplõ bejegyzésekre:Virtuális postaládákroot: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"A formai szabályok egyszerûek: a kettõspont
bal oldalára kell írni azt a
postaládát, amely a jobb oldalán levõ
célokra bomlik. A példa elsõ sorában
egyszerûen megfeleltetjük a root
postaládáját a
localuser
postaládájának, majd ezt a nevet
keressük az álnevek adatbázisában. Ha
nem találunk már rá illeszkedést,
akkor az üzenetet a localuser
nevû helyi felhasználónak
továbbítjuk. A következõ sorban
címek listáját láthatjuk. Ennek
megfelelõen a ftp-bugs
postaláda címére küldött levelek
három további helyi postaládára
mennek tovább: ezek név szerint a
joe, eric és
paul felhasználók
postaládái. Itt a távoli
postaládák
felhasználó@példa.hu alakban
adhatóak meg. A következõ sor az
állományok használatát
példázza, ahol konkrétan a
/dev/null állományba
irányítjuk át az adott címre
érkezõ leveleket. Az utolsó sorban pedig a
programok használatára láthatunk
példát, ahol ebben az esetben a levél egy
&unix;-os csövön keresztül a
/usr/local/bin/procmail szabványos
bemenetére kerül.Ha megváltoztatjuk ezt az állományt,
akkor utána az adatbázis
frissítéséhez ne felejtsük el
meghívni a make parancsot az
/etc/mail/ könyvtárban./etc/mail/local-host-namesEbben az állományban adhatjuk meg, hogy a
&man.sendmail.8; milyen hálózati neveket fogadjon
el helyi hálózati névként. Ide kell
raknunk azokat a tartományokat vagy címeket,
amelyektõl a sendmail leveleket
fogad el. Például, ha a levelezõ szerver az
minta.com
tartományból és a level.minta.com címrõl fogad el
leveleket, akkor a local-host-names
valahogy így fog kinézni:minta.com
level.minta.comAz állomány módosításakor
a &man.sendmail.8; programot újra kell indítani a
változások
érvényesítéséhez./etc/mail/sendmail.cfAhogy a sendmail központi
konfigurációs állománya, a
sendmail.cf irányítja a
sendmail átfogó
viselkedését, beleértve mindent az e-mail
címek átírásától
kezdve a távoli szervereknek küldött
elutasító üzenetek
küldéséig. Mivel ennyire sokfajta szerepet
tölt be egyszerre, ezért ez a
konfigurációs állomány
meglehetõsen összetett és a
részletezése meghaladná ennek a
leírásnak a határait. Szerencsére
az átlagos levelezõ szerverek esetében ezt az
állományt nagyon ritkán kell
módosítani.A sendmail központi
konfigurációs állománya a
sendmail lehetõségeit
és viselkedését meghatározó
&man.m4.1; makrókból építhetõ
fel. A pontosabb részleteket a
/usr/src/contrib/sendmail/cf/README
állományban találjuk meg.Az állomány megváltoztatása
után a módosítások
érvényesítéséhez újra
kell indítani a sendmail
programot./etc/mail/virtusertableA virtusertable állomány
képezi le a virtuális tartományokhoz
tartozó címeket valódi
postaládák címeire. Ezek a
postaládák lehetnek helyiek, távoliak, az
/etc/mail/aliases állományban
megadott álnevek vagy állományok.Példa a virtuális tartományok
leképezéséreroot@minta.com root
postmaster@minta.com postmaster@noc.minta.net
@minta.com joeA fenti példában megadtunk egy
leképezést a minta.com tartományhoz. Ez az
állomány úgy dolgozódik fel, hogy
fentrõl lefelé illesztõdnek a címek,
egészen az elsõ egyezésig. Az elsõ
bejegyzés szerint a root@minta.com a helyi
root felhasználó
postaládájára képzõdik le. A
következõ bejegyzés szerint a
postmaster@minta.com a noc.minta.net címen
található postmaster
nevû felhasználó
postaládájára képzõdik le.
Végezetül, ha a minta.com címrõl eddig
még semmi sem illeszkedett volna, akkor az utolsó
leképezés veszi át, amely az minta.com tartományon
belül az összes többi címre
küldött levelet a helyi joe
nevû felhasználó
postaládájára képezi le.AndrewBoothmanÍrta: GregoryNeil ShapiroLevelei segítségül
szolgáltak: A levéltovábbító ügynök
megváltoztatásae-maila levéltovábbító
megváltoztatásaAhogy arról már korábban szó
esett, a &os; alapból tartalmazza a
sendmail programot mint
levéltovábbító ügynököt
(MTA, Mail Transfer Agent). Ennélfogva
alapértelmezés szerint ez a felelõs a
kimenõ és beérkezõ levelek
kezeléséért.Számtalan okból eredõen egyes
rendszergazdák azonban mégis szeretnék
lecserélni a rendszerükhöz tartozó
levéltovábbítót. Ennek oka lehet
egyszerûen csak annyi, hogy ki akarunk próbálni
egy másik programot vagy éppen egy olyan
eszközre van szükségünk, amely
kizárólag csak máshol található
meg. Szerencsére a &os; megkönnyíti ezt a
váltást.Az új levéltovábbító
telepítéseA levéltovábbítók széles
köre elérhetõ. A &os;
Portgyûjteményébõl elindulva sok
ilyen programot találhatunk. Természetesen
teljesen mindegy, hogy melyik
levéltovábbítót választjuk
egészen addig, amíg képesek vagyunk &os;
alatt rendesen futtatni.Kezdjük tehát az új
levéltovábbító
telepítésével. Miután sikerült
telepíteni, lehetõségünk van
eldönteni, hogy valóban eleget tesz-e az
igényeinknek, sõt az új szoftvert még
az elõtt be tudjuk állítani, hogy
átvenné a sendmail
helyét. Vigyázzunk azonban, hogy az új
szoftver telepítésekor ne írjon felül
olyan rendszerszintû binárisokat, mint
például a /usr/bin/sendmail.
Másrészt az új levelezõ szoftvert
szolgálatba helyezése elõtt
mindenképpen fontos megfelelõen
beállítanunk.A kiválasztott
levéltovábbító
beállításával kapcsolatban olvassuk
el a hozzátartozó
dokumentációt.A sendmail
letiltása
- A sendmail
- elindításához szükséges
- módszer jelentõsen megváltozott a 4.5-RELEASE
- és 4.6-RELEASE változatok között,
- ezért a letiltásának pontos menete bizonyos
- esetekben eltérhet.
-
Amikor letiltjuk a sendmail
kimenõ levél szolgáltatását,
soha ne felejtsük el pótolni valamilyen más
levelezõ rendszerrel. Ha nem így
cselekszünk, akkor például a
&man.periodic.8; és a hozzá hasonló
programok nem lesznek képesek a tõlük
megszokott módon e-mailben elküldeni a
futásuk eredményét. A rendszer bizonyos
részei ráadásul egy
mûködõ,
sendmail-kompatibilis rendszert
feltételeznek. Ha letiltása után az
alkalmazások továbbra is a
sendmail
segítségével próbálnak
levelet küldeni, akkor ez a levél a
sendmail inaktív
sorába kerülhet, ahonnan soha nem kerül
kézbesítésre.
-
- A &os; 2002/4/4 elõtti 4.5-STABLE vagy annál
- korábbi változata (beleértve a
- 4.5-RELEASE és az azt megelõzõ
- verziókat)
-
- Az /etc/rc.conf
- állományba írjuk be:
-
- sendmail_enable="NO"
-
- Ezzel kikapcsoljuk a sendmail
- számára a beérkezõ levelek
- feldolgozását, de ha a
- /etc/mail/mailer.conf (lásd
- lentebb) nem változik, akkor a
- sendmail továbbra is
- alkalmas lesz levelek küldésére.
-
-
-
-
- A &os; 2002/4/4 utáni 4.5-STABLE vagy
- késõbbi változata (beleértve a
- 4.6-RELEASE és az azt következõ
- változatokat)
-
- A sendmail teljes
- letiltását, beleértve a kimenõ
- levelek kézbesítését, az
- /etc/rc.conf állományban a
- következõ sor hozzáadásával
- kezdeményezhetjük:
-
- sendmail_enable="NONE"
-
- Ha csak a beérkezõ levelek
- feldolgozását akarjuk kikapcsolni, akkor az
- /etc/rc.conf állományban
- ennyit állítsunk be:
-
- sendmail_enable="NO"
-
- Habár ezzel letiltottuk a beérkezõ
- levelek feldolgozását, a helyi
- kézbesítés ennek ellenére
- még továbbra is mûködni fog. A
- sendmail
- indításával kapcsolatos
- beállításokról a
- &man.rc.sendmail.8; man oldalán olvashatunk
- részletesebben.
-
-
-
-
- A &os; 5.0-STABLE és a késõbbi
- változatok
-
A sendmail teljes
leállításához, beleértve a
kimenõ levelekhez tartozó
szolgáltatást is, a következõket kell
megadni az /etc/rc.conf
állományban:sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"Ha csak a sendmail
beérkezõ levelekre vonatkozó
szolgáltatását akarjuk tiltani, akkor
ahhoz az /etc/rc.conf
állományban a következõt
állítsuk be:sendmail_enable="NO"A sendmail
indításával kapcsolatos további
beállításokat az &man.rc.sendmail.8; man
oldalon találjuk.
- Az új levéltovábbító
elindítása a rendszerrel együtt
- Attól függõen, hogy a &os; melyik
- változatát használjuk, a
- rendszerindítás folyamán két
- módszer áll rendelkezésünkre az
- új levélküldõ
- elindítására.
-
-
- A &os; 2002/4/11 elõtti 4.5-STABLE változata
- (beleértve a 4.5-RELEASE és a korábbi
- változatokat)
-
- Hozzunk létre egy szkriptet a
- /usr/local/etc/rc.d
- könyvtárban, adjunk neki .sh
- kiterjesztést és tegyük a
- root felhasználó
- által futtathatóvá. A szkriptnek a
- start és stop
- paramétereket kell tudnia értelmeznie. A
- rendszer indulásakor a rendszerszkriptek a
-
- /usr/local/etc/rc.d/supermailer.sh start
-
- parancsot fogják majd kiadni, de ezt a szerver
- manuális indítására is
- felhasználhatjuk. A rendszer
- leállításakor pedig a rendszerszkriptek a
- stop paramétert fogják
- átadni, vagyis a
-
- /usr/local/etc/rc.d/supermailer.sh stop
-
- parancsot hívják meg, amelyet
- egyébként manuálisan is kiadhatunk a
- szerver leállításához.
-
-
-
-
- A &os; 2002/4/11 utáni 4.5-STABLE változata
- (beleértve a 4.6-RELEASE és késõbbi
- változatokat)
-
- A &os; újabb változataiban alkalmazhatjuk az
- iménti módszert, vagy az
- /etc/rc.conf állományban
- megadhatjuk a
+ Az új levéltovábbítót
+ úgy tudjuk elindítani a rendszerrel együtt,
+ ha az /etc/rc.conf
+ állományba felvesszük a következõ
+ sort, például a
+ postfix esetében:
- mta_start_script="állománynév"
+ &prompt.root; echo 'postfix_enable="YES"' >> /etc/rc.conf
- változót, ahol az
- állománynév
- annak a szkriptnek a neve, amely a rendszerrel együtt
- elindítandó
- levéltovábbítót fogja
- beüzemelni.
+ Az új levéltovábbító
+ így most már magától el fog indulni
+ a rendszer indításakor.
- A sendmail mint a rendszer
alapértelmezett levelezõ eszközének
lecseréléseA sendmail annyira elterjedt
szabványos szoftver a &unix; rendszereken, hogy egyes
szoftverek egyszerûen feltételezik a
jelenlétét. Emiatt sok
levéltovábbítóhoz tartozik egy
sendmail kompatibilis parancssoros
felület is, amellyel igyekeznek megkönnyíteni a
sendmailgyors
lecserélését.Ennek következtében tehát, ha egy
másik levelezõ eszközt használunk, akkor
valamilyen módon meg kell bizonyosodnunk róla,
hogy a szabványos sendmail
binárisok, mint például a
/usr/bin/sendmail, valóban a
kiválasztott levéltovábbítot
fogják aktiválni. Szerencsére a &os;
pontosan emiatt tartalmaz egy &man.mailwrapper.8; nevû
rendszert.Amikor a sendmail
telepítése szerint mûködik, valami
hasonlót fogunk találni az
/etc/mail/mailer.conf
állományban:sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmailEz azt jelenti, hogy amikor az itt felsorolt
általános parancsok közül lefuttatjuk
valamelyiket (például magát a
sendmail parancsot), akkor a rendszer
magától meghívja a
sendmail néven szereplõ wrapper
programot, amely pedig a mailer.conf
alapján kideríti, hogy az adott esetben a
/usr/libexec/sendmail/sendmail
hívására van szükség. Ez a
rendszer megkönnyíti az alapértelmezett
sendmail funkciók helyében
lefuttatandó binárisok
átállítását.Így tehát, ha a
/usr/local/supermailer/bin/sendmail-compat
állományt akarjuk futtatni a megszokott
sendmail helyében, akkor az
/etc/mail/mailer.conf
állományt a következõképpen kell
módosítanunk:sendmail /usr/local/kedvenclevelezõ/bin/sendmail-compat
send-mail /usr/local/kedvenclevelezõ/bin/sendmail-compat
mailq /usr/local/kedvenclevelezõ/bin/mailq-compat
newaliases /usr/local/kedvenclevelezõ/bin/newaliases-compat
hoststat /usr/local/kedvenclevelezõ/bin/hoststat-compat
purgestat /usr/local/kedvenclevelezõ/bin/purgestat-compatA mûvelet befejezéseAhogy a céljainknak megfelelõen mindent
beállítottunk, akkor vagy egyszerûen
leállítjuk a sendmail
neve alatt futó programokat és helyettük
elindítjuk az új szoftverhez tartozókat,
vagy csak újraindítjuk a gépet. Az
újraindítással mellesleg
ellenõrizhetjük azt is, hogy jól
állítottuk be a rendszerünket és az
új levélküldõ tényleg elindul a
rendszerünkkel együtt.A hibák elhárításae-mailhibaelhárításMiért kell teljes hálózati neveket
megadni a gépemen?Elõfordulhat, hogy a hivatkozni
kívánt gép valójában egy
másik tartományban szerepel.
Például, ha az ize.mize.edu gépen vagyunk
és a vagyis nevû gépet
akarjunk innen elérni a mize.edu tartományban,
akkor a teljes hálózati nevével, vagyis
a vagyis.mize.edu néven
kell rá hivatkoznunk, nem pedig egyszerûen csak
vagyis néven.BINDRégebben egyébként ezt a
BSD-típusú BIND névfeloldók
megengedték. A &os; jelenlegi változatai
azonban már olyan BIND
verziót tartalmaznak, amelyek
alapértelmezés szerint már nem engedik
a tartományunkon kívüli relatív
nevek használatát. Tehát a
vagyis vagy a vagyis.ize.mize.edu gép lesz,
vagy a legfelsõ, gyökér tartományban
keresi a rendszer.Ez eltér a korábbi
viselkedéstõl, ahol a keresés
folytatódott a vagyis.mize.edu és vagyis.edu tartományokban
is. Az RFC 1535 elolvasásából ki
fog derülni, hogy miért nem vált be ez a
gyakorlat és hogy miért tekinthetõ
még akár biztonsági résnek
is.Ezt a problémát egyébként
megoldhatjuk annyival, hogy az
/etc/resolv.conf
állományba asearch ize.mize.edu mize.edusor helyett adomain ize.mize.edusort írjuk be. Arra viszont ügyeljünk,
hogy a keresési rend ne lépje át a
helyi és nyilvános
adminisztráció között
meghúzódó határt, ahogy
azt az RFC 1535 nevezi.MX rekordA sendmail szerint a
levél a saját farkába
harapEzt a sendmail gyakran
ismértelt kérdései között a
következõképpen válaszolták
meg:A következõ hibaüzenetet kapom:
553 MX list for taromány.net points back to felé.tartomány.net
554 felhasználó@tartomány.net... Local configuration error
Hogyan oldható meg ez a probléma?
Azt kértük, hogy a tartományba (például tartomány.net) küldött levél
az MX rekord felhasználásával egy adott gépre legyen átirányítva
(ebben az esetben ez a felé.tartomány.net), de a továbbítást végzõ gép
nem ismeri fel magát a tartomány.net címen. Vegyük fel a tartomány.net
tartományt az /etc/mail/local-host-names állományba [melyet a 8.10 elõtti
verziókban /etc/sendmail.cw állománynak hívnak] (ha a
FEATURE(use_cw_file) beállítást használjuk) vagy tegyük hozzá a
Cw tartomány.net sort az /etc/mail/sendmail.cf
állományhoz.A sendmail GYIK a címen
található meg (angolul) és
mindenképpen javasolt elolvasni, ha fel
szeretnénk piszkálni a levelezõ
rendszerünk beállításait.PPPHogyan tudok levelezõ szervert futtatni egy
betárcsázós PPP kapcsolat
esetében?Egy helyi hálózaton levõ &os;-s
gépet akarunk tehát az internethez kapcsolni.
Ez a &os;-s gép lesz a helyi hálózat
leveleket továbbító
átjárója. A PPP kapcsolat nem
dedikált.UUCPMX recordLegalább két módon meg tudjuk
oldani. Az egyik módszer szerint az UUCP
használatára lesz
szükségünk.A másik módszer szerint szereznünk
kell egy éjjel-nappal üzemelõ internetes
szervert, amely majd szolgáltatja a másodlagos
MX rekordot a tartományunkhoz.
Például, ha a cégünk
tartománya a cég.hu
és az internet-szolgáltatónk a szolgáltató.net
névre beállította a
tartományunkhoz a másodlagos MX
rekordokat:cég.hu. MX 10 cég.hu.
MX 20 szolgáltató.net.Végsõ címzettként csak egy
gépet kell megadni (az
/etc/mail/sendmail.cf
állományba a cég.hu
címhez tegyük hozzá a Cw
cég.hu
sort).Amikor a leveleket küldeni akaró
sendmail megpróbál
kézbesíteni, elõször hozzánk
(cég.hu)
próbál csatlakozni a modemes
összeköttetésen keresztül. Ez
valószínûleg
idõtúllépéssel befejezõdik,
mivel nem vagyunk fenn minden pillanatban a neten. A
sendmail ekkor automatikusan a
másodlagos MX rekord által megadott
címre küldi a levelet, tehát a
szolgáltatónkhoz (szolgáltató.net).
Ez a másodlagos MX cím próbálja
majd idõlegesen elérni a gépünket
és kézbesíteni a leveleket az
elsõdleges MX rekord által megadott gépre
(cég.hu).A bejelentkezéskor ezért egy
hasonló szkriptet kell lefuttatnunk:#!/bin/sh
# Tegyük a /usr/local/bin/pppmyisp állományba:
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispHa készítünk egy külön
bejelentkezõ szkriptet a felhasználók
számára, akkor a sendmail
-qRcég.hu
parancsot is használhatjuk a fenti szkript helyett.
Ezzel a cég.hu
sorában található összes
levél azonnal feldolgozásra kerül.A helyzetet így lehetne még jobban
pontosítani:Az alábbi üzenet a &a.isp;
archívumából származik.> we provide the secondary MX for a customer. The customer connects to
> our services several times a day automatically to get the mails to
> his primary MX (We do not call his site when a mail for his domains
> arrived). Our sendmail sends the mailqueue every 30 minutes. At the
> moment he has to stay 30 minutes online to be sure that all mail is
> gone to the primary MX.
>
> Is there a command that would initiate sendmail to send all the mails
> now? The user has not root-privileges on our machine of course.
In the privacy flags section of sendmail.cf, there is a
definition Opgoaway,restrictqrun
Remove restrictqrun to allow non-root users to start the queue processing.
You might also like to rearrange the MXs. We are the 1st MX for our
customers like this, and we have defined:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
That way a remote site will deliver straight to you, without trying
the customer connection. You then send to your customer. Only works for
hosts, so you need to get your customer to name their mail
machine customer.com as well as
hostname.customer.com in the DNS. Just put an A record in
the DNS for customer.com.Az idézet fordítása:> Másodlagos MX rekordot biztosítunk az ügyfeleinknek. Az ügyfelek ezután automatikusan
> csatlakoznak naponta akár többször is a szolgáltatásunkhoz és leszedik az elsõdleges MX
> rekordhoz tartozó leveleket. (Nem szólunk neki, amikor a tartományához levél
> érkezik.) A sendmail programunk minden 30 percben elküldi a sorban felhalmozódott
> leveleket. Tehát jelen pillanatban legalább 30 percig fenn kell lennie az ügyfélnek, hogy
> rendben megkapja az elsõdlegesre MX rekordra.
>
> Létezik valamilyen parancs a sendmail programhoz, amellyel azonnal lekérhetjük az összes
> levelünket? A felhasználómnak természetesen nincsenek rendszergazdai jogosultságai az adott
> gépen.
A sendmail.cf privacy flags beállításai között van egy definíció, az
Opgoaway,restrictqrun.
Vegyük ki innen a restrictqrun beállítást, amivel a nem root felhasználók is megindíthatják a
sor feldolgozását. Valószínûleg az MX-ek átrendezésére is szükség lesz. Mi vagyunk az elsõ MX
az ilyen típusú ügyfelek számára, és ezt adtuk meg:
# Ha mi vagyunk a legjobb MX a levél számára, akkor ne generáljunk
# helyi beállítási hibát, hanem próbálkozzunk közvetlenül.
OwTrue
Ezzel már a távoli gép közvetlenül nekünk küld anélkül, hogy próbálkozna az ügyfél kapcsolatával.
Ezt majd továbbküldjünk az ügyfélnek. Ez csak hálózati nevek esetében mûködik, tehát az ügyfelünknek
el kell neveznie a leveleket fogadó gépét customer.com-nak, valamint a fel kell venni a
hostname.customer.com címet is a DNS-be. Ehhez egyszerûen csak elegendõ egy A rekordot
betenni a customer.com-hoz.Miért kapok folyton Relaying
Denied hibát, amikor más
gépekrõl küldök levelet?A &os; alapértelmezett telepítése
során a sendmail
úgy állítódik be, hogy csak
arról a géprõl küldhetünk vele
levelet, ahol fut. Például, ha
POP szerver is elérhetõ,
akkor a felhasználók meg tudják
nézni a leveleiket az iskolából,
munkából vagy bármilyen más
távoli helyrõl, de leveleket onnan
továbbra sem tudnak küldeni.
Általában pár pillanattal a
próbálkozás után a
MAILER-DAEMON küldeni fog
egy 5.7 Relaying Denied
(5.7 A továbbítás nem
engedélyezett) üzenetet.Több lehetõségünk is van ennek
megkerülésére. Az a legegyszerûbb
módszer, ha az internet-szolgáltatónk
címét felvesszük az
/etc/mail/relay-domains
állományba. Például
így:&prompt.root; echo "az.internet.szolgáltató.net" > /etc/mail/relay-domainsAz állomány létrehozása vagy
módosítása után újra kell
indítanunk a sendmail
programot. Ez remekül mûködik abban az
esetben, ha rendszergazdák vagyunk és nem
akarunk a helyi géprõl levelet küldeni,
vagy egy másik gépen vagy akár
másik internet-szolgáltatóval akarunk
valamilyen kattingatós levelezõ programot
használni. Olyankor is nagyon hasznos lehet, amikor
csak egy vagy két e-mail
hozzáférést állítottunk
be. Ha egyszerre több címet is fel
szeretnénk venni, akkor nyissuk meg ezt az
állományt a kedvenc
szövegszerkesztõnkkel és írjuk be a
tartományokat, soronként egyet:saját.internet.szolgáltató.net
másik.internet.szolgáltató.com
felhasználók-internet.szolgáltató.ja
www.minta.orgInnentõl kezdve a listában szereplõ
bármelyik géprõl tudunk levelet
küldeni (feltéve, hogy az adott
felhasználó hozzáfér a
gépünkhöz). Ezzel
gyönyörûen megoldhatjuk, hogy a
felhasználóink képesek legyenek
távolról is levelet küldeni a
rendszerünkön keresztül anélkül,
hogy mások pedig szemetet küldenének
át rajtunk.Komolyabb témákA következõ szakaszban szóba kerülnek
olyan komolyabb témák, mint például a
levelek konfigurációja és a levelezés
beállítása az egész tartomány
számára.Alapvetõ beállításoke-mailbeállításAlapból képesnek kell lennünk leveleket
küldeni külsõ gépekre egészen
addig, amíg az /etc/resolv.conf
állomány a megfelelõ
beállításokat tartalmazza vagy egy
saját névszervert futtatunk. Ha
szeretnénk, hogy a gépünkre
érkezõ levelek elérjék a &os;-s
gépünkön futó
levéltovábbító
ügynököt (például a
sendmail programot), akkor erre
két módszer kínálkozik:Futtassunk saját névszervert és
hozzunk létre magunknak egy tartományt.
Például FreeBSD.org.Közvetlenül a gépünkre
küldessük a leveleket. Ezt úgy
tehetjük meg, ha egybõl a
gépünkhöz tartozó DNS névre
küldetjük a leveleket. Például az
enyem.FreeBSD.org
címre.SMTPFüggetlenül attól, hogy a fentiek
közül melyik megoldást választjuk, a
levelek csak akkor tudnak eljutni közvetlenül a
gépünkre, ha állandó, statikus
IP-címmel rendelkezünk (tehát nem dinamikus
címmel, amit általában a
betárcsázós PPP kapcsolatokhoz szoktak
kiosztani). Ha tûzfal mögött vagyunk, akkor
valamilyen módon felénk kell
irányítani az SMTP forgalmat is. Ha
közvetlenül a gépünkön akarjuk
fogadni a leveleket, akkor a következõ kettõ
közül az egyik mindenképpen kelleni fog:MX rekordGondoskodjunk róla, hogy a hozzánk
tartozó DNS-ben (legkisebb sorszámú) MX
rekord a gépünk IP-címére
mutat.Gondoskodjunk róla, hogy a hozzánk
tartozó DNS-ben nincs semmilyen MX rekord a
gépünkhöz.A fentiek közül bármelyik elég
ahhoz, hogy közvetlenül a gépünkre
érkezzen meg a levél.Próbáljuk ki:&prompt.root; hostname
enyem.FreeBSD.org
&prompt.root; host enyem.FreeBSD.org
enyem.FreeBSD.org has address 204.216.27.XXHa ezt látjuk, akkor minden gond nélkül
lehet küldeni levelet a nevem@enyem.FreeBSD.org a címre
(feltételezve, hogy a sendmail
megfelelõen mûködik az enyem.FreeBSD.org címen).Ha viszont ehhez hasonlót tapasztalunk:&prompt.root; host enyem.FreeBSD.org
enyem.FreeBSD.org has address 204.216.27.XX
enyem.FreeBSD.org mail is handled (pri=10) by kozpont.FreeBSD.orgA gépünkre (enyem.FreeBSD.org) küldött
összes levelet a kozpont szedi össze
ugyanazon felhasználói névvel ahelyett,
hogy közvetlenül a gépünkre küldeni
ezeket.Az iménti adatokat a DNS szerver határozza
meg. A levelek továbbításával
kapcsolatos információkat az
MX mint Mail
eXchange DNS-rekord tárolja. Ha
nincs ilyen MX rekord, akkor az IP-cím alapján
közvetlenül az adott géphez kerül a
levél.Például a freefall.FreeBSD.org MX rekordja
hajdanán így nézett ki:freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comLáthatjuk, hogy a freefall
esetében több MX bejegyzés is szerepel. A
legalacsonyabb MX-számú gép fogja kapni az
erre a címre beérkezõ leveleket, amennyiben
elérhetõ. Ha valamilyen okból nem
érhetõ el, akkor helyette ideiglenesen a
többiek (melyeket néha csak tartalék
MX-eknek neveznek) veszik át a levelet és
átadják a legalacsonyabb számúnak,
amint az újra elérhetõvé
válik.A tartalék jelleggel megadott MX gépek akkor
érnek ténylegesen valamit, ha teljesen
máshonnan csatlakoznak az internethez. Az internet
szolgáltató vagy egy ismerõsünk
gépe valószínûleg minden
további nélkül segít ennek
megoldásában.Egy egész tartomány leveleinek
kezeléseEgy levelezõ szerver
beállításához valahogy meg kell
tudnunk oldalni, hogy a különbözõ
munkaállomásokra küldött levelek
közvetlenül hozzá fussanak be. Alapvetõen
tehát arról lenne szó, hogy a
tartományunkon (ez ebben az esetben a *.FreeBSD.org) belüli gépekre
címzett levelekre ez a gép tart
igényt és így ezek ide
irányítódnak át, majd a
felhasználók errõl a központi
levelezõ szerverrõl kapják meg a
leveleiket.DNSAz életünk
megkönnyítéséhez minden
felhasználónak létrehozzuk a saját
felhasználói nevét a
levelezõ szerveren is. Ezt az &man.adduser.8; paranccsal
gyorsan el is végezhetjük.A levelezõ szerver lesz a hálózat
összes munkaállomásához kirendelt
levélváltó. Ezt a DNS
beállításai között így
adhatjuk meg:enyem.FreeBSD.org A 204.216.27.XX ; Munkaállomás
MX 10 kozpont.FreeBSD.org ; Levelezõ szerverEzzel lényegében az A rekord figyelmen
kívül hagyásával
átirányítjuk a munkaállomások
számára érkezõ összes levelet a
levelezõ szerverre. A levelek tehát az MX rekord
által mutatott címre mennek ki.Ezt önállóan nem tudjuk elvégezni,
hacsak nem futattunk egy saját DNS szervert. Ha nincsen
vagy nem is tudunk DNS szervert futtatni, akkor ebben a
kérdésben egyeztessünk az
internet-szolgáltatónkkal vagy bárkivel,
aki a DNS beállításaiért
felelõs.Ha virtuális e-mail címket is kezelünk,
akkor a most következõ információ
még a hasznunkra lehet. A példa
kedvéért most feltesszük, hogy a
tartományunkban van egy ügyfelünk, jelen
esetben az ugyfel1.org,
és azt akarjuk, hogy az ugyfel1.org címére
küldött levelek a saját levelezõ
szerverünkre kerüljenek át, a level.sajat.com címre. A DNS-t
ehhez így kell beállítani:ugyfel1.org MX 10 level.sajat.comHa csak az ugyfel1.org
levelezését akarjuk kezelni, akkor ahhoz
nem kell külön A rekord.Vigyázzunk, mert az ugyfel1.org csak akkor
pingelhetõ, ha létezik hozzá A
rekord.Befejezésül a levelezõ
szerverünkön futó
sendmail számára is fel
kell tárnunk, hogy milyen tartományokhoz
és/vagy hálózati nevekhez fogadjon
leveleket. Ezt több módon is
elvégezhetjük. A következõk
bármelyik megfelel erre a célra:A FEATURE(use_cw_file)
használata esetén vegyük fel a
címeket az
/etc/mail/local-host-names
állományba. Ha a
sendmail 8.10 elõtti
változatai esetében ehhez az
/etc/sendmail.cw
állományra lesz
szükségünk.Tegyük be a Cwsajat.cimunk.com
sort az /etc/sendmail.cf vagy a
sendmail 8.10 és
késõbbi változatai esetén az
/etc/mail/sendmail.cf
állományba.SMTP és az UUCPA &os;-hez tartozó sendmail
olyan gépek számára lett kialakítva,
amelyek közvetlenül az internethez csatlakoznak. Az
UUCP használatával levelezõ rendszerek
számára egy másik konfigurációs
állományt kell telepíteni a
sendmail számára.Az /etc/mail/sendmail.cf
állítása kézzel
egyáltalán nem könnyû. A
sendmail 8. változata
ráadásul a konfigurációs
állományokat az &man.m4.1; elõfeldolgozó
segítségével gyártja le, ahol a
tényleges beállítások egy magasabb
absztrakciós szinten jelennek meg. Az &man.m4.1;
típusú konfigurációs
állományok a
/usr/share/sendmail/cf
könyvtárban találhatóak. A
cf alkönyvtárban levõ
README állomány igyekszik a
felhasználót bevezetni az &man.m4.1; alapú
beállítások világába.A mailertable nevû
lehetõség használatával tudjuk a
legjobban támogatni az UUCP protokollon keresztüli
kézbesítést. Ezzel felépül egy
olyan adatbázis, amelyet a
sendmail fel tud használni a
továbbítást érintõ
döntésekben.Ehhez elsõként hozzuk is létre a
saját .mc állományunkat.
Ehhez a /usr/share/sendmail/cf/cf
könyvtár tartalmaz néhány
példát. Hívjuk most ezt az
állomnyunkat ize.mc néven. A
következõ módszerrel tudjuk egy valós
sendmail.cf állománnyá
alakítani:&prompt.root; cd /etc/mail
&prompt.root; make ize.cf
&prompt.root; cp ize.cf /etc/mail/sendmail.cfEgy átlagos .mc
állomány egyébként valahogy így
épül fel:VERSIONID(`verziószám') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', sajat.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw sajat.al.nev
Cw azuucpgepneve.UUCPAz accept_unresolvable_domains,
nocanonify és
confDONT_PROBE_INTERFACES
lehetõségekre hivatkozó sorok
megakadályozzák, hogy a levél
kézbesítésében a DNS is szerepet
játsszon. Az UUCP_RELAY az UUCP
alapú kézbesítés
támogatását engedélyezi.
Egyszerûen csak írjunk ide egy internetes
hálózati nevet, amely képes feldolgozni az
.UUCP áltartomány címeit. Az esetek
többségében ide az
internet-szolgáltatónk levelek
továbbküldéséért felelõs
gépe kerül.Miután ezzel végeztünk,
szükségünk lesz még az
/etc/mail/mailertable
állományra is. Ha a külvilág
felé csak egyetlen összeköttetést
használunk a levelekhez, akkor az alábbi pontosan
megfelel:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:sajat.uucp.relayEgy bonyolultabb példa pedig így néz
ki:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:Az elsõ három sor azokat a speciális
eseteket kezeli, ahol a tartomány felé
küldött levelek nem az alapértelmezett
úton visszük tovább, hanem valamelyik UUCP
szomszéd felé és így le tudjuk
rövidíteni a kézbesítés
útvonalát. Az ezeket követõ sor dolgozza
fel a helyi Ethernet tartomány felé STMP protokollal
továbbítható leveleket. Végül az
UUCP szomszédokat is felsoroljuk az .UUCP
áltartomány jelölése szerint, így
megengedjük, hogy a
uucp-szomszéd!
címzett
felülbírálja az alapértelmezett
szabályokat. Az utolsó sorban mindig egyetlen pont
szerepel, ami minden másra illeszkedik, így az UUCP
kézbesítés egy olyan UUCP szomszéd
felé halad, amely a világ felé egy
univerzális levelezõ átjárónak
tekinthetõ. A uucp-dom: kulcsszó
mögött szereplõ összes csomópont
nevének érvényes UUCP szomszédra kell
utalnia, amelyet a uuname paranccsal le is
tudunk ellenõrizni.A feladatból már csak annyi maradt hátra,
hogy használat elõtt ezt az állományt
át kell alakítani DBM adatbázis
formátumba. Az ehhez szükséges parancsot
érdemes mailertable
állomány elejére bejegyzésben
felírni. A mailertable
megváltoztatásakor mindig le kell futtatni ezt a
parancsot.Utolsó jótanács: ha nem lennénk
biztosak valamelyik kézbesítési
útvonal mûködésében, ne
felejtsük el a sendmail
beállítását.
Ezzel a sendmail az ún.
címtesztelõ módban
(address test mode) indul el. Gépeljük be, hogy
3,0, majd írjuk be a tesztelni
kívánt címet. Az utolsó sorban
láthatjuk a felhasznált belsõ
levéltovábbító
ügynököt, a célgépet, amellyel ezt
meghívjuk, és a (valószínûleg az
átfordított) címet. Innen a CtrlD
billentyûkombinációval léphetünk
ki.&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 ize@pelda.com
canonify input: ize @ pelda . com
...
parse returns: $# uucp-dom $@ sajat.uucp.relay $: ize < @ pelda . com . >
>^DBillMoranKészítette: Csak küldés
beállításaGyakran elõfordulhat, hogy csak leveleket akarunk
továbbküldeni. Mint például:Asztali számítógépünk
van, de használni akarunk olyan programokat, mint
például a &man.send-pr.1;. Ehhez az
internet-szolgáltatón keresztül kell
továbbküldeni a levelet.A számítógépünk egy olyan
szerver, amely nem helyben kezeli a leveleket, ezért az
összeset átküldi feldolgozásra.Szinte bármelyik levélküldõ
ügynök képes betölteni ezt az ûrt.
Sajnos eléggé bonyolult helyesen
beállítani úgy egy bármire
képes levélküldõt, hogy egyszerûen
csak szabaduljon meg a levelektõl. Ilyenkor a
sendmail vagy a
postfix használatával
tulajdonképpen ágyúval lövünk
verébre.Továbbá, ha egy átlagos
internet-hozzáféréssel rendelkezünk,
adódhat, hogy a szerzõdés egyszerûen
tiltja a levelezõ szerver
futtatását.Legegyszerûbben úgy tudjuk
kielégíteni az ilyen jellegû igényeket,
ha feltelepítjük a mail/ssmtp portot. A
root felhasználóval adjuk ki a
következõ parancsokat:&prompt.root; cd /usr/ports/mail/ssmtp
&prompt.root; make install replace cleanTelepítése után a mail/ssmtp portot a mindössze
négysoros
/usr/local/etc/ssmtp/ssmtp.conf
állománnyal állíthatjuk be:root=valodiemail@minta.com
mailhub=level.minta.com
rewriteDomain=minta.com
hostname=_GEPNEV_A root felhasználó
számára feltétlenül egy valódi
e-mail címet adjuk meg. A level.minta.com helyére az
internet-szolgáltatónk kimenõ leveleket
továbbító szerverét adjuk meg
(bizonyos szolgáltatók ezt kimenõ
levelezõ szervernek vagy SMTP
szervernek nevezik).Ne felejtsük el sendmail
démont sem letiltani, beleértve a kimenõ
levelek kezelését. Ennek részleteit
lásd a ban.A mail/ssmtp
használatánál még adhatunk meg
további beállításokat is. A
/usr/local/etc/ssmtp
állományban vagy az ssmtp
man oldalán találhatunk példákat
és olvashatunk bõvebben a
témáról.Az ssmtp ilyen fajta
beállításával a
számítógépünkön levõ
szoftverek is helyesen fognak mûködni, miközben nem
sértjük meg az internet-szolgáltató
elõírásait és nem tesszük
lehetõvé, hogy a
számítógépünkrõl
levélszemetet küldhessenek.Levelezés betárcsázós
kapcsolattalHa statikus IP-címünk van, akkor az
alapértelmezett beállítások
tökéletesen megfelelõek számunkra.
Csupán a gépünkhöz tartozó
internetes címet kell megadnunk a gépünk
nevének és a sendmail
elvégzi a többit.Ha viszont dinamikusan kiosztott IP-címmel
rendelkezünk és betárcsázós
PPP kapcsolaton keresztül csatlakozunk az
internethez, akkor valószínûleg az
internet-szolgáltató levelezõ szerverén
van egy postaládánk. Most tegyük fel, hogy a
internet-szolgáltató tartománya a szolgaltato.net és a
felhasználói név a
felhasznalo, a gépünk neve pedig
otthoni.bsdm, valamint az
internet-szolgáltató részérõl
levelezésre a
relay.szolgaltato.net gépet
használhatjuk.A postaládánkból úgy tudjuk
letölteni a leveleket, ha telepítünk hozzá
egy programot. Erre a feladatra a
fetchmail hibátlanul alkalmas,
mivel több különbözõ protokollt ismer.
Ez a program csomagként vagy a
Portgyûjteménybõl (mail/fetchmail) is elérhetõ.
Az internet-szolgáltatók erre
általában a POP protokollt
ajánlják fel. Ha a felhasználói
PPP alkalmazást használjuk,
állítsuk be az
/etc/ppp/ppp.linkup állományt a
következõ módon és így a
csatlakozáskor maguktól letöltõdnek a
leveleink:MYADDR:
!bg su felhasznalo -c fetchmailHa a sendmail
segítségével küldjük tovább
a leveleket a nem helyi hozzáférések
felé (ahogy azt lentebb is láthatjuk), akkor minden
bizonnyal a csatlakozáskor arra is
szükségünk lesz, hogy a leveleket
tároló sor is feldolgozódjon. Ezt úgy
oldhatjuk meg, ha az /etc/ppp/ppp.linkup
állományba a fetchmail parancs
után a következõt tesszük: !bg su felhasznalo -c "sendmail -q"Ez a példa feltételezi, hogy az otthoni.bsdm gépen van egy
felhasznalo nevû
felhasználónk. Az otthoni.bsdm gépen a
felhasznalo felhasználói
könyvtárában hozzunk létre egy
.fetchmailrc állományt:poll szolgaltato.net protocol pop3 fetchall pass TitkosJelszoEzt az állományt csak és
kizárólag a felhasznalo
olvashatja, mivel szerepel benne a hozzátartozó
TitkosJelszo.Úgy tudunk a megfelelõ from:
fejléccel küldeni, ha felvilágosítjuk a
sendmail programot, hogy ne az
felhasznalo@otthoni.bsdm címet, hanem a
felhasznalo@szolgaltato.net címet
használja. Sõt, a gyorsítás
kedvéért a sendmail
számára érdemes elárulni, hogy a
relay.szolgaltato.net címen
keresztül küldjön.A munka elvégzéséhez elegendõ az
alábbi .mc
állomány:VERSIONID(`otthoni.bsdm.mc 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwotthoni.bsdm
MASQUERADE_AS(`szolgaltato.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.szolgaltato.net')
Dmotthoni.bsdm
define(`confDOMAIN_NAME',`otthoni.bsdm')dnl
define(`confDELIVERY_MODE',`deferred')dnlAz elõzõ szakaszban találhatjuk meg annak a
módját, hogy miként varázsoljunk
ebbõl az .mc
állományból egy
sendmail.cf állományt. A
sendmail.cf frissítése
után pedig ne felejtsük el a
sendmail
újraindítását!JamesGorhamÍrta: Az SMTP hitelesítéseLevelezõ szerverünkön az
SMTP protokoll
hitelesítésének (SMTP
Authentication) engedélyezése több
szempontból is elõnyökkel bír. Az
SMTP hitelesítésének
bekapcsolása egy újabb réteget képez a
sendmail védelmében,
és az olyan állandóan mozgásban
levõ felhasználók számára is
megoldást nyújt, akik anélkül
képesek használni ugyanazt a levelezõ szervert,
hogy minden alkalommal újrakonfigurálnák a
levelezõ kliensüket.Telepítsük fel a security/cyrus-sasl2 portot. A
security/cyrus-sasl2 port
több fordítási idejû
beállítást támogat. Itt most az
SMTP hitelesítését
fogjuk használni, ezért gondoskodjunk a
opció
engedélyezésérõl.A security/cyrus-sasl2
telepítés után nyissuk meg
szerkesztésre a
/usr/local/lib/sasl2/Sendmail.conf
állományt (vagy ha még nem
létezne, hozzuk létre), és benne
vegyük fel a következõ sort:pwcheck_method: saslauthdEzt követõen telepítsük a security/cyrus-sasl2-saslauthd
portot, és tegyük bele az
/etc/rc.conf állományba ezt
a sort:saslauthd_enable="YES"Végezetül indítsuk el a saslauthd
démont:&prompt.root; /usr/local/etc/rc.d/saslauthd startEz a démon fog közvetíteni a
sendmail és a &os;
passwd adatbázisa közti
hitelesítésben. Ezzel elkerülhetjük
az új felhasználói nevek és
jelszavak felvételét az SMTP
hitelesítés használatához,
így a hozzáférések és a
levelezés jelszava ugyanaz marad.Most pedig írjuk hozzá az alábbi
sorokat az /etc/make.conf
állományhoz:SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2Ezek a sorok állítják be a
sendmail számára,
hogy fordítás közben a cyrus-sasl2 függvényeit
használja. A sendmail
újrafordítása elõtt
mindenképpen legyen fenn a cyrus-sasl2 port.A sendmail
újrafordítását a
következõ parancsok
végrehajtásával intézhetjük
el:&prompt.root; cd /usr/src/lib/libsmutil
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/lib/libsm
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir && make obj && make && make installA sendmail
fordítása esetén semmilyen
problémának nem szabadna elõfordulnia,
kivéve ha a /usr/src
könyvtárat és a szükséges
osztott könyvtárakat nem változtatjuk
idõközben túlságosan gyakran.A sendmail
lefordítása és
újratelepítése után
szerkesszük át az
/etc/mail/freebsd.mc
állományt (vagy azt az .mc
állományt, amelyet éppen
használunk). Sok rendszergazda a &man.hostname.1;
parancs válaszát használja fel az
.mc típusú
állományok egyedi elnevezéséhez).
Írjuk bele a következõ sorokat:dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnlEzek állítják be a
sendmail számára a
felhasználók hitelesítésére
alkalmas különbözõ módszereket. Ha
a pwcheck módszer helyett
valami mást akarunk használni, akkor
járjunk utána a
dokumentációban.Zárásul futassuk le a &man.make.1; parancsot
az /etc/mail könyvtárban.
Így lefut az új .mc
állományunk és létrejön egy
freebsd.cf (vagy amilyen nevet az
.mc állománynak megadtunk)
.cf állomány.
Ezután a make install restart
parancs kiadásával másoltassuk át
ezt a sendmail.cf helyére
és szabályosan indítassuk újra a
sendmail
szolgáltatást. A folyamatról
részletesebb tájékoztatást az
/etc/mail/Makefile állomány
tud nyújtani.Ha eddig minden a legnagyobb rendben történt,
akkor most már képesek vagyunk bejelentkezési
információt is átadni a levelezõ
kliensnek és elküldeni egy tesztüzenetet. A
hibák kiszûréséhez
állítsuk a sendmail
opcióját az 13
értékre és figyeljük a
/var/log/maillog
állományt.További felvilágosításért
olvassuk el a sendmail
SMTP hitelesítéssel
foglalkozó oldalát (angolul).MarcSilverKészítette: Levelezõ klienseklevelezõ kliensekA levelezõ kliens (Mail User Agent,
MUA) egy olyan alkalmazás, amelyik
elektronikus levelek küldésére és
fogadására használható.
Azonkívül, ahogy az e-mail
fejlõdik és egyre bonyolultabbá
válik, a levelezõ kliensek is egyre inkább
erõsebbé válnak abban a tekintetben, ahogy az
e-maileket kezelik. Ezzel együtt a
felhasználók is egyre több
lehetõséget és rugalmasságot kapnak. A
&os; számos levelezõ klienst támogat,
mindegyikük könnyedén telepíthetõ a
&os; Portgyûjteménye
segítségével. A felhasználók
választhatnak a grafikus kliensek, mint
például az evolution vagy
a balsa és a konzolos kliensek,
például a mutt,
pine vagy mail
között, esetleg használhatják a nagyobb
szervezetek részérõl felkínált
webes felületeket is.mailA &man.mail.1; a &os; alapértelmezett levelezõ
kliense. Egy olyan konzolos alkalmazás, amelyben
elérhetjük az e-mailek küldéséhez
és fogadásához szükséges
összes alapvetõ funkciót, habár a
csatolmányokat csak korlátozottan képes
kezelni és csak a helyi postaládákat
kezeli.Annak ellenére, hogy a mail
önmaga nem képes kommunikálni
POP vagy IMAP
szerverekkel, az ilyen postaládák tartalmát
egy fetchmail-szerû
alkalmazással (lásd ) le tudjuk tölteni a
számára is elérhetõ helyi
mbox állományba.A levelek küldéséhez és
fogadásához egyszerûen hívjuk be a
mail programot a következõ
módon:&prompt.user; mailEzután a /var/mail könyvtárban
található felhasználói
postaládánk tartalmát automatikusan
beolvassa a mail segédprogram. Ha a
postaláda üres, akkor a program egybõl befejezi
futását és közli, hogy nem
talált levelet. Amikor viszont tudott beolvasni
leveleket, megjelenik egy felület, ahol a beérkezett
üzenetek listáját láthatjuk. Az
üzenetek automatikusan sorszámozódnak, ahogy
ezt az alábbi példa is szemlélteti:Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "proba"
N 2 root@localhost Mon Mar 8 14:05 14/509 "felhasznaloi hozzaferes"
N 3 root@localhost Mon Mar 8 14:05 14/509 "minta"Az üzenetek olvasásának a
t paranccsal kezdhetünk neki, amelyet az
elolvasandó üzenet sorszáma követ.
Ebben a példában az elsõ e-mailt nyitjuk
meg:& t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: proba
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
Ezt az uzenetet probabol kuldom, valaszolj ra, ha megkaptad.Ahogy az a fenti példából is
látszik, a t billentyû
hatására az üzenet a teljes
fejlécével együtt jelenik meg. Az
üzenetek listáját a h
billentyûvel hozhatjuk vissza.Ha egy levélre válaszolni szeretnénk,
akkor ezt a mail paranccsal is
megtehetjük, vagy az R vagy az
r parancsokkal. Az R arra
utasítja a mail programot, hogy csak
az üzenet küldõjének válaszoljon,
míg az r hatására nem
csupán a küldõ, hanem az üzenet
összes címzettje megkapja a válaszunkat. A
parancshoz hozzátûzhetjük egy levél
sorszámát is, ekkor az adott levélre fogunk
válaszolni. Miután kiadtuk a parancsot,
írjuk meg a válaszunkat és új sorban
kezdve zárjuk le az üzenetet egyetlen
. beírásával. Valahogy
így:& R 1
To: root@localhost
Subject: Re: proba
Koszonom, megkaptam a leveledet.
.
EOTÚj levelet az m
segítségével tudunk küldeni, ami
után meg kell adnunk a címzettet. Egyszerre
több címzettet is meg tudunk adni, ha a
címzett helyén címeiket egy
, karakterrel elválasztva soroljuk fel.
Ezután a levél témája is
megadható, amit végül a levél
szövege követ. Az üzenetet egy új sorban
megadott egyetlen .
segítségével zárhatjuk le.& mail root@localhost
Subject: Elsajatitottam a mail hasznalatat
Most mar en is tudok levelet irni es fogadni a mail hasznalataval... :)
.
EOTAmikor a mail segédprogramban
vagyunk, a ? használatával
bármikor segítséget kérhetünk,
valamint a mail
mûködésével kapcsolatban a &man.mail.1;
man oldalát érdemes felkeresni.Ahogy azt már korábban is
említettük, a &man.mail.1; parancsot eredetileg
nem készítették fel az csatolt
állományok kezelésére,
ezért igen gyengén bánik velük. Az
újabb levelezõ kliensek, mint
például a mutt, a
csatolt állományokat sokkal intelligensebb
módon kezelik. Ha viszont ragaszkodunk a
mail használatához, akkor a
converters/mpack port
használatát érdemes megfontolnunk.muttA mutt apró mérete
ellenére egy igen komoly levelezõ kliens és
remek lehetõségeket ajánl fel. Íme
ízelítésképpen
közülük néhány:Képes az üzeneteket szálakba
rendezniAz e-mailek titkosítására és
elektronikus aláírására
támogatja a PGP használatátMIME támogatásMaildir támogatásNagyfokú testreszabhatóságEzen lehetõségei révén a
mutt ez egyik legfejlettebb
levelezõ kliens. A mutt
részletesebb bemutatását a címen találjuk
(angolul).A mutt stabil változata a
mail/mutt port
használatával telepíthetõ fel,
miközben a fejlesztés alatt levõ
változatot a mail/mutt-devel port telepíti.
Miután a portot sikerült felraknunk, a
mutt az alábbi parancs
begépelésével indítható
el:&prompt.user; muttA mutt indulása
után automatikusan beolvassa a /var/mail könyvtárban
megtalálható felhasználói
postaládát és ha lehetséges, akkor
megjeleníti a tartalmát. Ha nincsen levél
a felhasználó postaládájában,
akkor a mutt a
felhasználó parancsaira vár. Ezen a
képen a mutt
üzenetlistája látható:A levelek elolvasásához egyszerûen csak
válasszuk ki a kurzorral és nyomjuk meg az
Enter billentyût. Ezután a
mutt így mutatja a
levelet:Ahogy azt már a &man.mail.1; parancsnál is
megszokhattuk, a mutt is
lehetõvé teszi, hogy vagy csak a küldõnek,
vagy pedig rajta kívül még az összes
címzettnek is válaszoljunk. A levél
küldõjének az r
lenyomásával tudunk válaszolni. A
csoportos válaszadáshoz pedig, ahol tehát a
küldõn kívül a címzettek is
megkapják a levelünket, a g
billentyût kell használni.A mutt az e-mailek
létrehozásához és
megválaszolásához a &man.vi.1;
szövegszerkesztõt használja. Ezt úgy
tudjuk átállítani, ha a
könyvtárunkban található
.muttrc állományban
átírjuk az editor
változót, vagy értéket adunk az
EDITOR környezeti
változónak. A mutt
beállításáról többet a
címen
tudhatunk meg.Egy új levél megírásához
nyomjuk le az m gombot. Miután
elláttuk érvényes témával a
levelet, a mutt elindítja a
&man.vi.1; szövegszerkesztõt és
nekiláthatunk a levél szövegének.
Amint befejeztük, mentsük el és
lépjünk ki a vi
szerkesztõbõl. Ezután visszakapjuk a
mutt felületét, ahol a
küldendõ e-mail összefoglalását
láthatjuk. A levelet végül az
y lenyomásával
küldhetjük el. Erre a következõ
képen láthatunk egy példát:A mutt ezenkívül
még rengeteg segítséget is tartalmaz,
amelyet a legtöbb menübõl a ?
gomb lenyomásával érhetünk el. A
felsõ sorban mindig láthatjuk a kiadható
parancsok rövid összefoglalását.pineA pine alapvetõen a
kezdõ felhasználók számára
íródott, de számos komolyabb
lehetõséget is támogat.A pine szoftverrel kapcsolatban
a múltban már rengeteg távolról
kihasználható sebezhetõség
látott napvilágot, és ennek
köszönhetõen a támadók
megfelelõen elõkészített e-mailek
segítségével tetszõleges
kódot tudnak futtatni a rendszeren levõ helyi
felhasználókon keresztül. Noha az
összes ilyen ismert hibát
javították, de a &os; biztonsági tisztje
szerint a pine kódját
biztonság szempontjából annyira hanyag
módon írták, hogy további, eddig
még felfedezetlen sebezhetõségeket is
magában rejt. Ennek megfelelõen tehát a
pine használata mindenkinek
csak saját felelõsségre javasolt.A pine jelenlegi verziója
a mail/pine4 porton
keresztül telepíthetõ. A
telepítés lezajlása után a
pine a következõ paranccsal
indítható:&prompt.user; pineA pine elsõ futtatása
során egy üdvözlõ üzenetet és
egy rövid bemutatkozást jelenít meg, valamint
a pine fejlesztõi arra
kérik a felhasználókat, hogy küldjenek
nekik egy névtelen üzenetet, amibõl le
tudják szûrni mennyien használják a
kliensüket. A névtelen üzenet
elküldéséhez a Enter
lenyomásával járulhatunk hozzá vagy
az E használatával
enélkül tudunk kilépni a
képernyõrõl. Ezt az üdvözlõ
képernyõt itt láthatjuk:A felhasználó ezután a
fõmenübe kerül, ahol a kurzorbillentyûkkel
minden gond nélkül tudunk mozogni. Ebben a
fõmenüben a levelek megírására, a
leveleket tároló könyvtárak
tallózására vagy éppen a
címjegyzék karbantartására
gyorsbillentyûket is használhatuk. A
fõmenü alatt szerepel az adott menüben
végrehajtható feladatokhoz tartozó
gyorsbillentyûk rövid felsorolása.A pine
alapértelmezés szerint az inbox könyvtárat nyitja
meg. A bennelévõ üzenetek
listájának megtekintéséhez nyomjuk a
I gombot vagy válasszuk ki a lentihez
hasonló módon a MESSAGE
INDEX menüpontot:Az üzenetek listájában az adott
könyvtárban található üzenetek
láthatjuk, és köztük a
kurzorbillentyûkkel mozoghatunk. A kiemelt üzenet az
Enter lenyomásával
olvasható el.A lenti képen egy ilyen példa üzenetet
láthatunk a pine programban.
A rendelkezésünkre álló
gyorsbillentyûk ilyenkor is a képernyõ
alján megjelennek referenciaként. Ilyen
gyorsbillentyû többek közt az r
gomb, amelynek hatására a klienssel
megválaszolhatjuk a éppen látható
üzenetet.A pine kliensen belül a
pico szövegszerkesztõ
segítségével tudunk megválaszolni
egy e-mailt, amely alapból a
pine mellé települ. A
pico megkönnyíti a
navigációt az üzenetekben és sokkal
elnézõbb a kezdõ felhasználókkal,
mint például a &man.vi.1; vagy a &man.mail.1;. Ha
befejeztük a választ, az üzenetet a CtrlX
billentyûkombinációval tudjuk elküldeni.
A pine erre
megerõsítést fog kérni.A pine alkalmazás a
fõmenübõl elérhetõ
SETUP menüpont
meghívásával szabható testre. A
további részleteket a oldalon
találhatjuk (angolul).MarcSilverÍrta: A fetchmail használatafetchmailA fetchmail egy mindentudó
IMAP és POP kliens,
amely lehetõvé teszi a felhasználók
számára, hogy automatikusan töltsenek le
leveleket távoli IMAP és
POP szerverekrõl és
lementsék azokat a helyi postaládáikba.
Így a levelek sokkal könnyebben
elérhetõek. A fetchmail a
mail/fetchmail port
segítségével telepíthetõ,
és számos lehetõséget ajánl fel,
többek közt:A POP3, APOP,
KPOP, IMAP,
ETRN és az ODMR
protokollok ismerete.Képes SMTP
használatával levelet továbbítani,
és ennek révén a szûrés,
továbbküldés és az álnevek
használata a megszokott módon
mûködik.Démonként futtatva képes adott
idõközönként ellenõrizni a frissen
érkezõ üzeneteket.Képes egyszerre több postaládát
is kezelni, majd ezek tartalmát a
beállításainak megfelelõen
továbbküldeni a különbözõ
helyi felhasználóknak.Noha a fetchmail összes
lehetõségének aprólékos
bemutatása meghaladná ennek a
leírásnak a kereteit, azért szót
kerítünk néhány alapvetõ
funkciójára. A fetchmail
segédprogramnak a megfelelõ
mûködéshez egy .fetchmailrc
nevû konfigurációs állományra van
szüksége. Ez az állomány tárolja
a szerverekre vonatkozó, valamint a bejelentkezéshez
szükséges információkat. Az
állomány kényes tartalmára tekintettel
azt javasoljuk, hogy csak a tulajdonosának
engedélyezzük az olvasását:&prompt.user; chmod 600 .fetchmailrcAz alább ismertetésre kerülõ
.fetchmailrc állományban azt
láthatjuk, ahogy egyetlen felhasználó
postaládáját érjük el a
POP protokoll használatával.
Arra utasítja a fetchmail
programot, hogy csatlakozzon a levelezes.com címre a
joska felhasználóval és
az XXX jelszóval. Ebben a
példában feltételezzük, hogy a
joska nevû felhasználó
létezik a rendszerünkben is.poll levelezes.com protocol pop3 username "joska" password "XXX"A következõ példában több
POP és IMAP
szerverhez csatlakozunk és ahol lehet, több helyi
felhasználónak irányítjuk át a
leveleket:poll levelezes.com proto pop3:
user "joska", with password "XXX", is "jozsi" here;
user "andrea", with password "XXXX";
poll levelezes2.net proto imap:
user "jani", with password "XXXXX", is "hardstuff" here;A fetchmail program a
beállítás
megadásával démonként is
elindítható, amely után meg kell adni
(másodpercekben) azt az idõközt, aminek
elteltével a fetchmail
lekérdi a .fetchmailrc
állományban felsorolt szervereket. Az alábbi
példában a fetchmail
600 másodpercenként kéri el a
leveleket:&prompt.user; fetchmail -d 600A fetchmail további
lehetõségeirõl és
mûködésérõl a oldalon olvashatunk
(angolul).MarcSilverÍrta: A procmail használataprocmailA procmail segédprogram egy
hihetetlenül erõs alkalmazás, mellyel a
beérkezõ leveleinket tudjuk szûrni. A
felhasználók számára olyan
szabályok megadását teszi
lehetõvé, amelyekre aztán a rendszer illeszti a
bejövõ leveleket, és az eredménynek
megfelelõen elvégez bizonyos feladatokat vagy
átirányítja a levelet más
postaladákba és/vagy e-mail címekre. A
procmail a mail/procmail porttal
telepíthetõ fel. Miután ez sikerült,
akár közvetlenül be is
építhetjük a legtöbb levelezõ
kliensbe. Errõl az adott levelezõ kliens
dokumentációjában olvashatunk többet. A
procmail úgy is
integrálható, ha a felvesszük a
következõ sort a procmail
szolgáltatára igényt tartó
felhasználó könyvtárában
található .forward
állományba:"|exec /usr/local/bin/procmail || exit 75"A következõ szakaszban láthatjuk a
procmail néhány
alapvetõ szabályát, valamint ezek rövid
leírását. Ezeket a szabályokat a
.procmailrc állományba kell
beleírni, amely szintén a felhasználó
könyvtárában leledzik.Ezen szabályok többsége a
&man.procmailex.5; man oldalon is olvasható.A felhasznalo@levelezes.com címrõl
érkezõ leveleket irányítsuk át a
jocim@levelezes2.com külsõ
címre::0
* ^From.*felhasznalo@levelezes.com
! jocim@levelezes2.comMinden 1000 byte-nál kisebb levelet küldjünk
át a jocim@levelezes2.com
külsõ címre::0
* < 1000
! jocim@levelezes2.comKüldjük át az összes
masik@levelezes.com címre küldött
levelet a masik
postaládába::0
* ^TOmasik@levelezes.com
masikKüldjük az összes olyan levelet a
/dev/null eszközre, amelyek a
témájában szerepel a Spam
szó::0
^Subject:.*Spam
/dev/nullEgy hasznos szabály, amellyel el tudjuk kapni a &os;.org levelezési
listáiról érkezõ leveleket és el
tudjuk raktározni ezeket a saját
postaládájukba::0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
diff --git a/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.sgml
index e463865a74..339c29933d 100644
--- a/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.sgml
@@ -1,4212 +1,4204 @@
+ Original Revision: 1.180 -->
JimMockÁtdolgozta, átrendezte és
aktualizálta: A PPP és a SLIPÁttekintésPPPSLIPA &os; számos módon képes
összekötni két
számítógépet. Ha
betárcsázós modemmel akarunk
hálózati vagy internetes kapcsolatot
felépíteni, esetleg azt szeretnénk, hogy
mások képesek legyenek minket ilyen módon
elérni, akkor ahhoz PPP-t, illetve SLIP-et kell
használnunk. Ebben a fejezetben a modemes
kommunikáció beállításait
mutatjuk be részletesebben.A fejezet elolvasása során
megismerjük:hogyan állítsunk be
felhasználói PPP-t;hogyan állítsunk be rendszerszintû
PPP-t;hogyan állítsunk be egy
PPPoE (PPP over Ethernet, vagyis PPP
Ethernet felett) kapcsolatot;hogyan állítsunk be egy
PPPoA (PPP over ATM, vagyis PPP ATM
felett) kapcsolatot;hogyan állítsunk be SLIP klienst és
szervert.PPPfelhasználói PPPPPPrendszer PPPPPPEthernet felettA fejezet elolvasásához ajánlott:az alapvetõ hálózati
technológiák ismerete;a betárcsázós kapcsolatok, a PPP
és/vagy SLIP alapjainak és céljainak
megértése.Talán érdekli a kedves olvasót, hogy mi
az alapvetõ különbség a
felhasználói és a rendszerszintû PPP
között. A válasz egyszerû: a
felhasználói PPP a beérkezõ és
kimenõ adatokat nem a rendszermagban, hanem a
felhasználói szinten dolgozza fel. Ez
költséges abból a szempontból, hogy
emiatt adatokat kell másolgatni a rendszer és a
felhasználói szint között, azonban egy
sokkal többet tudó PPP implementációnak
ad ezzel utat. A felhasználói PPP a
tun eszközön keresztül
kommunikál a külvilággal, miközben a
rendszermagban található PPP mindezt a
ppp eszközzel
valósítja meg.A fejezetben a felhasználói PPP-t
egyszerûen csak ppp néven
fogjuk hivatkozni, hacsak nem lesz szükséges
különbséget tennünk közte és
más PPP szoftverek, mint például a
pppd között. Ha
mást nem mondunk, akkor a fejezetben ismertetett
összes parancsot root
felhasználóként kell kiadni.TomRhodesFrissítette és javította:
BrianSomersEredetileg készítette: NikClaytonSegített még: DirkFrömbergPeterChildsA felhasználói PPP alkalmazásaA felhasználói PPPElõfeltételekA leírás feltételezi, hogy
rendelkezünk a következõkkel:internet-szolgáltatóPPP
kapcsolatOlyan internet-elõfizetés, ahol PPP-n
keresztül csatlakozunkEgy modem vagy más olyan
rendszerünkhöz csatlakozó eszköz,
amelyen keresztül el tudjuk érni az
internet-szolgáltatónkatAz internet-elõfizetés
betárcsázásához
szükséges telefonszámokPAPCHAPUNIXbejelentkezési
névjelszóA bejelentkezési nevünk és
jelszavunk. (Vagy a megszokott &unix;-os
felhasználói név és
jelszó páros, vagy egy PAP esetleg CHAP
bejelentkezési név és
jelszó.)névszerverEgy vagy több névszerver IP-címe.
Ehhez az internet-szolgáltatók
általában két IP-címet adnak
meg. Ha egyet sem kaptunk, akkor a
ppp.conf állományban
erre a célra használhatjuk az
enable dns parancsot, és ekkor a
ppp majd automatikusan be fogja
állítani nekünk a
névszervereket. Ezt a lehetõséget az
befolyásolja, hogy az
internet-szolgáltató oldalán
mûködõ PPP implementáció
támogatja-e a névfeloldás
egyeztetését (DNS negotiation).A következõ információkat is
megkaphatjuk az
internet-elõfizetésünkhöz, de nem
feltétlenül szükségesek:Az internet-szolgáltató
átjárójának IP-címe.
Az átjáró az a gép, amelyen
keresztül a gépünk csatlakozik és
számára ez lesz az
alapértelmezett
átjáró. Ha nem
rendelkezünk ezzel az információval,
akkor csak állítsunk be valamit, és
majd a csatlakozáskor a szolgáltató
PPP szervere felülírja a megfelelõ
beállításokkal.Erre a címre a pppHISADDR néven hivatkozik.A használandó hálózati
maszk. Amennyiben a szolgáltató ezt nem
adta meg, nyugodtan használjuk erre a 255.255.255.255
értéket.statikus
IP-címHa a szolgáltatónk statikus
IP-címet és rögzített
hálózati nevet is biztosít
nekünk, ezt is megadhatjuk. Minden más
esetben egyszerûen csak hagyjuk, hogy a rendszer
automatikusan válasszon nekünk egyet.Ha a szükséges információknak
nem vagyunk birtokában, akkor vegyük fel a
kapcsolatot az internet-szolgáltatókkal.Ebben a szakaszban a példákban
szereplõ konfigurációs
állományok sorait számozva
láthatjuk. Ezek a sorszámok a
bemutatás és a tárgyalás
megkönnyítése érdekében
szerepelnek, és nem az eredeti
állományok részei. Mindezek mellett a
tabulátorok és szóközök
megfelelõ használata is fontos.A PPP automatikus
beállításaPPPbeállításaA ppp és a
pppd (a PPP rendszerszintû
megvalósítása) egyaránt az
/etc/ppp könyvtárban
található konfigurációs
állományokat használja. A
felhasználói PPP-hez ezenkívül
még a /usr/share/examples/ppp/
könyvtárban vannak példák.A ppp parancs
beállítása az igényeinktõl
függõen számos állomány
módosítását igényelheti. A
tartalmukat nagyban befolyásolja, hogy a
szolgáltatónk részérõl a
címeket kiosztása statikus (vagyis egy adott
címet kapunk és folyamatosan azt
használjuk) esetleg dinamikus (vagyis az
IP-címünk minden egyes
kapcsolódáskor más és
más).PPP statikus IP-címmelPPPstatikus IP-címmelEbben az esetben az
/etc/ppp/ppp.conf
konfigurációs állományt kell
átszerkesztenünk. Tartalma az alábbi
példához hasonlítható.A : karakterrel
végzõdõ sorok mindig az elsõ
oszlopban kezdõdnek (tehát a sor
elején), míg az összes többi sort
tabulátorok vagy szóközök
használatával bentebb kell raknunk.1 default:
2 set log Phase Chat LCP IPCP CCP tun command
3 ident user-ppp VERSION (built COMPILATIONDATE)
4 set device /dev/cuad0
5 set speed 115200
6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8 set timeout 180
9 enable dns
10
11 szolgaltato:
12 set phone "(123) 456 7890"
13 set authname ize
14 set authkey mize
15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16 set timeout 300
17 set ifaddr x.x.x.xy.y.y.y 255.255.255.255 0.0.0.0
18 add default HISADDR1. sor:Ez azonosítja be az alapértelmezett
bejegyzést. Az itt szereplõ parancsok a
ppp minden egyes futásakor
magukból végrehajtódnak.2. sor:Beállítja a naplózás
paramétereit. Amikor a
beállításaink már
kifogástalanul mûködnek, akkor ezt a
sort érdemes átírni a
következõre:set log phase tunEzzel jelentõs mértékben vissza
tudjuk fogni a naplózás
mértékét.3. sor:Ezzel mondjuk meg a PPP-nek, hogy a többiek
felé miként azonosítsa
magát. A PPP akkor azonosítja
magát a társak felé, ha
valamilyen gondja akad az egyeztetésekkel
és a kapcsolat
beállításával. Az
így továbbított
információk a másik oldal
rendszergazdái számára
nyújthatnak segítséget az ilyen
jellegû problémák
felderítésében.4. sor:Itt adjuk meg az eszközt, amelyre a modem
csatlakozik. A COM1 neve
- /dev/cuad0 (vagy
- /dev/cuaa0 &os; 5.X alatt),
- a COM2 neve pedig
- /dev/cuad1 (vagy
- /dev/cuaa1).
+ /dev/cuad0, a
+ COM2 neve pedig
+ /dev/cuad1.
5. sor:A csatlakozás sebességét
adjuk meg. Ha a 115 200-as érték
itt nem mûködne (ez egyébként
minden újabb gyártmányú
modem esetében elfogadható), akkor
helyette használjuk a 38400-as
beállítást.6. és 7. sorok:PPPfelhasználói PPPA híváshoz használt
karakterlánc. A felhasználói PPP
a &man.chat.8; programhoz hasonló
küldök-várok
típusú szerkesztést alkalmaz. A
kihasználható
lehetõségekrõl a man oldalán
olvashatunk részletesebben.Az olvashatóság
kedvéért a parancs a következõ
sorban folytatódik. A
ppp.conf
állományban bármelyik parancs,
ahol a \ karakterrel zárjuk a
sort, az ugyanígy folytatható a
következõben.8. sor:A kapcsolathoz tartozó
üresjárati idõt állítja
be. Ennek értéke alapból
180 másodperc, így ez a sor
pusztán csak az érthetõséget
szolgálja.9. sor:Arra utasítja a PPP-t, hogy a
többiektõl kérdezze le a helyi
névfeloldó
beállításait. Ha saját
névszervert futtatunk, akkor ezt a sort
tegyük inkább megjegyzésbe vagy
töröljük ki.10. sor:Ez az üres sor az
átláthatóság
kedvéért került bele. A PPP az
összes üres sort figyelmen kívül
hagyja.11. sor:Itt kezdõdik a szolgaltato
nevû szolgáltatóhoz tartozó
bejegyzés. Ezt késõbb akár
ki is cserélhetjük az
internet-szolgáltatónk nevére,
így a
beállítással tudjuk majd
beindítani a kapcsolatot.12. sor:Beállítjuk a
szolgáltatóhoz tartozó
telefonszámot. A kettõspont
(:) vagy a csõvezeték
(|) karakterekkel
elválasztva több telefonszámot is
meg tudunk adni. A &man.ppp.8; oldalon olvashatunk a
két elválasztó közti
különbségekrõl. Röviden
ezeket úgy foglalhatnánk össze,
hogy ha váltogatni akarunk a számok
között, akkor használjuk a
kettõspontot. Ha mindig az elsõként
megadott számot akarjuk hívni és
a többit csak akkor, ha ez nem mûködik,
akkor a csõvezeték karakterre lesz
szükségünk. Ahogy a példa is
mutatja, az összes telefonszámot
tegyük mindig idézõjelek
közé.Ha a telefonszámban egyébként
is szerepelnek szóközök, akkor is
idézõjelek (")
közé kell tennünk. Ennek
elhagyásával egy egyszerû,
ámde kényes hibát
ejtünk.13. és 14. sor:A felhasználói nevet és
jelszót tartalmazza. Amikor egy &unix;
fajtájú bejelentkezést kapunk,
akkor ezekre az értékekre a set
login parancsban \U és \P
változókkal tudunk hivatkozni. Ha PAP
vagy CHAP használatával
jelentkezünk be, akkor ezek az
értékek a hitelesítéskor
kerülnek felhasználásra.15. sor:PAPCHAPHa a PAP vagy CHAP protokollok valamelyikét
használjuk, akkor nem lesz
szükségünk a login
változóra, ezért ezt
megjegyzésbe is tehetjük, vagy akár
ki is törölhetjük. A PAP és CHAP
hitelesítésrõl
szóló részben olvashatjuk ennek
további részleteit.A bejelentkezéshez használt
karakterlánc hasonlít a
behíváshoz használt,
chat-szerû felépítéssel
rendelkezõ karakterlánchoz. A
példában látható
karakterlánc egy olyan
szolgáltatáshoz illeszkedik, ahol a
bejelentkezés valahogy így néz
ki:A Világ Legjobb Szolgáltatója
login: izé
password: mizé
protocol: pppEzt a szkriptet alakítsuk a saját
igényeinkhez. Ha elõször
próbálkozunk ilyen szkript
írásával, akkor lehetõleg
kapcsoljuk be a rendszerek között
lezajló
beszélgetés
naplózását, hogy ellenõrizni
tudjuk minden a megfelelõen módon
történik-e.16. sor:idõkorlátBeállítjuk a kapcsolathoz
tartozó alapértelmezett
idõkorlátot (másodpercben). Itt a
kapcsolat automatikusan lezárul
300 másodperc tétlenséget
követõen. Ha nem akarunk ilyen
korlátot szabni, akkor ezt az
értéket állítsuk
nullára vagy használjuk a
paranccsori
kapcsolót.17. sor:internet-szolgáltatóA felülethez tartozó címeket
állítja be. A
x.x.x.x helyére a
szolgáltató által kiosztott
IP-címet kell beírnunk. A
y.y.y.y helyett pedig a
szolgáltató
átjárója kerül be
(lényegében az a gép, amelyhez
csatlakozunk). Amennyiben az
internet-szolgáltatónk nem adott meg
semmilyen átjárót, erre a
célra a 10.0.0.2/0 címet is
használhatjuk. Amikor nekünk kell
kitalálnunk ezeket a címeket,
akkor ne felejtsünk el létrehozni
hozzájuk egy bejegyzést az
/etc/ppp/ppp.linkup
állományban a PPP dinamikus
IP-címmel szakaszban szereplõek
szerint. Ha nem adjuk meg ezt a sort, akkor a
ppp parancs nem képes
módban
mûködni.18. sor:A szolgáltató
átjárójához felvesz egy
alapértelmezett útvonalat. A
HISADDR kulcsszót a 17.
sorban megadott átjáró
címével helyettesítjük.
Ezért fontos, hogy ez a 17. sor után
szerepeljen, különben a
HISADDR nem lesz képes
inicializálódni.Ha a ppp parancsot nem akarjuk
módban futtatni, akkor ezt
a sort a ppp.linkup
állományba is átrakhatjuk.Ha statikus IP-címmel rendelkezünk és
a ppp
módban fut, akkor a ppp.linkup
állományba egészen addig nem kell
semmit sem írnunk, amíg a csatlakozás
elõtt az útválasztási
táblázatokban a megfelelõ adatok
találhatóak. Olyankor is jól
jöhet, amikor a csatlakozást követõen
meg akarunk hívni bizonyos programokat. Ezt majd a
sendmailes példában
fogjuk bõvebben kifejteni.Erre példákat a
/usr/share/examples/ppp/
könyvtárban találhatunk.PPP dinamikus IP-címmelPPPdinamikus IP-címmelIPCPHa az internet-szolgáltatónktól nem
kaptunk statikus IP-címet, akkor a
ppp paranccsal is be tudjuk
állítani a helyi és távoli
címeket. Ez az IP-címek
kitalálásával
történik, valamint úgy, hogy a
ppp számára a
csatlakozás után lehetõvé
tesszük az IP konfigurációs protocol (IP
Configuration Protocol, IPCP) használatát. A
ppp.conf tartalma szinte teljesen
megegyezik a PPP statikus
IP-címmel részben szereplõvel,
egyetlen apró különbséggel:17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255Ismét szeretnénk elmondani, hogy a
sorszámot ne írjuk bele, hiszen az csak
hivatkozási céllal szerepel. Legalább
egy szóközzel kezdjünk bentebb.17. sor:A / után megjelenõ
szám azoknak a biteknek a számát
adja meg, amire a ppp támaszkodik. A
környezetünknek jobban megfelelõ
IP-címeket is megadhatunk, de a fenti
példa minden esetben mûködni
fog.Az utolsó paraméterrel
(0.0.0.0) azt mondjuk a PPP-nek,
hogy az egyeztetést ne a 10.0.0.1, hanem a 0.0.0.0 címmel kezdje
meg, amire egyes szolgáltatók
esetén szükségünk is lesz. A
set ifaddr elsõ
paramétereként azonban soha ne adjuk meg
a 0.0.0.0 címet, mivel ezzel
a PPP módban nem tudja
beállítani a kezdeti
útvonalat.Ha nem módban
indítjuk, akkor az
/etc/ppp/ppp.linkup
állományban meg kell adnunk még egy
bejegyzést is. A ppp.linkup
állományt a kapcsolat létrejötte
után dolgozzuk fel. Itt már a
ppp megkapta a felülethez
tartozó címeket, így az
útválasztási táblázatba
fel tudjuk venni hozzájuk a megfelelõ
bejegyzéseket:1 szolgaltato:
2 add default HISADDR1. sor:A kapcsolat felépítése
során a ppp a
ppp.linkup
állományban a következõ
szabályok szerint fogja keresni a
bejegyzéseket: elõször a
ppp.conf
állományban megadott
címkét próbálja
megtalálni. Ha ez nem sikerül, akkor az
átjárónknak megfelelõ
bejegyzést kezdi el keresni. Ez egy
négy byte-ból álló,
felírásában az IP-címekhez
hasonlító címke. Ha még
ez a címke sem található, akkor a
MYADDR bejegyzést
keresi.2. sor:Ez a sor mondja meg a ppp
programnak, hogy vegyen fel egy
HISADDR címre
vonatkozó alapértelmezett
útvonalat. A HISADDR
címet az IPCP által egyeztetett
átjáró IP-címére
cseréljük ki.Ha erre a részletesebb példát
akarunk látni, akkor a
/usr/share/examples/ppp/ppp.conf.sample
és
/usr/share/examples/ppp/ppp.linkup.sample
állományokban a pmdemand
bejegyzést nézzük meg.A bejövõ hívások
fogadásaPPPbejövõ hívások
fogadásaAmikor egy helyi hálózathoz
csatlakozó gépen akarjuk a
ppp programot
beállítani a bejövõ
hívások fogadására, akkor azt is
el kell döntenünk, hogy
engedélyezzük-e a csomagok
továbbküldését a belsõ
hálózat felé. Amennyiben igen, akkor a
becsatlakozó gépenek a belsõ
hálózatunkon ki kell osztani egy
külön címet és az
/etc/ppp/ppp.conf
állományban, és meg kell adnunk az
enable proxy parancsot. Emellett
még az /etc/rc.conf
állományban se feleljtsük el megadni a
következõ sort:gateway_enable="YES"Melyik getty?A &os;
beállítása
betárcsázós kapcsolatokhoz
nagyon jól bemutatja a
betárcsázós
szolgáltatások
beállítását a &man.getty.8;
segítségével.A getty helyett
egyébként az
mgetty, a getty egy ügyesebb
változata is használható, ami
kifejezetten a betárcsázós vonalakhoz
készült.A mgetty használatának
többek közt az egyik elõnye, hogy
aktívan tartja a kapcsolatot a
modemekkel, tehát hogy ha az
/etc/ttys állományban
letiltjuk a modemet, akkor nem is fog válaszolni a
hívásokra.Emellett az mgetty
késõbbi változatai (a 0.99 beta
változatától kezdve) még a PPP
folyamok automatikus észlelését is
támogatják, ezáltal a kliensek
szkriptek nélkül is képesek elérni
a szerverünket.Ha errõl többet akarunk megtudni, akkor az
mgetty paranccsal kapcsolatban olvassuk
el Az mgetty és az
AutoPPP címû szakaszt.A PPP
engedélyeiA ppp parancsot
általában root
felhasználóként kell futtatni. Ha
viszont a ppp parancsot tetszõleges
felhasználóval akarjuk szerver módban
futtatni az iméntiek szerint, akkor ahhoz fel kell
vennünk az /etc/group
állományban szereplõ
network csoportba.Ezeken kívül még az
allow paranccsal is
engedélyeznünk kell konfigurációs
állomány egy vagy több
részének elérését
is:allow users fred maryHa ezt a parancsot a default
bejegyzésnél adjuk meg, akkor az így
megadott felhasználók mindenhez hozzá
tudnak férni.PPP shellek a dinamikus IP-címek
használóinakPPP shellekHozzunk létre egy
/etc/ppp/ppp-shell nevû
állományt, amelyben a következõk
szerepelnek:#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
if [ x$IDENT = xdialup ]; then
IDENT=`basename $TTY`
fi
echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"
exec /usr/sbin/ppp -direct $IDENTEz a szkript legyen végrehajtható.
Ezután az alábbi paranccsal
ppp-dialup néven
készítsünk egy szimbolikus linket erre a
szkriptre:&prompt.root; ln -s ppp-shell /etc/ppp/ppp-dialupEz a szkript lesz az összes
betárcsázó felhasználónk
shellje. A most következõ
példa az /etc/passwd
állományban szereplõ,
pchilds nevû PPP
felhasználó bejegyzését mutatja
be (ne felejtsük el, hogy soha ne közvetlenül
szerkesszük a jelszavakat tároló
állományt, hanem a &man.vipw.8;
segítségével).pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialupHozzunk létre egy /home/ppp
nevû könyvtárat a következõ
bárki által olvasható 0 byte-os
állományokkal:-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhostsEzek hatására az
/etc/motd állomány
tartalma nem jelenik meg.PPP shellek a statikus IP-címek
használóinakPPP shellekAz iméntiekhez hasonló módon
készítsük el a
ppp-shell állományt,
és mindegyik statikus IP-vel rendelkezõ
hozzáféréshez csináljunk egy
szimbolikus linket a ppp-shell
szkriptre.Például, ha három
betárcsázós ügyfelünk van,
fred, sam
és mary, feléjük
24 bites CIDR hálózatokat
közvetítünk, akkor a következõket
kell begépelnünk:&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-maryA fentebb szereplõ betárcsázós
felhasználók eléréseihez
tartozó shelleket állítsuk be az itt
létrehozott szimbolikus linkekre (így
tehát mary shellje az
/etc/ppp/ppp-mary lesz).A ppp.conf
beállítása a dinamikus IP-címek
használóinakAz /etc/ppp/ppp.conf
állományban a következõ sorok
valamelyikének kellene szerepelnie:default:
set debug phase lcp chat
set timeout 0
ttyd0:
set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
enable proxy
ttyd1:
set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
enable proxyA bentebb kezdett sorokat mi is kezdjünk
bentebb.A default: szakasz minden kapcsolat
esetén betöltõdik. Az
/etc/ttys állományban
engedélyezett mindegyik
betárcsázós vonal létrehoz a
fenti ttyd0: szakaszhoz hasonló
bejegyzést. Minden vonal kap egy egyedi
IP-címet a dinamikus felhasználók
számára szánt
címtartományból.A ppp.conf
beállítása a statikus IP-vel
rendelkezõk számáraA /usr/share/examples/ppp/ppp.conf
állományban szereplõ tartalom mellett az
összes statikus kiosztású
IP-címmel rendelkezõ
betárcsázó felhasználóhoz
még hozzá kell tennünk egy szakaszt. A
példánkban ezek továbbra is
fred, sam
és mary.fred:
set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
sam:
set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
mary:
set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255Amennyiben szükséges, az
/etc/ppp/ppp.linkup tartalmazhat
további útválasztási
információkat is az egyes statikus
IP-címmel rendelkezõ
felhasználókhoz. A lentebb bemutatott sor a
kliens ppp összekötettésén
keresztül vesz fel egy útvonalat a 203.14.101.0/24 hálózat
felé.fred:
add 203.14.101.0 netmask 255.255.255.0 HISADDR
sam:
add 203.14.102.0 netmask 255.255.255.0 HISADDR
mary:
add 203.14.103.0 netmask 255.255.255.0 HISADDRAz mgetty és az
AutoPPPmgettyAutoPPPLCPHa az mgetty programot az
AUTO_PPP
beállítással fordítjuk le, akkor
azzal az mgetty képessé
válik a PPP kapcsolatok LCP fázisát
észlelni és magától
létrehozni hozzá egy ppp shellt. Mivel az
alapértelmezett név/jelszó páros
azonban ilyenkor nem jelenik meg, a
felhasználókat a PAP vagy a CHAP protokollon
keresztül lehet hitelesíteni.Ez a szakasz most feltételezi, hogy a sikeresen
beállítottuk, lefordítottuk és
telepítettük az mgetty
valamelyik (0.99 béta vagy késõbbi)
változatát az AUTO_PPP
opció engedélyezésével.Az
/usr/local/etc/mgetty+sendfax/login.config
állományban ne felejtsük
ellenõrizni, hogy szerepel a
következõ:/AutoPPP/ - - /etc/ppp/ppp-pap-dialupEzzel utasítjuk az mgetty
programot arra, hogy az észlelt PPP kapcsolatokhoz
futtassa le a ppp-pap-dialup
szkriptet.Hozzunk létre az
/etc/ppp/ppp-pap-dialup nevû
állományt, amelyben majd a
következõk fognak szerepelni (az
állomány legyen
végrehajtható):#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENTAz /etc/ttys
állományban engedélyezett összes
betárcsázós vonalhoz
készítsük el a megfelelõ
bejegyzést az /etc/ppp/ppp.conf
állományban. Ezek remekül meg fognak
férni az imént készített
definíciókkal.pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxyMinden olyan felhasználónak, aki ezzel a
módszerrel jelentkezik be, szüksége lesz
egy név/jelszó kombinációra az
/etc/ppp/ppp.secret
állományban, vagy az alábbi
beállítás megadásával
választhatjuk azt is, hogy a
felhasználókat az
/etc/passwd állományon
keresztül a PAP protokoll
segítségével azonosítjuk.enable passwdauthHa statikus IP-címet akarunk kiosztani
némely felhasználóknak, akkor az
/etc/ppp/ppp.secret
állományban ezt megadhatjuk a harmadik
paraméternek. Errõl bõvebben a
/usr/share/examples/ppp/ppp.secret.sample
állományban láthatunk
példát.A Microsoft kiterjesztéseiDNSNetBIOSPPPMicrosoft kiterjesztésekA PPP úgy is beállítható,
hogy kérésre DNS és NetBIOS
típusú névfeloldáshoz is
szolgáltasson információkat.A PPP 1.x változatával úgy lehet
engedélyezni ezeket a kiterjesztéseket, ha az
/etc/ppp/ppp.conf
állomány megfelelõ részeibe
felvesszük a következõ sorokat:enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5A PPP második és késõbbi
változataiban pedig:accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5Ezzel a kliens megkapja az elsõdleges és
másodlagos névszerverek címeit,
valamint a NetBIOS névszervert.Ha a második és az azt követõ
verziókban a set dns sort
elhagyjuk, akkor a PPP az
/etc/resolv.conf
állományban található
értékeket fogja használni.A PAP és CHAP hitelesítésPAPCHAPEgyes internet-szolgáltatók úgy
állítják be a rendszerüket, hogy a
kapcsolat felépítése során a
hitelesítés a PAP vagy CHAP mechanizmusok
valamelyikével történik. Ilyenkor a
szolgáltató nem egy login:
sorral fogja bekérni a szükséges
adatokat, hanem közvetlenül a PPP kapcsolatot
kezdi el használni.A PAP nem olyan biztonságos, mint a CHAP, de itt
a biztonság nem is annyira fontos, mivel a jelszavak,
amelyeket ugyan a PAP titkosítatlan formában
küld tovább, csak egy soros vonalon haladnak
át. A rossz indulatú támadók
itt nem sok mindent tudnak
lehallgatni.A PPP statikus
IP-címmel és a PPP dinamikus IP
címmel címû szakaszokhoz
képest a következõ
módosításokat kell
elvégeznünk:13 set authname AFelhasználóiNevem
14 set authkey AJelszavam
15 set login13. sor:Ebben a sorban adjuk meg a PAP/CHAP
felhasználói nevünket, amelyet
AFelhasználóiNevem
helyett kell beírni.14. sor:jelszóEbben a sorban adjuk meg a PAP/CHAP jelszavunkat,
AJelszavam helyett.
Szándénkunk
egyértelmûsítése
érdekében ezek mellett még egy
további sort is érdemes felvennünk,
tehát:16 accept PAPvagy16 accept CHAPAlapértelmezés szerint a PAP
és CHAP is egyaránt elfogadott.15. sor:A PAP és CHAP alkalmazásakor
általában nem is kell
bejelentkeznünk a szolgáltató
szerverére. Ezért a set
login parancsnál használt
karakterláncot le is kell tiltanunk.A ppp
beállításainak
megváltoztatása menet közbenA háttérben futó
ppp programhoz menet közben is
tudunk beszélni, de csak olyankor, amikor az ehhez
szükséges portot megadtuk. Ezt úgy
tudjuk megtenni, ha beállítások
közé felvesszük az alábbit:set server /var/run/ppp-tun%d DiagnosticPassword 0177Így a PPP az elõre megadott &unix;
tartománybeli socketen keresztül fogja
várni a kapcsolódásunkat, és a
konkrét hozzáféréshez
jelszót kér. A névben szereplõ
%d a használatban levõ
tun eszköz
sorszámát jelöli.Miután a csatlakozás
beállítódott, a szkriptekben a
&man.pppctl.8; program használható a
futó program
vezérléséhez.A PPP hálózati
címfordítási
képességének
kihasználásaPPPNATA PPP képes a rendszermag
rásegítése nélkül
képes hálózati
címfordítást végezni. Ezt a
lehetõséget a következõ sor
hozzáadásával tudjuk aktiválni az
/etc/ppp/ppp.conf
állományban:nat enable yesA PPP-be épített hálózati
címfordítás a -nat
parancssori paraméterrel is bekapcsolható. Az
/etc/rc.conf állományban is
található hozzá egy
ppp_nat változó, amely
alapértelmezés szerint
engedélyezett.Amikor használjuk ezt a lehetõséget, az
/etc/ppp/ppp.conf
állományban a következõ
opciókkal engedélyezhetjük a
bejövõ kapcsolatok
továbbítását:nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http httpvagy egyáltalán ne bízzunk meg a
külvilágban:nat deny_incoming yesA rendszer végsõ
beállításaPPPbeállításaMostanra ugyan már beállítottuk a
ppp programot, azonban még
néhány dolgot be kell állítanunk,
mielõtt ténylegesen nekilátnánk
használni. Ezek mindegyike az
/etc/rc.conf állomány
módosítását igényli.Az állományt fentrõl lefelé
fogjuk feldolgozni, de elõtte ne felejtsünk el
értéket adni a hostname=
változónak, például:hostname="ize.minta.com"Amennyiben a szolgáltatónk statikus
IP-címet és nevet biztosít
számunkra, az lesz a legjobb, ha itt a tõle kapott
nevet adjuk meg.Keressük meg a network_interfaces
változót. Ha a rendszerünkben
kérésre akarjuk tárcsázni a
szolgáltatónkat, akkor a
tun0 eszközt mindenképpen
vegyük fel az értékébe, minden
más esetben pedig távolítsuk el.network_interfaces="lo0 tun0"
ifconfig_tun0=Az ifconfig_tun0
változónak üres értéket
kell megadnunk, és létre kell hoznunk egy
/etc/start_if.tun0 nevû
állományt. Ebben a következõ sornak
kell szerepelnie:ppp -auto arendszeremEz a szkript a hálózat
beállításakor fut le, és a ppp
démont automatikus módban indítja el.
Ha az adott gép egy helyi hálózat
átjárója is egyben, akkor az
kapcsolót is érdemes
megadnunk mellette. A pontosabb részletek
tekintetében olvassuk el a megfelelõ man
oldalt.Az /etc/rc.conf
állományban a NO
érték megadásával tiltsuk le az
útválasztást végzõ program
használatát:router_enable="NO"routedFontos, hogy a routed démon ne
induljon el, mivel routed hajlamos
törölni a ppp által
létrehozott alapértelmezett
útválasztási bejegyzéseket.Ezenkívül még a
sendmail_flags
változóról szóló
sorból is érdemes kivenni a
opciót, máskülönben a
sendmail minden mûvelet
megkezdése elõtt nekiáll felderíteni
a hálózatot, és ezzel megindítja a
tárcsázást. Próbáljuk meg
így átírni az
értékét:sendmail_flags="-bd"sendmailEzért cserébe viszont a
sendmail programot a ppp kapcsolat
létrejöttekor mindig utasítanunk kell, hogy
újból ellenõrizze a levelezési sort.
Ezt a következõk begépelésével
érhetjük el:&prompt.root; /usr/sbin/sendmail -qUgyanezt automatikusan is meg tudjuk tenni a
!bg paranccsal a
ppp.linkup
állományban:1 szolgaltato:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30mSMTPHa nem felelne meg ez a megoldás, akkor egy
dfilter is beállítható az
SMTP forgalom szûrésére. A
példák között megtaláljuk ennek
pontos minkéntjét.Ezután már csak a gépünk
újraindítása maradt hátra. Az
újraindítás után már be is
gépelhetjük:&prompt.root; pppahol a dial szolgaltato parancs
kiadásával meg tudjuk kezdeni a PPP kapcsolat
felépítését, vagy a
ppp programot megkérhetjük
arra, hogy automatikusan kezdje el, amint van kimenõ
forgalom (és nem készítettük el a
start_if.tun0 szkriptet). Ekkor
gépeljük be ezt:&prompt.root; ppp -auto szolgaltatoÖsszefoglalásGyorsan foglaljuk össze, hogy az ppp
beállításához milyen
lépések megtétele szükséges
az elsõ alkalommal:A kliens oldalán:Gyõzõdjünk meg róla, hogy a
tun eszköz benne van a
rendszermagban.Ellenõrizzük, hogy a
tunN
eszközhöz tartozó állomány
rendelkezésre áll a
/dev könyvtárban.Hozzunk létre egy bejegyzést az
/etc/ppp/ppp.conf
állományban. A
pmdemand
példából a legtöbb
szolgáltató esetében ki tudunk
indulni.Ha dinamikus IP-címet kapunk, akkor az
/etc/ppp/ppp.linkup
állományba is vegyünk fel egy
bejegyzést.Frissítsük az
/etc/rc.conf
állományunkat.Ha igény szerint akarunk
tárcsázni, akkor hozzunk létre
start_if.tun0 néven egy
szkriptet.A szerver oldalán:Gondoskodjunk róla, hogy a
tun eszköz
támogatása szerepel rendszermagban.Gyõzõdjünk meg róla, hogy a
tunN
eszköz megtalálható a
/dev könyvtárban.Az /etc/passwd
állományban (a &man.vipw.8; program
használatával) hozzunk létre
bejegyzéseket.A felhasználók könyvtáraiban
hozzunk létre egy olyan profilt, amely ppp
-direct direct-server vagy egy ehhez
hasonló parancsot futtat le.Az /etc/ppp/ppp.conf
állományban adjuk meg egy bejegyzést.
A direct-server példa ehhez
egy remek alapot biztosít.Az /etc/ppp/ppp.linkup
állományban hozzunk létre egy
bejegyzést.Frissítsük az
/etc/rc.conf
állományunkat.Gennady B.SorokopudEgyes részeit készítette:
RobertHuffA rendszerszintû PPP alkalmazásaA rendszerszintû PPP
beállításaPPPrendszer PPPMielõtt a gépünkön nekikezdünk a
PPP beállításának,
ellenõrizzük, hogy a pppd
megtalálható a /usr/sbin
könyvtárban és az
/etc/ppp könyvtár
létezik.A pppd két módban
képes mûködni:kliensként — a
gépünket soros vonali vagy modemes PPP
kapcsolaton keresztül csatlakoztatjuk a
külvilághozPPPszerverszerverként — a
számítógépünk egy
hálózat része, ahol a többieket a
PPP használatával kapcsoljuk összeMind a két esetben egy konfigurációs
állomány tartalmát kell
összeállítanunk (ez az
/etc/ppp/options vagy a
~/.ppprc, ha a gépünkön
több felhasználó is PPP-t akar
használni).Egy modemes vagy soros vonali szoftverre is
szükségünk lesz (ez többnyire a comms/kermit), amellyel távoli
gépeket tudunk felhívni és
feléjük kapcsolatot felépíteni.TrevRoydhouseAz alapjául szolgáló
információkat adta: A pppd mint kliensPPPkliensCiscoA most következõ
/etc/ppp/options állománnyal
egy Cisco terminál szerverhez tudunk kapcsolódni
egy PPP vonalon keresztül.crtscts # a hardveres forgalomirányítás engedélyezése
modem # modem vezérlõvonal
noipdefault # a távoli PPP szervernek kell IP-címet adnia
# ha az IPCP alapú egyeztetés során a távoli gép nem küld
# nekünk IP-címet, akkor vegyük ki ezt a beállítást
passive # LCP csomagokat várunk
domain ppp.ize.com # ide írjuk be a hálózati nevünket
:távoli_ip # ide kell írni a távoli PPP szerver IP-címét
# a PPP kapcsolaton keresztül erre fogjuk továbbküldeni a csomagokat
# ha nem adtuk meg "noipdefault" beállítást, akkor ezt a sort
# írjuk át helyi_ip:távoli_ip alakúra
defaultroute # adjuk meg ezt a sort is, ha a PPP szerverünket egyben az
# alapértelmezett átjárónak is be akarjuk állítaniÍgy kapcsolódunk:KermitmodemTárcsázzuk a távoli gépet a
Kermit (vagy bármilyen
más modemes program)
elindításával, majd adjuk meg a
felhasználói nevünket és
jelszavunkat (vagy bármi mást, amivel a
távoli gépen engedélyezni tudjuk a PPP
használatát).Lépjünk ki a
Kermit programból
(anélkül, hogy bontanánk a
vonalat).Írjuk be a következõket:&prompt.root; /usr/src/usr.sbin/pppd.new/pppd /dev/tty0119200Ne felejtsük el megadni a megfelelõ
sebességet és eszközt.A számítógépünk most
már PPP-n keresztül csatlakozik. Ha valamilyen
okból nem sikerülne felépíteni a
kapcsolatot, akkor vegyük fel a
beállítást is az
/etc/ppp/options állományba,
majd a konzolra érkezõ üzenetek
segítségével próbáljuk meg
felderíteni a probléma okát.Az alábbi /etc/ppp/pppup szkript
mind a három fázist automatikussá
teszi:#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.dial
pppd /dev/tty01 19200KermitAz /etc/ppp/kermit.dial egy olyan
Kermit szkript, amivel
tárcsázni tudunk és a távoli
gépen elvégezni az összes
szükséges hitelesítést (a
leírás végén találhatunk is
egy ilyen szkriptet példaként).Az alábbi /etc/ppp/pppdown
szkripttel tudjuk bontani a PPP vonalat:#!/bin/sh
pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill -TERM ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
/sbin/ifconfig ppp0 down
/sbin/ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.hup
/etc/ppp/ppptestA /usr/etc/ppp/ppptest
elindításával ellenõrizni tudjuk, hogy
a pppd még mindig fut. Ez valahogy
így néz ki:#!/bin/sh
pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'pppd running: PID=' ${pid-NONE}
else
echo 'No pppd running.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0A vonal bontásához az
/etc/ppp/kermit.hup szkriptet kell
elindítanunk, amiben a következõ
szerepelnek:set line /dev/tty01 ; ide írjuk be a saját modemünket
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
echo \13
exitA kermit helyett a
chat programot is
használhatjuk:A következõ két állomány
már elég egy kapcsolat
létrehozásához pppd
használatával:/etc/ppp/options:/dev/cuad1 115200
crtscts # a hardveres forgalomirányítás engedélyezése
modem # modemes vezérlõvonal
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault # a távoli PPP kiszolgálónak adnia kell egy IP-címet
# ha a távoli gép nem küldi az IP-címünk az IPCP alapú egyeztetés során
# akkor távolítsuk el ezt a beállítást
passive # LCP csomagokat várunk
domain sajat.tartomany # ide írjuk be a saját tartománynevünket
: # a távoli PPP kiszolgáló IP-címét tegyük ide
# ezen keresztül fogjuk továbbküldeni a PPP kapcsolaton áthaladó csomagokat
# nem adtuk meg a "noipdefault" beállítást, akkor ezt
# sort írjuk át helyi_ip:távoli_ip alakúra
defaultroute # ez a sor akkor kell, ha a PPP szerver lesz az
# alapértelmezett átjárónk is/etc/ppp/login.chat.script:A most következõt egyetlen sorba kell
írnunk.ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTtelefon.szám
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: bejelentkezési-azonosító
TIMEOUT 5 sword: jelszóMiután ezeket telepítettük és a
megfelelõképpen módosítottuk,
már csak a pppd parancsot kell
kiadnunk, valahogy így:&prompt.root; pppdA pppd mint szerverAz /etc/ppp/options
állományban nagyjából a
következõknek kell szerepelnie:crtscts # hardveres forgalomirányítás
netmask 255.255.255.0 # hálózati maszk (nem kötelezõ)
192.114.208.20:192.114.208.165 # a helyi és távoli gépek IP-címei
# a helyi IP-nek el kell térnie az Ethernet
# (vagy más egyéb) felülethez tartozó címtõl.
# a távoli IP a távoli géphez rendelt IP-cím
domain ppp.ize.com # a saját tartományunk
passive # az LCP csomagok várása
modem # modemes vonalAz alábbi /etc/ppp/pppserv
szkript a pppd démont
szervernek állítja be:#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
# reset ppp interface
ifconfig ppp0 down
ifconfig ppp0 delete
# enable autoanswer mode
kermit -y /etc/ppp/kermit.ans
# run ppp
pppd /dev/tty01 19200A szerver leállítására a
következõ /etc/ppp/pppservdown
szkriptet kell használnunk:#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.noansA következõ Kermit
szkript (/etc/ppp/kermit.ans)
engedélyezi vagy tiltja le a modem automatikus
válaszadását. Körülbelül
így épül fel:set line /dev/tty01
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
inp 5 OK
echo \13
out ATS0=1\13 ; "ATS0=0\13"-ra írjuk át, ha le akarjuk tiltani az
; automatikus válaszadást
inp 5 OK
echo \13
exitAz /etc/ppp/kermit.dial
elnevezésû szkriptet használhatjuk arra, hogy
tárcsázzunk távoli gépeket és
hitelesítsük magunkat rajtuk. Írjuk
át az igényeinknek megfelelõen, tegyük
bele a bejelentkezéshez szükséges
azonosítót és jelszót, illetve a
modemünk és a távoli gép
válaszai szerint módosítsuk az
input utasításokat.;
; írjuk ide azt a com vonalat, amire a modemünk csatlakozik:
;
set line /dev/tty01
;
; ide kerül a modem sebessége:
;
set speed 19200
set file type binary ; teljes 8 bites állomány-átvitel
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
set modem hayes
set dial hangup off
set carrier auto ; adjuk meg a SET CARRIER utasítást is, ha kell
set dial display on ; adjuk meg a SET DIAL utasítást is, ha kell
set input echo on
set input timeout proceed
set input case ignore
def \%x 0 ; a bejelentkezés számlálója
goto slhup
:slcmd ; tegyük a modemet parancs módba
echo Tegyuk a modemet parancs modba.
clear ; töröljük a be nem olvasott karaktereket a bemeneti pufferbõl
pause 1
output +++ ; a Hayes-féle helyettesítési szekvenciák használata
input 1 OK\13\10 ; várjuk meg az OK jelzést
if success goto slhup
output \13
pause 1
output at\13
input 1 OK\13\10
if fail goto slcmd ; ha a modem nem válaszol OK-val, akkor próbálkozzunk újra
:slhup ; bontsuk a vonalat
clear ; töröljük ki a be nem olvasott karaktereket a bemeneti pufferbõl
pause 1
echo A vonal bontasa.
output ath0\13 ; a kapcsolat létrejöttét jelzõ Hayes-parancs
input 2 OK\13\10
if fail goto slcmd ; ha nincs OK válasz, akkor tegyük a modemet parancs módba
:sldial ; tárcsázzuk a számot
pause 1
echo Dialing.
output atdt9,550311\13\10 ; ide írjuk a telefonszámot
assign \%x 0 ; nullázzuk le az idõzítõt
:look
clear ; töröljük az olvasatlan karaktereket a bemeneti pufferbõl
increment \%x ; számoljuk a másodperceket
input 1 {CONNECT }
if success goto sllogin
reinput 1 {NO CARRIER\13\10}
if success goto sldial
reinput 1 {NO DIALTONE\13\10}
if success goto slnodial
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 60 goto look
else goto slhup
:sllogin ; bejelentkezés
assign \%x 0 ; nullázzuk le az idõzítõt
pause 1
echo A bejelentkezes keresese.
:slloop
increment \%x ; számoljuk a másodperceket
clear ; töröljük az olvasatlan karaktereket a bemeneti pufferbõl
output \13
;
; ide írjuk be a várható bejelentkezési sablont:
;
input 1 {Felhasznaloi nev: }
if success goto sluid
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 10 goto slloop ; tízszer próbálkozzunk a bejelentkezéssel
else goto slhup ; 10 sikertelen próbálkozás után bontsuk a vonalat és kezdjük újra
:sluid
;
; ide írjuk be a felhasználói azonosítónkat:
;
output ppp-login\13
input 1 {Jelszo: }
;
; ide tegyük a hozzátartozó jelszót:
;
output ppp-password\13
input 1 {Atvaltas SLIP modba.}
echo
quit
:slnodial
echo \7Nincs vonal. Ellenorizzuk a telefonvonalat!\7
exit 1
; local variables:
; mode: csh
; comment-start: "; "
; comment-start-skip: "; "
; end:TomRhodesKészítette: PPP kapcsolatok
hibaelhárításaPPPhibaelhárításEbben a szakaszban összefoglalunk néhány
olyan problémát, ami a PPP modemen keresztüli
használata során keletkezhet.
Például pontosan tisztában kell
lennünk azzal, hogy a tárcsázott rendszer
milyen adatokat és hogyan fog tõlünk
bekérni. Egyes szolgáltatók egy
ssword promptot, míg mások egy
password promptot adnak. Ha a
ppp szkript nem illeszkedik ezekhez az
elvárásokhoz, akkor nem tudunk bejelentkezni. A
ppp csatlakozások
nyomonkövetésének egyik leggyakoribb
módja a manuális kapcsolódás. A
következõkben ezért a manuális
csatlakozásokra vonatkozó
legszükségesebb ismereteket mutatjuk be
lépésrõl lépésre.Az eszközleírók
ellenõrzéseHa újrakonfiguráltuk a rendszermagunkat,
akkor minden bizonnyal még emlékszünk a
sio eszközre. Ha nem
készítettünk volna új rendszermagot,
ne aggódjunk. Egyszerûen csak a
dmesg parancs kimenetében
keressük meg a modemes eszközhöz tartozó
adatokat:&prompt.root; dmesg | grep sioEnnek eredményeképpen kapunk egy rövid
összefoglalást a sio
típusú eszközökrõl. Ezek lesznek
a számunkra fontos COM portok. Amennyiben a
modemünk egy szabványos soros portként
mûködik, akkor a sio1 vagy
COM2 néven kell
keresnünk. Ha megtaláltuk, akkor nem kell
új rendszermagot fordítanunk. Amikor a soros
vonali modemünk a sio1 vagy
COM2 porton csatlakozik DOS-ban,
akkor itt a neki megfelelõ eszköz a
- /dev/cuad1 lesz (vagy
- /dev/cuaa1 &os; 5.X alatt).
+ /dev/cuad1 lesz.
Kapcsolódás manuálisanA ppp kézi
irányításával gyorsan,
egyszerûen és minden fájdalomtól
mentesen tudunk csatlakozni az internethez, de olyankor is
hasznos, ha ki akarjuk deríteni, hogy az
internet-szolgáltatónk milyen módon kezeli
a kliensek ppp csatlakozásait. Nos,
akkor ehhez indítsuk is el a
PPP alkalmazást a
paranccsorból. Az alábbi példákban
rendre a pelda névvel hivatkozunk a
PPP-t mûködtetõ
gépre. A ppp tehát a
ppp parancs
begépelésével
indítható:&prompt.root; pppEzzel elindítottuk a ppp
programot.ppp ON pelda> set device /dev/cuad1Beállítjuk a modemünket, ami ebben az
- esetben a cuad1 (vagy
- /dev/cuaa1 &os; 5.X alatt).
+ esetben a cuad1.
ppp ON pelda> set speed 115200Beállítjuk a csatlakozás
sebességét, ami ebben az esetben 115 200
kbit/mp.ppp ON pelda> enable dnsAzt mondjuk a ppp programnak, hogy
állítsa be a névfeloldót és
az /etc/resolv.conf állományt
egészítse ki a megfelelõ
névszerverekkel. Ha a ppp nem
képes megállapítani a gépünk
nevét, akkor késõbb ezt még
kézzel is be tudjuk állítani.ppp ON pelda> termVáltsunk terminál módba,
így mi irányítjuk a modemet.deflink: Entering terminal mode on /dev/cuad1
type '~h' for helpat
OK
atdt123456789Az at paranccsal hozzuk alaphelyzetbe a
modemet, majd a atdt paranccsal és egy
telefonszám megadásával megkezdjük a
szolgáltató
tárcsázását.CONNECTEzzel jelez vissza a kapcsolódás
megkezdésérõl. Ha itt bármilyen
hardvertõl független csatlakozási
probléma merülne fel, akkor ezen a ponton tudunk
ellene tenni valamit.ISP Login:felhasznalonevItt kell megadnunk a felhasználói
nevünket, ami megegyezik a szolgáltató
által adott azonosítónkkal.ISP Pass:jelszoEzúttal a jelszavunkat kell megadni, amit
szintén a szolgáltató bocsátott
rendelkezésünkre az azonosító mellett.
Akárcsak amikor bejelentkezünk a &os;-be, itt sem
fog látszódni a jelszavunk.Shell or PPP:pppSzolgáltatótól függõen
elõfordulhat, hogy ez a sor soha nem is jelenik meg. Itt
kérdezik meg, hogy a szolgáltatónál
egy shellt akarunk használni, vagy csak elindítani
egy ppp kapcsolatot. Ebben a
példában természetesen a
ppp opciót választjuk, mivel
egy internet-elõfizetés birtokosai vagyunk.Ppp ON pelda>Figyeljük meg, hogy az elsõ
nagybetûssé vált. Ezzel jelzi a program,
hogy sikeresen csatlakoztunk a
szolgáltatónkhoz.PPp ON pelda>Sikeresen azonosítottuk magunkat a
szolgáltató felé és várjuk az
IP-címünket.PPP ON pelda>Megkaptuk az IP-címünket és ezzel
sikeresen felépült a kapcsolat.PPP ON pelda>add default HISADDRItt adjuk hozzá az alapértelmezett
útvonalat, amire mindenképpen
szükségünk van ahhoz, hogy a
külvilággal is kapcsolatban tudjunk lépni,
mivel jelenleg csak a vonal másik végén
lévõ gépet érjük el. Ha ezt
bizonyos, már meglevõ útvonalak miatt nem
sikerül felvenni, akkor az elé
tegyünk egy ! jelet. Ezt viszont a
kapcsolat felépítése elõtt is
megtehetjük, így menet közben az új
útvonalat felveszi a többi közé.Ha eddig minden remekül ment, akkor ezen ponton
már egy élõ internet-kapcsolattal
rendelkezünk, és a programot a CTRLz
lenyomásával a háttérbe is
tehetjük. Ha a PPP felirat ismét
a ppp feliratra váltana, akkor az arra
utal, hogy elvesztettük a kapcsolatot. Erre nem árt
figyelni, mivel ezzel jelzi az aktuális kapcsolat
állapotát. A nagybetûs P-k jelölik,
hogy az adott szinten megvan a kapcsolat a
szolgáltató felé, a kisbetûs p-k pedig
arra utalnak, hogy azon a szinten a kapcsolat valamiért
megszûnt. A ppp csak ezt a két
állapotot ismeri.NyomkövetésHa közvetlen vonalunk van és mégsem
sikerül kapcsolatot létesíteni, akkor
tiltsuk le a hardveres CTS/RTS
forgalomirányítást a paranccsal. Ez leginkább akkor fordul
elõ, ha csatlakoztunk egy olyan
terminálszerverhez, amely valamennyire képes
kezelni a PPP kapcsolatokat, de a
PPP megáll, mikor adatot
próbál írni a kommunikációs
csatornára, mivel arra a CTS (Clear
To Send — lehet küldeni)
jelzésre vár, amely soha nem fog
megérkezni. Ha mégis ezt a
beállítást akarjuk használni,
akkor a
beállításra is
szükségünk lesz, mivel ez kell bizonyos
karakterek hardverfüggõ
átküldésének
felülbírálásához,
legtöbb esetben a XON/XOFF miatt. A &man.ppp.8; man
oldalon találhatunk errõl és ennek
használatáról részletesebb
leírást.Ha egy régebbi gyártmányú
modemünk van, akkor a
beállítás alkalmazása is javasolt.
Alapértelmezés szerint ugyanis nincs
paritás, de a régebbi modemek és (a
forgalom növekedésével) egyes
szolgáltatók még használják
hibaellenõrzésre. Ha Compuserve
elõfizetésünk van, mindenképpen
kapcsoljuk be.Amikor a PPP nem tér
vissza parancs módba, akkor gyaníthatóan
az egyeztetésben lesz valahol probléma, mivel a
szolgáltató a kliensüktõl várja
a kezdeményezését. Ezen a ponton a
~p paranccsal utasíthatjuk a ppp
programot a konfigurációs
információk
átküldésének
megkezdésére.Ha egyáltalán nem kapunk promptot a
bejelentkezéshez, akkor nagy a
alószínûsége, hogy az iménti
&unix; stílusú hitelesítés helyett
PAP vagy CHAP protokollt
kell használnunk. A PAP vagy
CHAP használatához
mindössze a következõ
beállításokat kell megadnunk
PPP programnak a terminál
mód aktiválása elõtt:ppp ON pelda> set authname felhasznalonevahol a felhasznalonev helyett a
szolgáltatótól kapott
azonosítót kell beírnunk.ppp ON pelda> set authkey jelszoahol a jelszo helyett a
szolgáltatótól kapott jelszót kell
megadnunk.Ha sikeresen csatlakoztunk, de még nem
találunk semmilyen tartománynevet, akkor a
&man.ping.8; és IP-cím
segítségével tudjuk megvizsgálni,
hogy mûködõképes-e a kapcsolat. Ha
100 százalékos (100%) csomagvesztést
(packet loss) tapasztalunk, akkor szinte biztos, hogy nincs
meg az alapértelmezett útvonal.
Nézzük meg újra, hogy az beállítást
megadtuk-e a kapcsolat felépítésekor. Ha
viszont már el tudunk érni egy távoli
IP-címet, akkor nagyon valószínû,
hogy az /etc/resolv.conf
állományba nem került bele a megfelelõ
névfeloldó címe. Az említett
állománynak valahogy így kellene
kinéznie:domain minta.com
nameserver x.x.x.x
nameserver y.y.y.yAhol az x.x.x.x és
y.y.y.y címeket a
szolgáltatónk névszervereinek
címével kell behelyettesíteni. Ez nem
minden esetben található meg az
elõfizetõi szerzõdésben, de ha
felhívjuk a szolgáltatónkat, akkor minden
bizonnyal elárulják ezeket a
címeket.A &man.syslog.3; is alkalmas a
PPP kapcsolatok
naplózására. Ehhez csupán ennyit
kell megadnunk az /etc/syslog.conf
állományban:!ppp
*.* /var/log/ppp.logA legtöbb esetben ez a lehetõség
már eleve adott.JimMockKészítette (a
http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html
alapján): A PPP használata Ethernet felett (PPPoE)PPPover EthernetPPPoEPPP, over EthernetEbben a szakaszban azt ismertetjük, hogyan
állítsuk be a PPP-t Ethernet felett (PPP over
Ethernet, PPPoE).A rendszermag beállításaA PPPoE mûködéséhez most már
semmilyen módosításra nincs
szükség a rendszermag
beállításaiban. Amennyiben a hozzá
szükséges Netgraph támogatás nem
található a rendszermagban, akkor azt a
ppp önmûködõen
betölti.A ppp.conf
beállításaÍme egy mûködõ
ppp.conf állomány:default:
set log Phase tun command # itt akár egy részletesebb naplózást is be tudunk állítani
set ifaddr 10.0.0.1/0 10.0.0.2/0
a_szolgaltato_neve:
set device PPPoE:xl1 # az xl1 helyére írjuk be a saját Ethernet eszközünket
set authname FELHASZNALONEV
set authkey JELSZO
set dial
set login
add default HISADDRA ppp futtatásaroot
felhasználóként adjuk ki az alábbi
parancsot:&prompt.root; ppp -ddial a_szolgaltato_neveA ppp indítása a
rendszerindítás soránAz /etc/rc.conf
állományba vegyük fel a
következõket:ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # csak akkor, ha címfordítás kell a helyi hálózaton, máskülönben "NO"
ppp_profile="a_szolgaltato_neve"A szolgáltatási címkék
használataBizonyos esetekben szolgáltatási
címkét (service tag) is használnunk kell a
kapcsolat létrehozásához. A
szolgáltatási címkék
segítségével tudjuk
megkülönböztetni az adott hálózaton
elérhetõ különbözõ PPPoE
szervereket.A szolgáltatótól kapott
dokumentációban szerepelnie kell minden ehhez
kapcsolódó információnak.
Amennyiben nem találjuk, érdeklõdjünk a
szolgáltatónál.Utolsó reményként
megpróbálhatjuk a Portgyûjteményben
található Roaring Penguin
PPPoE nevû program által javasolt
módszert. Ennél vegyük azonban
számításba, hogy félre tudja
programozni a modemünket, amitõl akár
használhatatlanná is válhat, ezért
kétszer is gondoljuk meg, mielõtt használni
kezdjük. Egyszerûen csak tegyük fel a
szolgáltatótól a modemünk mellé
kapott szoftvert. Ezután lépjünk be a
program System menüjébe. Itt
kell lennie a megfelelõ profilnak, ami
általában az ISP.A profil neve (a szolgáltatás
címkéje) a ppp.conf
állományban a PPPoE bejegyzés
részeként jelenik meg a set
device parancsban (ennek pontos részleteit
lásd a &man.ppp.8; man oldalon). Tehát
nagyjából így néz ki:set device PPPoE:xl1:ISPAz xl1 eszköz nevét
ne felejtsük el a megfelelõ Ethernet
kártyához tartozó eszköz nevére
kicserélni.Az ISP helyett pedig írjuk
be az imént kiderített profil nevét.A témával kapcsolatban az alábbi
helyeken találhatunk további
információkat:Cheaper
Broadband with FreeBSD on DSL, írta: Renaud
Waldura (angolul).
Nutzung von T-DSL und T-Online mit FreeBSD,
írta: Udo Erdelhoff (németül).PPPoE és a &tm.3com; HomeConnect ADSL Modem Dual
LinkEz a modem nem felel meg az RFC 2516
elõírásainak (A Method for
transmitting PPP over Ethernet (PPPoE), írta:
L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone
és R. Wheeler). Helyette az Ethernet keretekben
eltérõ csomagtípus kódokat
használ. A 3Com-nál
panaszkodjunk, ha szerintünk is be kellene tartaniuk a
PPPoE specifikációját.A &os; is csak akkor lesz képes
együttmûködni ezzel az eszközzel, ha
beállítjuk a megfelelõ sysctl
változót. Ezt a rendszerindítás
során automatikusan meg tudjuk tenni az
/etc/sysctl.conf
módosításával:net.graph.nonstandard_pppoe=1vagy közvetlenül az alábbi
paranccsal:&prompt.root; sysctl net.graph.nonstandard_pppoe=1Sajnos, mivel ez egy rendszerszintû
beállítás, ezért a &tm.3com;
HomeConnect ADSL Modem
és más normális PPPoE kliens vagy szerver
egyszerre nem használható.PPP ATM felett (PPPoA)PPPover ATMPPPoAPPP, over ATMMost a PPP ATM feletti (PPP over ATM, PPPoA)
beállítását fogjuk bemutatni. A PPPoA
az európai DSL szolgáltatók
körében igen nagy népszerûségnek
örvend.PPPoA használata az Alcatel &speedtouch;
USB-velAz ilyen eszközökhöz tartozó PPPoA
támogatás a &os;-ben portként áll
rendelkezésre, mivel az ehhez szükséges
firmware csak az Alcatel
licencelési feltételei szerint
terjeszthetõ, ezért nem lehet része az alap
&os; rendszernek.A szoftver telepítéséhez ezért a
Portgyûjteményt kell
használnunk. Telepítsük a net/pppoa portot és
kövessük a mellékelt
utasításokat.Sok más USB-s eszközhöz hasonlóan az
Alcatel &speedtouch; USB-nek a gépünkrõl kell
letöltenie a mûködéséhez
szükséges firmware-t. Ez a folyamat &os; alatt
automatizálható, tehát ez a
másolás minden esetben megtörténik,
amikor az eszközt az USB portra csatlakoztatjuk. Ehhez az
/etc/usbd.conf állományba a
következõ adatokat kell beletennünk. Az
állományt root
felhasználóként tudjuk csak
szerkeszteni.device "Alcatel SpeedTouch USB"
devname "ugen[0-9]+"
vendor 0x06b9
product 0x4061
attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"Az usbd, vagyis az USB
démon engedélyezéséhez az
/etc/rc.conf állományba
tegyük bele az alábbit:usbd_enable="YES"Emellett még a ppp
kapcsolatot is be tudjuk állítani az
indítás során. Ehhez mindössze a
következõ sort kell megadnunk az
/etc/rc.conf állományban.
Ismét megemlítjük, hogy ezt a mûveletet
csak a root felhasználóval
tudjuk végrehajtani.ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"Ezután úgy tudjuk szóra bírni a
kapcsolatot, ha a net/pppoa
porthoz mellékelt ppp.conf
állományt használjuk fel
kiindulásként.Az mpd használataAz mpd
segítségével többféle
szolgáltatáshoz, köztük a PPTP-hez
hozzá tudunk férni. Az
mpd a Portgyûjteményben
net/mpd néven
található meg. Sok ADSL modemnek
szüksége van egy PPTP tunnelre közte és
gép között. Ilyen modem például
az Alcatel &speedtouch; Home is.Elõször magát a portot kell
telepítenünk, majd ezután már be
tudjuk állítani az
mpd-t a saját és a
szolgáltatónk igényei szerint. A port a
rengeteg leírással megtûzdelt minta
konfigurációs állományait a
PREFIX/etc/mpd/
könyvtárba teszi. Itt a
PREFIX azt a könyvtárat
jelöli, ahova a portok kerülnek. Ez alapból a
/usr/local/. Az
mpd
beállításáról
szóló teljes dokumentáció a
telepítés után elérhetõ HTML
formátumban a
PREFIX/share/doc/mpd/
könyvtárban. Íme egy példa az
mpd
beállítására ADSL kapcsolatok
esetében. Az ezzel kapcsolatos
beállításaink két
állományra bomlanak, melyek közül az
elsõ az mpd.conf:default:
load adsl
adsl:
new -i ng0 adsl adsl
set bundle authname felhasználónév
set bundle password jelszó
set bundle disable multilink
set link no pap acfcomp protocomp
set link disable chap
set link accept chap
set link keep-alive 30 10
set ipcp no vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set iface route default
set iface disable on-demand
set iface enable proxy-arp
set iface idle 0
openA felhasználói azonosító,
amellyel a szolgáltató felé
hitelesítjük magunkat.Az azonosítóhoz tartozó
jelszó, amelyet szintén a
szolgáltatól kaptunk.Az mpd.links állomány
tartalmazza a felépítendõ kapcsolatra vagy
kapcsolatokra vonatkozó információkat.
Például az elõbbiekhez tartozó
mpd.links tartalma ez:adsl:
set link type pptp
set pptp mode active
set pptp enable originate outcall
set pptp self 10.0.0.1
set pptp peer 10.0.0.138A &os;-s számítógépünk
címe, ahonnan az mpd
indul.Az ADSL modemünk IP-címe. Az Alcatel
&speedtouch; Home esetén ez a cím
alapértelmezés szerint a 10.0.0.138.A kapcsolat ezek után pillanatok alatt
felépíthetõ, ha a root
felhasználóval kiadjuk a következõ
parancsot:&prompt.root; mpd -b adslA kapcsolat állapotát a következõ
paranccsal tudjuk ezután ellenõrizni:&prompt.user; ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff&os; alatt az mpd használata
ajánlott az ADSL szolgáltatások
eléréséhez.A pptpclient használata&os; alatt a net/pptpclient
segítségével is tudunk PPPoA
típusú szolgáltatásokhoz
kapcsolódni.A net/pptpclient
felhasználásával úgy tudunk DSL
szolgáltatásokat elérni, ha
feltelepítjük a hozzátartozó portot
vagy csomagot, majd módosítjuk az
/etc/ppp/ppp.conf állományt.
Mind a két mûveletet csak root
felhasználóként tudjuk
lebonyolítani. Ehhez egy ppp.conf
állományt lentebb adtunk meg. A
ppp.conf állományban
található további
beállítási lehetõségekrõl
a &man.ppp.8; man oldalon olvashatunk.adsl:
set log phase chat lcp ipcp ccp tun command
set timeout 0
enable dns
set authname felhasználónév
set authkey jelszó
set ifaddr 0 0
add default HISADDRA DSL szolgáltatónktól kapott
felhasználói név.Az elõfizetéshez tartozó
jelszó.Mivel az elõfizetéshez tartozó
jelszót a ppp.conf
állományba titkosítatlan formában
kell szerepeltetnünk, ezért gondoskodjunk
róla, hogy senki sem képes olvasni a
tartalmát. A most következõ parancsokkal
beállítjuk, hogy ez az állomány
csak a root felhasználó
számára legyen olvasható. A
részletekért lásd a &man.chmod.1;
és &man.chown.8; man oldalakat.&prompt.root; chown root:wheel /etc/ppp/ppp.conf
&prompt.root; chmod 600 /etc/ppp/ppp.confEzzel a paranccsal a DSL útválasztónk
felé nyitunk egy tunnelt a PPP kapcsolathoz. Az
Ethernetes DSL modemek általában egy elõre
beállított helyi hálózati
IP-címmel rendelkeznek, amelyhez tudunk csatlakozni. Az
Alcatel &speedtouch; Home esetében ez a cím a
10.0.0.138. Az
útválasztóhoz adott
dokumentációban keressük meg, hogy az
eszközünkhöz konkrétan milyen cím
tartozik. A tunnel megnyitásához és a PPP
kapcsolat megindításához a
következõ parancsot kell kiadnunk:&prompt.root; pptp címadslAz iménti parancs végére még
érdemes odatenni az et jelet
(&) is, mivel így a
pptp
mûködését a háttérben
folytatja.A parancs hatására a virtuális tunnelt
megtestesítõ tun
eszköz jön létre a
pptp és
ppp programok között.
Miután visszakaptuk a parancssort, vagy a
pptp program
megerõsítette a kapcsolódás
sikerességét, a keletkezett járatot
így tudjuk ellenõrizni:&prompt.user; ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918Ha nem tudnánk valamiért csatlakozni, akkor
elõször nézzük meg az
útválasztónk
beállításait, ami általában a
telnet vagy egy
böngészõ segítségével
elérhetõ. Ha még mindig nem vagyunk
képesek csatlakozni, akkor a pptp
parancs kimenetében és
ppp/var/log/ppp.log néven
elérhetõ naplójában kereshetünk
árulkodó nyomokat.SatoshiAsamiEredetileg készítette: GuyHelmerA hozzávalókat biztosította:
PieroSeriniA SLIP használataSLIPA SLIP kliensek beállításaSLIPkliensA következõkben azt mutatjuk be, hogy egy &os;-s
gépet miként tudunk egy hálózaton
statikus névvel beállítani a SLIP
használatával. A dinamikus hálózati
nevek használatakor (vagyis amikor a címünk
minden egyes tárcsázáskor
megváltozhat) egy valamivel bonyolultabb
beállításra van
szükségünk.Elõször is állapítsuk meg, hogy a
modemünk melyik soros portra csatlakozik. Sokan
/dev/modem néven egy szimbolikus
linket hoznak létre a valódi eszközre,
- például a /dev/cuadN (vagy
- &os; 5.X alatt a /dev/cuaaN)
+ például a /dev/cuadN
leíróra. Ennek köszönhetõen az
eszköz tényleges névetõl el tudunk
vonatkoztatni és soha nem kell módosítanunk
semmit, ha a modemet például egy másik
portra kell átraknunk. Ugyanis könnyedén
kacifántossá tud válni a helyzet, amikor
egyszerre kell megváltoztatnunk egy rakat dolgot az
/etc könyvtárban és
módosítanunk az összes
.kermrc állományt!
- A /dev/cuad0 (vagy a &os; 5.X
- alatt a /dev/cuaa0) a
+ A /dev/cuad0 a
COM1 port, a
- cuad1 (avagy
- /dev/cuaa1) a
- COM2 és így
- tovább.
+ cuad1 a COM2
+ és így tovább.A rendszermag beállításait
tartalmazó állományban a
következõnek mindenképpen szerepelnie
kell:device slMivel ez általában a
GENERIC rendszermagban
megtalálható, így ez nem okoz semmilyen
gondot, kivéve, hogy ha korábban már
kitöröltük.Dolgok, amiket csak egyszer kell megtenniVegyük fel az otthoni gépünket, az
átjárónkat és a
névszervereket az /etc/hosts
állományba. Erre álljon itt egy
konkrét példa:127.0.0.1 localhost loghost
136.152.64.181 water.CS.Example.EDU water.CS water
136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
128.32.136.9 ns1.Example.EDU ns1
128.32.136.12 ns2.Example.EDU ns2Ehhez a &os; 5.0 elõtti változataiban
az /etc/host.conf
állományban a hosts
szónak meg kell elõznie a
bind szót. A &os; 5.0
utáni változatai erre a célra
már az /etc/nsswitch.conf
állományt használják,
ezért az állományban szereplõ
sorban ilyenkor a
dns szó elõtt a
files szónak kell megjelennie.
Ezek nélkül mókás dolgok tudnak
történni rendszerünkben.Szerkesszük át az
/etc/rc.conf
állományt.A hálózati nevünket a
következõ sorban tudjuk megadni:hostname="az.en.nevem"Ide a gépünk teljes internetes
hálózati nevét kell
beírnunk.default routeAz alapértelmezett
átjárót az alábbi sor
módosításával tudjuk
beállítani úgy, hogy adefaultrouter="NO"változó értékét
átírjuk:defaultrouter="slip-gateway"Készítsük el az
/etc/resolv.conf
állományt, amelyben majd a
következõk legyenek:domain CS.Example.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12névszervertartománynévLátható, hogy ezek a
névfeloldásért felelõs szerverek
címei. Természetesen a ténylegesen
beírandó tartomány (domain) neve
és a névszerverek címei mindig az
adott környezetünktõl függenek.Állítsuk be egy jelszót a
root és
toor felhasználóknak
(és mindenki másnak, akinek még nem
lenne).Indítsuk újra a
számítógépünket és
utána gyõzõdjünk meg róla,
hogy a megfelelõ hálózati névvel
rendelkezik.A SLIP kapcsolatok
felépítéseSLIPkapcsolódásTárcsázzunk és
gépeljük be a slip
parancsot, majd ezt követõen a
gépünk nevét és a
jelszót. Ez leginkább a konkrét
környezettõl függ. Ha a
Kermit nevû programot
használjuk, akkor egy ilyen szkripttel is
próbálkozhatunk:# a kermit beállítása
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# a következõ makró felelõs a tárcsázásért és a bejelentkezésért
define slip dial 643-9600, input 10 =>, if failure stop, -
output slip\x0d, input 10 Azonosito:, if failure stop, -
output silvia\x0d, input 10 Jelszo:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0aTermészetesen a felhasználói
nevet és a jelszót a sajátunkra kell
benne kicserélnünk. Miután ezzel is
megvagyunk, a Kermit
paranccsorában a csatlakozáshoz
egyszerûen csak írjuk be, hogy
slip.Nem javasoljuk, hogy az
állományrendszeren a jelszavakat
titkosítatlan formában tároljuk. Mindeki
csak a saját felelõsségére tegyen
ilyet.Hagyjuk el a Kermit
programot (a Ctrlz
billentyûkombinációval bármikor
fel tudjuk függeszteni a futását)
és root
felhasználóként írjuk be a
következõt:&prompt.root; slattach -h -c -s 115200 /dev/modemHa ezután már képesek vagyunk a
ping paranccsal elérni az
útválasztó másik
oldalán található gépet, akkor
az azt jelenti, hogy sikerült csatlakoznunk! Ha
viszont itt még nem járnánk sikerrel,
akkor az slattach parancsnak ne a
paramétert adjuk meg, hanem a
paramétert.Hogyan bontsunk egy kapcsolatotTegyük a következõket:&prompt.root; kill -INT `cat /var/run/slattach.modem.pid`Ez leállítja az slattach
programot. Ne felejtsük el azonban, hogy ezt csak a
root felhasználóval tudjuk
végrehajtani. Ezután térjünk vissza
a kermit programhoz (ha
felfüggesztettük volna, akkor ehhez a
fg parancsra lesz
szükségünk), és lépjünk ki
belõle (q).Az &man.slattach.8; man oldala ehhez a ifconfig
sl0 down parancsot javasolja, amellyel
lényegében leállítjuk a
hozzátartozó felületet.
Igazából a kettõ között nincs
semmilyen komolyabb eltérés (mivel az
(ifconfig sl0 is ugyanezt
eredményezi.)Néha elõfordulhat, hogy a modem
egyszerûen nem hajlandó eldobni a vonalat. Ilyen
esetekben indítsuk el a kermit
programot és lépjünk ki megint.
Másodjára általában már
sikerül.HibaelhárításHa valamiért ez mégsem válna be,
akkor csak nyugodtan kérdezõsködjünk a
&a.net.name; levelezési listán. A tapasztalatok
szerint az embereknek eddig a következõkkel voltak
problémáik:Az slattach
meghívásakor sem a , sem
pedig a paramétert nem
adták meg. (Ez ugyan nem végzetes hiba, de
egyes felhasználók szerint ez
segített megoldani a gondokat.)Az helyett
-et írtak be (egyes
betûtípusoknál könnyen össze
lehet téveszteni ezeket).Az ifconfig sl0
segítségével ellenõrizhetõ
a felület állapota. Például
ilyet láthatunk:&prompt.root; ifconfig sl0
sl0: flags=10<POINTOPOINT>
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00Ha a &man.ping.8; no route to
host hibaüzenetet ad, akkor az
útválasztási
táblázattal van a gond. A netstat
-r paranccsal gyorsan ki tudjuk listázni
a rendszerünkben jelenleg nyilvántartott
utakat:&prompt.root; netstat -r
Routing tables
Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
(root node)
(root node)
Route Tree for Protocol Family inet:
(root node) =>
default inr-3.Example.EDU UG 8 224515 sl0 - -
localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
(root node)Az elõzõ példákat egy
viszonylag forgalmas rendszerbõl ragadtuk ki. A
rendszerünkön megjelenõ számok a
hálózati aktivitás
mértékének
függvényei.A SLIP szerverek beállításaSLIPszerverEbben a leírásban igyekszünk bemutatni
hogyan kell egy &os; típusú rendszer alatt SLIP
szervert beállítani, ami általában
annyit jelent, hogy a rendszerünben a távoli SLIP
kliensek csatlakozásakor automatikusan elindítjuk
a kapcsolatokat.ElõfeltételekTCP/IP hálózatokEz a szakasz igen szakmai jellegû, ezért az
olvasó részérõl
feltételezünk a témában némi
alapismeretet. Ez alatt alapvetõen a TPC/IP
hálózati protokollt értjük,
különös hangsúllyal a
hálózatok és hálózati
csomópontok címzéséen, a
hálózati maszkokon, alhálózatokon,
útválasztáson, az olyan
útválasztási protokollokon, mint
például a RIP. A SLIP
beállítása egy
betárcsázós szerveren mindezen fogalmak
ismeretét igényli, és ha ezekkel
még nem lennénk tisztában, akkor olvassuk
el például Craig Hunt TCP/IP Network
Administration címû könyvét
(O'Reilly & Associates, Inc.; ISBN: 0-937175-82-X) vagy
Douglas Comer TCP/IP protokollról szóló
könyveit.modemMindezek mellett még feltételezzük,
hogy már beállítottuk a modem(ek)et
és a rajtuk keresztüli bejelentkezéshez
szükséges állományokat. Ha
még nem készítettük volna fel erre a
rendszerünket, akkor a ad
részletes tájékoztatást a
betárcsázós szolgáltatások
beállításáról. A soros
vonali eszközmeghajtóval kapcsolatban
továbbá érdemes átolvasni a
&man.sio.4; oldalt, valamint a &man.ttys.5;, &man.gettytab.5;,
&man.getty.8; és &man.init.8; oldalakat a
bejelentkezések modemen keresztüli
fogadásáról, illetve talán az
&man.stty.1; oldalt a soros port paramétereinek
megfelelõ
beállításáról (mint
például a clocal a
közvetlenül csatlakozó soros felületek
esetében).Gyors áttekintésA &os; SLIP szerverként általában a
következõ módon üzemel: a SLIP
felhasználó tárcsázza a &os;-s
SLIP szerverünket, majd bejelentkezik egy specális
SLIP bejelentkezési azonosító
használatával, amely a
/usr/sbin/sliplogin shellt
használja. A sliplogin program az
/etc/sliphome/slip.hosts
állományban megkeresi a speciális
felhasználóhoz tartozó sort, és ha
talál egy ilyet, akkor csatlakoztatja a soros vonalat
egy rendelkezésre álló SLIP
felületre, amelyen aztán a SLIP felültet
beállításához lefuttatja az
/etc/sliphome/slip.login shell
szkriptet.Példa SLIP szerveren keresztüli
bejelentkezésrePéldául, ha a SLIP
felhasználó azonosítója
Shelmerg, akkor az
/etc/master.passwd
állományban a hozzátartozó
bejegyzést nagyjából ilyen:Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliploginAmikor Shelmerg bejelentkezik, a
sliplogin az
/etc/sliphome/slip.hosts
állományban keresni fog egy
felhasználó
azonosítójához illeszkedõ sort.
Például tegyük fel, hogy az
/etc/sliphome/slip.hosts
állományban szerepel egy ilyen sor:Shelmerg dc-slip sl-helmer 0xfffffc00 autocompA sliplogin ezt a sor fogja
megtalálni, majd a soros vonalat a
következõ elérhetõ SLIP
felülethez kapcsolja, amelyen ezután
végrehajtja az
/etc/sliphome/slip.login szkriptet a
következõ módon:/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocompHa minden jól megy, akkor az
/etc/sliphome/slip.login kiad egy
ifconfig parancsot azon a SLIP
felületen, amelyre a sliplogin
magát csatlakoztatta (amely a fenti
példában a 0. SLIP felület volt,
és amelyet meg is adtunk
slip.login elsõ
paramétereként), és így
beállítja a helyi IP-címet
(dc-slip), a távoli IP-címet
(sl-helmer), a SLIP felülethez
tartozó hálózati maszkot (0xfffffc00) valamint a
további opciókat
(autocomp). Ha valami rosszul sülne
el, akkor a sliplogin ezekrõl
általában nagyon jó
minõségû,
információdús üzeneteket
készít, amelyeket a
syslogd démon pedig a
/var/log/messages
állományba rögzít. (A
&man.syslogd.8; és &man.syslog.conf.5; man oldalak
és talán maga az
/etc/syslog.conf segíthet
kideríteni, hogy a syslogd
jelenleg naplóz-e, és ha igen, akkor
hova.)A rendszermag beállításarendszermagbeállításaSLIPA &os; alap (vagyis a GENERIC)
rendszermagja támogatja a SLIP (&man.sl.4;)
használatát. Ha viszont saját
rendszermagunk van, akkor elõfordulhat, hogy
beállítások közé fel kell
vennünk a következõ sort is:device slAlapértelmezés szerint a &os; nem
továbbít semmilyen csomagot. Amennyiben a &os;
SLIP szerverünket
útválasztóként is
mûködtetni akarjuk, úgy az
/etc/rc.conf állományban a
gateway_enable változó
értékét át kell
állítanunk a
értékre.Az új beálllítások
érvényesítéséhez
újra kell indítanunk a
gépünket.Ha a &os; rendszermag beállítása
során segítségre szorulnánk, akkor
olvassuk el et.A sliplogin beállításaAhogy arra már korábban is utaltunk, az
/etc/sliphome könyvtárban
három állomány felelõs a
/usr/sbin/sliplogin
beállításáért (lásd
&man.sliplogin.8;): a slip.hosts,
amelyekben a SLIP felhasználókat és a
hozzájuk tartozó IP-címeket adjuk meg; a
slip.login, amely általában
csak a SLIP felületet állítja be; (az
elhagyható) slip.logout, amely a
soros vonal bontásakor a
slip.login hatását
igyekszik visszafordítani.A slip.hosts
beállításaAz /etc/sliphome/slip.hosts
soraiban whitespace karakterekkel tagoltan legalább
négy elem szerepel:a SLIP felhasználó
bejelentkezési azonosítójaa SLIP kapcsolat helyi címe (a SLIP
szerveréhez képest)a SLIP kapcsolat távoli címehálózati maszkA helyi és távoli címek lehetnek
hálózati nevek is (amelyeket vagy az
/etc/hosts, vagy pedig az
/etc/nsswitch.conf
állományban szereplõ
beállítások alapján tudunk
feloldani IP-címre), illetve a hálózati
maszk is lehet egy olyan név, amelyet az
/etc/networks fel tud oldani. A
példaként bemutatott rendszerünkben az
/etc/sliphome/slip.hosts
állomány nagyjából így
épül fel:#
# login helyi-cím távoli-cím maszk opc1 opc2
# (normal,compress,noicmp)
#
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocompA sorok végén az alábbi
opciók közül egy vagy több
szerepelhet: — a fejléceket
nem tömörítjük — a fejlécek
tömörítése — ha a távoli
végpont engedi, akkor
tömörítsük a
fejléceket — az ICMP csomagok
tiltása (így például a
ping által generált
csomagok is eldobódnak a
sávszélesség felemésztese
helyett)SLIPTCP/IP hálózatokA SLIP kapcsolathoz tartozó helyi és
távoli címek megválasztása
függ attól, hogy egy külön TCP/IP
alhálózatot szentelünk-e neki, vagy a
SLIP szerverünkön egy ARP proxy-t
használunk (amely tulajdonképpen nem egy
valódi ARP proxy, de ebben a
szakaszban így fogunk rá hivatkozni). Ha nem
vagyunk biztosak benne, hogy melyik módszert
válasszuk vagy hogy miként osszuk ki az
IP-címeket, akkor nézzünk utána
ezekenek a SLIP használatával kapcsolatos
elõfeltételek között
megemlített könyvekben () és/vagy
konzultáljunk a hálózatunk
karbantartójával.Ha a SLIP klienseknek külön
alhálózatokat osztunk ki, akkor a saját
IP-címünkbõl kell létrehoznunk
és kiadnunk ezeket. Ezután
valószínûleg a SLIP
szerverünkön keresztül még meg kell
adnunk egy statikus útvonalat legközelebbi IP
útválasztó felé.EthernetMinden más esetben az ARP proxy
módszert kell alkalmaznunk, ahol a SLIP kliensek
IP-címeit a SLIP szerver Ethernet
alhálózatából osztjuk ki,
és ennek megfelelõen az
/etc/sliphome/slip.login és
/etc/sliphome/slip.logout szkripteket
módosítanunk kell úgy, hogy az
&man.arp.8; segítségével képesek
legyenek a SLIP szerver ARP
táblázatában kezelni az ARP proxy
bejegyzéseit.A slip.login
beállításaEgy átlagos
/etc/sliphome/slip.login
állomány körülbelül
ilyen:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# Egy általános slip vonali bejelentkezési állomány. A sliplogin ezt az alábbi
# paraméterekkel hívja meg:
# 1 2 3 4 5 6 7-n
# slipegys. ttyseb. azonosító helyi-cím távoli-cím maszk egyéb-pmek.
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6Ez a slip.login
állomány az ifconfig
segítségével pusztán
beállítja a megfelelõ SLIP
felülethez tartozó helyi, valamint távoli
címet és a hálózati
maszkot.Ha ehelyett azonban az ARP proxy
módszerét választottuk volna
(tehát a SLIP kliensekenek nem akarunk egész
alhálózatokat kiutalni), akkor az
/etc/sliphome/slip.login
állomány eképpen alakul:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# Egy általános slip vonali bejelentkezési állomány. A sliplogin ezt az alábbi
# paraméterekkel hívja meg:
# 1 2 3 4 5 6 7-n
# slipegys. ttyseb. azonosító helyi-cím távoli-cím maszk egyéb-pmek.
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# A SLIP kliensre vonatkozó ARP kéréseket a mi Ethernet címünkkel
# válaszoljuk meg:
/usr/sbin/arp -s $5 00:11:22:33:44:55 pubLáthatjuk, hogy az elõbbi
slip.login állomány egy
arp -s $5 00:11:22:33:44:55 pub
paranccsal egészült ki, ami a SLIP szerver ARP
táblázatában hoz létre egy ARP
bejegyzést. Ez az ARP bejegyzés gondoskodik
róla, hogy a SLIP szerver válaszoljon a
saját Ethernetes MAC-címével, amikor
egy másik IP csomópont a SLIP kliens
IP-címe felõl érdeklõdik.EthernetMAC-címAmikor a fenti példából indulunk
ki, a benne megadott MAC-címet (00:11:22:33:44:55)
feltétlenül cseréljük a
rendszerünk Ethernet kártyájának
MAC-címével, mert különben az
ARP proxy egyáltalán nem fog
mûködni! A SLIP szerverünk
MAC-címét a netstat -i
paranccsal deríthetjük ki, amelynek a
kimenetében a második sor valahogy így
néz ki:ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116Ebbõl derül ki, hogy az adott rendszer
valódi MAC-címe a 00:02:c1:28:5f:4a — az &man.arp.8;
számára azonban a netstat
-i kimenetében szereplõ pontokat
kettõspontokra kell cserélni, és a
tagokat ki kell egészíteni
kétkarakteres hexadecimális
számokká. Az &man.arp.8; man oldalán
tudhatunk meg ennek részleteirõl
többet.Amikor létrehozzuk az
/etc/sliphome/slip.login és
/etc/sliphome/slip.logout
állományokat, akkor ne felejtsük el
hozzájuk beállítani a
végrehajtást
engedélyezõ bitet sem (tehát ilyenkor
mindig adjuk ki a chmod 755
/etc/sliphome/slip.login
/etc/sliphome/slip.logout parancsokat is),
különben a sliplogin ezeket
nem tudja majd elindítani.A slip.logout
beállításaAz /etc/sliphome/slip.logout
állományra nincs feltétlenül
szükségünk (hacsak nem egy ARP
proxy-t akarunk csinálni), de ha
valamiért mégis el akarjuk
készíteni, akkor ehhez a következõ
alapvetõ slip.logout szkript
használható:#!/bin/sh -
#
# slip.logout
#
# Egy logout állomány a slip vonalhoz. A sliplogin ezt a szkriptet a
# következõ paraméterekkel hívja:
# 1 2 3 4 5 6 7-n
# slipegys. ttyseb. login helyi-cím távoli-cím maszk opc-pmek.
#
/sbin/ifconfig sl$1 downHa az ARP proxy módszert
használjuk, és az
/etc/sliphome/slip.logout
felhasználásával akarjuk a SLIP
klienshez tartozó ARP bejegyzést
törölni, akkor ebbõl induljunk ki:#!/bin/sh -
#
# @(#)slip.logout
#
# Egy logout állomány a slip vonalhoz. A sliplogin ezt a szkriptet a
# következõ paraméterekkel hívja:
# 1 2 3 4 5 6 7-n
# slipegys. ttyseb. login helyi-cím távoli-cím maszk opc-pmek.
#
sbin/ifconfig sl$1 down
# Ne válaszoljunk többet a SLIP kliensre vonatkozó ARP kérésekre
/usr/sbin/arp -d $5Az arp -d $5 parancs
eltávolítja az ARP proxy
mûködéséhez bejegyzést,
amelyet még a slip.login
szkripttel vettünk fel a SLIP kliens
bejelentkezésekor.Talán felesleges ismételgetésnek
tûnhet: az
/etc/sliphome/slip.logout
állománynak létrehozása
után állítsuk be a
végrehajtásra szóló bitet
(vagyis adjuk ki a chmod 755
/etc/sliphome/slip.logout parancsot).Az útválasztással kapcsolatos
megfontolásokSLIPútválasztásHa a hálózatunk többi része
(lényegében az internet) és a SLIP
klienseink között nem az ARP proxy
módszerrel közvetítjük a csomagokat,
akkor a legközelebbi alapértelmezett
átjárókhoz minden bizonnyal fel kell
vennünk statikus útvonalakat, így a SLIP
kliensek alhálózatai a SLIP
szerverünkön keresztül ki tudnak jutni.Statikus útvonalakstatikus útvonalakA legközelebbi alapértelmezett
átjárók felé nem minden esetben
könnyû felvenni statikus útvonalakat (vagy
egyes esetekben pedig egyenesen lehetetlen, mivel nincsenek
meg hozzá a jogaink). Ha az
intézményünkön belül több
átjáró is megtalálható,
akkor bizonyos útválasztók,
például a Cisco és Proteon
gyártmányúak esetében nem csak a
SLIP alhálózatok felé kell
beállítanunk statikus útvonalakat,
hanem azt is meg kell mondanunk, hogy ezekrõl milyen
más útválasztók is tudjanak.
Pontosan emiatt a statikus útválasztás
beüzemeléséhez
szükségünk lesz egy kis
utánajárásra és
próbálgatásra.A &gated;
futtatása&gated;A &gated; most már
magántulajdonú szoftver, amelynek a
forráskódja a továbbiakban már
nem rendelkezésre a nagyközönség
számára (errõl többet a &gated; honlapján
tudhatunk meg). Ez a fejezet csupán abból a
célból íródott, hogy a
visszafelel kompatibilitást szolgálja azok
számára, akik még valamelyik
régebbi verzióját
használják.A &os; SLIP szerverünkön a statikus
útvonalak beállításával
kapcsolatos fejfájásoktól
részint a &gated;
telepítésével és a
megfelelõ útválasztási protokollok
(RIP/OSPF/BGP/EGP) beállításával
mentesülhetünk, melyek majd
információval látják el a
többi útválasztót a SLIP
alhálózatainkról. A
&gated;
beállításához egy
/etc/gated.conf állományt
kell megírnunk. Az itt látható
állomány csak egy példa, ami
hasonlít ahhoz, melyet a szerzõ a saját
SLIP szerverén használ:#
# a dc.dsu.edu tartomány gated konfigurációs állománya -- a gated 3.5alpha5 változatához
# az xxx.xxx.yy RIP információit küldi szét az ed Ethernet felületen
#
#
# Nyomkövetési beállítások:
#
traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
rip yes {
interface sl noripout noripin ;
interface ed ripin ripout version 1 ;
traceoptions route ;
} ;
#
# Engedélyezzünk egy halom nyomkövetési információt a felület és a
# rendszermag között:
kernel {
traceoptions remnants request routes info interface ;
} ;
#
# A RIP protokollon keresztül adjuk tovább az xxx.xxx.yy állomáshoz
# vezetõ utat az Ethernet felületen:
#
export proto rip interface ed {
proto direct {
xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP kapcsolatok
} ;
} ;
#
# A RIP protokollon és az ed Ethernet felületen keresztül
# fogadjuk útvonalakat:
import proto rip interface ed {
all ;
} ;RIPA fentebb megadott példa
gated.conf állomány az
xxx.xxx.yy SLIP
alhálózat útválasztási
információit küldi szét a RIP
protokollal az Ethernet felületen keresztül. Ha a
hálózati kártyánk
meghajtására nem az
ed eszközmeghajtót
használjuk, akkor összes
ed felületre vonatkozó
hivatkozást cseréljük ki benne. Ebben a
példában beállítjuk még a
nyomkövetési információk
mentését is a
/var/tmp/gated.output
állományba, amellyel így
tulajdonképpen a &gated;
viselkedését tudjuk megfigyelni. Amennyiben a
&gated; már
tökéletesen mûködik, ezeket a
nyomkövetési beállításokat
akár el is hagyhatjuk. Az
xxx.xxx.yy cím helyett
pedig a saját SLIP alhálózatunk
hálózati címét
helyettesítsük be (de ehhez ne felejtsük
hozzáigazítani a proto
direct részben szereplõ
hálózati maszkot sem).Miután telepítettük és
beállítottuk a
&gated; démont a
rendszerünkön, nem kell mást tennünk,
csak a &os; rendszerindításért
felelõs szkriptjeiben a
routed helyett
&gated; démont
elindítani. Ezt a legegyszerûbben úgy
tudjuk elérni, ha a router
és router_flags
változók értékeit
átírjuk az /etc/rc.conf
állományban. A
&gated; man oldalán
találhatunk egy részletesebb
leírást a paranccsori
paraméterekrõl.
diff --git a/hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml
index 435576c312..eab3926921 100644
--- a/hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml
@@ -1,1964 +1,1856 @@
+ Original Revision: 1.45 -->
GregLeheyAz eredeti változatot írta:A Vinum kötetkezelõÁttekintésNem számít, milyen lemezeink is vannak, ugyanis
mindig adódnak velük kapcsolatban gondjaink:Kicsik.Lassúk.Nem elég megbízhatóak.Ezekre a problémákra javasoltak és meg is
valósítottak számos megoldást. A
felhasználók egy része
általában úgy védekezik ellenük,
hogy több, gyakran redundánsan tároló
lemezt használ. A különféle
kártyák és hardveres
RAID-vezérlõk támogatása mellett a &os;
alaprendszerében megtalálható egy blokkos
eszközmeghajtóként a Vinum
kötetkezelõ is, amellyel virtuális
lemezmeghajtókat lehet létrehozni. Tehát a
Vinum egy olyan ún.
kötetkezelõ, vagyis
virtuális lemezkezelõ, ami az említett
három problémára próbál
megoldást adni. A Vinum a hagyományos lemezes
tárolásnál jóval nagyobb
rugalmasságot, teljesítményt és
megbízhatóságot biztosít, valamint
ismeri a RAID-0, RAID-1 és RAID-5 modelleket
külön-külön és kombinálva
is.Ebben a fejezetben összefoglaljuk a hagyományos
lemezes tárolás jellegzetes problémáit
és bemutatjuk a Vinum kötetkezelõt.A &os; 5-ös verziójától kezdve a
Vinumot újraírták a GEOM-nak
megfelelõen (), megtartva az eredeti
elgondolásokat, elnevezéseket és a lemezen
tárolt metaadatok formátumát. Ezt az
újraírt változatot nevezik
gvinumnak (GEOM
vinum). A szövegben a
Vinumra kizárólag csak
általánosságban hivatkozunk,
függetlenül az
implementációjától. Most már
az összes parancsot a gvinum
használatával kell kiadni, illetve a
hozzátartozó modul neve
vinum.ko-ról
geom_vinum.ko-ra változott és
a megfelelõ eszközleírók a
/dev/vinum könyvtár helyett a
/dev/gvinum könyvtárban
találhatóak. A &os; 6.
verziójától pedig a régi Vinum
implementáció többé már nem is
része az alaprendszernek.Kicsik a lemezeinkVinumRAIDszoftverA lemezek kapacitása ugyan növekszik, de
velük együtt a tárigények is.
Ezért gyakran érezzük úgy, hogy a
rendelkezésünkre álló lemezek
tárkapacitását meghaladó
állományrendszerre lenne
szükségünk. Kétségtelen, hogy ez a
probléma messze nem akkora jelentõségû,
mint például tíz évvel ezelõtt,
de még mindig fennáll. Egyes rendszerek ezt
úgy hidalták át, hogy létrehoztak egy
olyan absztrakt eszközt, amely az adatokat több lemezen
tárolja el.A hozzáférési idõk szûk
keresztmetszeteiNapjaink rendszerei szinte állandóan egyszerre
több adathoz is hozzá akarnak férni.
Például egy nagy forgalmú FTP vagy HTTP
szerver több 100 Mbit/s sebességû
kapcsolattal is csatlakozhat a világhálóhoz,
amelyeken keresztül párhuzamosan többezernyi
tranzakciót is folytathat, ami jelentõsen meghaladja a
legtöbb lemez átlagos átviteli
sebességét.A jelenleg kapható lemezek soros adatátviteli
sebessége egészen 70 MB/s-ig is terjedhet, de
ennek az értéknek kevés a
jelentõsége olyan környezetekben, ahol több,
egymástól függetlenül futó program
próbál egyszerre hozzáférni, hiszen
ilyen esetekben csak a töredékét képesek
elérni. Ilyenkor sokkal érdekesebb a lemezt
kezelõ alrendszer szempontjából nézni a
problémát: így az egyes adatátviteli
kérések terhelése lesz a
meghatározó paraméter, vagyis az az idõ,
amit a kérés teljesítésében
érintett meghajtók eltöltenek a
feldolgozással.Bármelyik kérést is vesszük, a
kiszolgáláshoz a meghajtónak
elõször a megfelelõ helyre kell mozgatnia az
író/olvasó fejeket, meg kell várni a
fej alatt elhaladó elsõ szektort, majd
végrehajtani a megfelelõ mûveletet. Ezek a
mûveletek szétválaszthatatlanok: semmi
értelme nincs megszakítani ezeket.Tekintsünk egy
átlagosnak mondható, nagyjából
10 kB méretû adatátvitelt: a
legújabb nagyteljesítményû lemezek
átlagosan 3,5 ms alatt képesek
pozicionálni a fejeket. A leggyorsabb lemezek
15 000 fordulatot tesznek meg percenként (RPM),
így az átlagos forgási
késleltetés (egy fél fordulat ideje)
2 ms. 70 MB/s-os sebesség mellett az
átvitel maga megközelítõleg
150 μs, ami szinte elhanyagolható a
pozicionálás idejéhez képest. Ilyen
esetekben a tényleges adatátviteli sebesség
1 MB/s-nél alig valamivel többre esik vissza,
és tisztán látszik, hogy erõsen
függ az átvitt adat
mennyiségétõl.A hagyományos és kézenfekvõ
megoldása ennek a problémának
még több cséve
használata: egyetlen nagy lemez helyett alkalmazzunk
több kisebb, de azonos tárkapacitású
lemezt. Mindegyik lemez képes egymástól
függetlenül mozgatni a fejeiket és az adatokat,
aminek köszönhetõen a tényleges
adatátvitel mértéke nagyjából a
lemezek számával arányosan
növekszik.Az adatátvitelben bekövetkezõ javulás
pontos aránya természetesen kisebb, mint a lemezek
száma: habár az egyes meghajtók
képesek párhuzamosan mozgatni az adatokat, semmilyen
módon garantálhatjuk, hogy a kérések
egyenletesen oszlanak el köztük. Emiatt szinte
elkerülhetetlen, hogy az egyik meghajtót nagyobb
terhelés érje, mint a másikat.lemezek
összefûzéseVinumösszefûzésA lemezekre esõ terhelés egyenletessége
erõsen függ attól, hogyan osztjuk el az adatokat
a meghajtók között. Az itt használt
példában a lemezen tárolt adatokat egy
könyv oldalaiként érdemes elképzelni,
vagyis rengeteg szám szerint címezhetõ
adatszektorként. A virtuális lemezt ennek
megfelelõen a legegyszerûbben úgy tudjuk
felosztani az egymás után következõ
független fizikai lemezek mérete szerint és
így használni, mintha egy nagy könyvet kisebb
részekre téptünk volna. Ezt a módszert
nevezik összefûzésnek,
és elõnye, hogy a résztvevõ lemezeknek nem
kell azonos méretûeknek lenniük. Ez a
megoldás remekül mûködik abban az esetben,
amikor a virtuális lemez hozzáférései
egyenletesen oszlanak el annak teljes területén.
Amikor viszont az elérés csak egy kisebb
területre korlátozódik, kevesebb javulás
tapasztalható. A mutatja be
lemezek egy ilyen összefûzött
konfigurációját.Az összefûzött szervezési
módlemezcsíkozásVinumcsíkozásRAIDFeloszthatjuk a virtuális lemezünket kisebb azonos
méretû darabokra is, melyeket
különbözõ eszközökön sorosan
tárolunk el. Például az elsõ 256 szektort
eltároljuk az elsõ lemezen, majd a következõ
256 szektort a következõ lemezen és így
tovább. Az utolsó lemez kitöltése
után az egész folyamat ismétlõdik,
egészen az összes lemez megtöltéséig.
Ezt a leképezést
csíkozásnak
(striping) vagy RAID-0-nak
nevezzük
A RAID jelentése: Olcsó
lemezek hibatûrõ tömbje (Redundant Array of
Inexpensive Disks). Különféle
típusú hibatûrési megoldásokat
vonultat fel, habár az eredeti elnevezés
félrevezetõ lehet, mivel redundanciát nem
tartalmaz..
A csíkozás használata során valamivel
bonyolultabbá válik az adatok
megtalálása és többletmunkát is
jelenthet olyan esetekben, amikor az adatátvitel több
lemezt is érint, de ezzel egyidõben sokkal jobban
szétosztja a terhelést a lemezek között. A
mutatja be a lemezek csíkozott
szervezését.A csíkozott szervezési módAdatintegritásA modern lemezhajtók utolsó fontos
problémája, hogy nem eléggé
megbízhatóak. Annak ellenére, hogy a lemezek
ezen a téren meglehetõsen sokat fejlõdtek az
utóbbi pár évben, egy szervernek még
mindig ezek azok a központi részei, amelyek a
leginkább hajlamosak a meghibásodásra.
Amikor ez bekövetkezik, a hatása akár egy
katasztrófával is felérhet: a
sérült lemezmeghajtók cseréje és
az adatok visszaállítása napokat is
igénybe vehet.lemeztükrözésVinumtükrözésRAID-1Ennek a problémának a hagyományos
megközelítése lenne a
tükrözés
(mirroring), vagyis amikor ugyanarról az
adatról tartunk két példányt
két eltérõ fizikai hardveren. A
RAID-szintek beköszöntével ezt
a technikát RAID level 1-nak vagy
RAID-1-nek is nevezik. Amikor írunk a
kötetre, mindenhova írunk, az olvasás pedig
bármelyik eszközrõl elvégezhetõ.
Így ha az egyik meghajtó tönkremenne, egy
másikon még mindig megtalálható az
összes adat.A tükrözés két problémát
vet fel:Ár. Legalább kétszer annyiba
kerül, mint a nem redundánsan
tároló megoldások.Teljesítménycsökkenés. Mivel
az írást minden meghajtón végre
kell hajtani, legalább kétszer annyi
sávszélességet is felémeszt,
mint a nem tükrözött kötetek
esetén. Az olvasás viszont nem veszít
a sebességébõl: sõt, még
gyorsabbnak is tûnhet.lemezparitásVinumparitásRAID-5Az adatintegritás megõrzésére egy
másik megoldás a paritás
használata, melyet a 2, 3, 4 és 5
RAID-szintek valósítanak meg.
Ezek közül talán a RAID-5 a
legérdekesebb. A Vinumban egy olyan csíkozott
szervezési módként
valósították meg, ahol minden
csíkból egy blokk az összes többi
paritási információját tartalmazza. A
RAID-5 által megvalósított
szervezés hasonlít a csíkozáshoz,
azonban a RAID-5-ben mindegyik csík
tartalmaz egy paritási információt is.
Tehát a Vinumban, ahogy azt RAID-5 a
megköveteli, a paritást tároló blokkok
helye az egyik csíkról a másikra
változik. Az adatblokkokban található
számok relatív blokkszámokat
jelölnek.A RAID-5 szervezési módA RAID-5-nek a tükrözéshez
képest megvan az az elõnye, hogy jelentõsen
kevesebb tárhelyet igényel. Az olvasás
hasonló a csíkozott szervezésekéhez,
azonban az írás jóval lassabb, közel
25%-a az olvasás sebességének. Az egyik
meghajtó meghibásodása esetén a
tömb csökkentett módban még képes
folytatni a mûködést: a fennmaradó
meghajtókról továbbra is a megszokott
módon lehet olvasni, viszont a sérült
meghajtóról olvasott adatokat folyamatosan
javítani kell a többirõl származó
segédinformációk szerint.A Vinum objektumaiA tárgyalt problémák
orvoslására a Vinumban egy négyszintû
objektumhierarchiát alakítottak ki:A legjobban észlelhetõ objektum a
virtuális lemez, amelyet
kötetnek (volume) nevezünk. Ez
a kötet lényegében ugyanazokkal a
tulajdonságokkal rendelkezik, mint egy &unix;-os
lemezmeghajtó, habár akadnak finomabb
különbségek. Mérete korlátlan
lehet.A kötetek erekbõl (plex)
állnak, melyek a kötet teljes
területét képviselik. Ennélfogva a
hierarchia ezen szintje nyújtja a redundanciát.
Az ereket legegyszerûbben a tükrözött
tömbben helyet foglaló lemezekként tudjuk
elképzelni, melyek ugyanazt az adatot
tartalmazzák.Mivel a Vinum a &unix; lemezes tárolást
megvalósító alrendszerében
helyezkedik el, a többlemezes erek
felépítéséhez
használhatnánk a &unix;-os
partíciókat, azonban ehhez a feladathoz nem
eléggé rugalmasak, mivel a &unix;-os lemezek
csak korlátozott számú
partíciót tartalmazhatnak. A Vinum ehelyett
allemeznek (subdisk) nevezett folytonos
területekre osztja fel az egyes &unix;-os
partíciókat (a
meghajtókat), melyeket
aztán az erek létrehozására
használ fel.A Vinum által létrehozott
meghajtókon (drive) levõ
allemezek lesznek valódi &unix;-os
partíciók. A Vinum-meghajtók
tetszõleges számú allemezt tartalmazhatnak.
Eltekintve a meghajtó elején
található apró területtõl,
melyen a beállításokra és az
állapotra vonatkozó információk
tárolódnak, az egész meghajtó
felhasználható adatok
tárolására.A most következõ szakaszokban ismertetjük, hogy
ezek az objektumok milyen módon szolgáltatják
a Vinum részérõl elvárt
funkciókat.A kötetek méreteAz erek képesek a Vinum
konfigurációjában található
több különbözõ meghajtón
elhelyezkedõ allemezeket is nyalábba kötni.
Ennek következményeképpen az egyes
meghajtók mérete nem korlátozza az erek
méretét, emiatt a kötetét sem.Redundáns adattárolásA Vinum a tükrözést több ér
egyetlen kötetté olvasztásával hozza
létre. Az erek mindegyike a köteten
található adatokat képviseli. Egy
kötet legalább egy, legfeljebb nyolc eret
tartalmazhat.Habár egy ér egy kötet teljes
adatát ábrázolja, elõfordulhat olyan
eset, hogy bizonyos részei hiányoznak fizikai,
kialakítási (nem társítottunk
allemezeket hozzájuk) okokból
adódóan vagy véletlenül (a
hozzátartozó lemezterületek
sérültek). Amíg legalább egy
ér képes a kötet teljes tartalmát
szolgáltatni, addig a kötet teljesen épnek
tekinthetõ.TeljesítményA Vinum az összefûzést és a
csíkozást is egyaránt
megvalósítja az erek szintjén:Az összefûzött
ér allemezek területeibõl
építkezik.A csíkozott ér
felosztja az adatokat az allemezek között. Az
allemezek mindegyikének ugyanakkorának kell
lennie, és legalább két allemeznek
lennie kell, hogy eltérjen az
összefûzött értõl.Hogyan szervezzük az ereket?A &os; &rel.current; verziójában két
fajta erezési megoldást találhatunk:Az összefûzött erek a legrugalmasabbak:
tetszõleges számú allemezt
tartalmazhatnak, az allemezek mérete pedig
eltérhet. Az ér újabb allemezek
hozzáadásával tovább
bõvíthetõ. Kevesebb processzoridõt
igényel, mint egy csíkozott ér,
habár a kettõ többletköltsége
közti eltérés nem mérhetõ.
Másrészrõl azonban nagyon
érzékenyek a forgalmasabb pontokra, vagyis
amikor az egyik lemez folyamatosan használatban van,
miközben a többi üresen jár.A csíkozott (RAID-0) erek
legnagyobb elõnye, hogy csökkentik a forgalmasabb
pontok kialakulását: a megfelelõ
méretû csíkszélesség (ami
kb. 256 kB) választásával el
tudjuk egyengetni a tömbben dolgozó
meghajtók terhelését. Ennek a
megközelítésnek a hátránya
(részben) a sokkal összetettebb kód,
valamint az allemezekre vonatkozó
megszorítás, amely szerint meg kell
egyezniük a méretüknek, illetve az
érhez annyira bonyolult újabb allemezeket
kapcsolni, hogy a Vinum jelenleg nem is képes
rá. Ezeken kívü a Vinum még
támaszt egy triviális igényt is: a
csíkozott érben legalább két
allemeznek lennie kell, mivel másképp nem
tér el egy összefûzött
értõl.A foglalja össze az
egyes erezések elõnyeit és
hátrányait.
Vinum erezésekErezés típusaLegkevesebb allemezBõvíthetõMegegyezõ méretAlkalmazásösszefûzött1igennemSok adat tárolása, ahol a
hangsúly a rugalmasságon és a
mérsékelt teljesítményen
van.csíkozott2nemigenNagy teljesítmény, nagy
mennyiségû egyidejû
hozzáférés mellett
PéldákA Vinum a rendszerben ismert objektumokkal kapcsolatos
információkat egy
konfigurációs
adatbázisban tartja fenn. Kezdetben a
felhasználó egy vagy több
konfigurációs állomány
segítségével hozza létre ezt az
adatbázist a &man.gvinum.8; segédprogrammal. A
Vinum ezt a konfigurációs adatbázist
bemásolja mindegyik irányítása alatt
álló slice-ba (melyek a Vinum
eszköznek hív). Az
adatbázis minden egyes állapotváltás
folyamán frissül, így egy
újraindítás után minden egyes
Vinum-objektum állapota pontosan
helyreállítódik.A konfigurációs
állományA konfigurációs állomány
írja le az egyes objektumokat. Egy egyszerûbb
kötet definíciója így nézhet
ki:
drive a device /dev/da3h
volume myvol
plex org concat
sd length 512m drive aEz az állomány négy Vinum-objektumot
definiál:A drive kezdetû sor adja meg a
lemez partícióját
(meghajtóját) és a
hardveren levõ elhelyezkedését. Az
a szimbolikus nevet kapta. A
szimbolikus és a konkrét eszköznevek
szétválasztásával
lehetõvé válik, hogy a lemezek
félreértések nélkül
átkerülhessek egyik helyrõl a
másikra.A volume kezdetû sor adja meg
a kötetet. Itt az egyetlen szükséges
jellemzõ a név, ami ebben az esetben a
myvol.A plex kezdetû sor adja meg az
eret. Itt az egyetlen szükséges
paraméter a szervezési mód, ami ebben
az esetben a concat
(összefûzött). Nevet nem kell megadnunk,
mivel a rendszer automatikusan létrehoz egy nevet a
kötet nevébõl a
.px utótag
hozzáadásával, ahol az
x az ér száma lesz a
köteten belül. Emiatt a most definiált
ér neve myvol.p0 lesz.Az sd kezdetû sor adja meg az
allemezt. Itt legalább meg kell adnunk a
meghajtónak a nevét, ahol tárolni
akarjuk, ill. a méretét. Ahogy már
említettük az ereknél is, nevet nem
kötelezõ megadnunk, mivel a rendszer
magától rendel hozzá nevet, amit a
hozzátartozó ér nevébõl
származtat, hozzáadja a
.sx
utótagot, ahol az x az allemez
éren belüli sorszáma lesz. Ennek
következtében a Vinum ennek az allemeznek a
myvol.p0.s0 nevet adja.Miután a &man.gvinum.8; feldolgozta ezt az
állományt, az alábbi kimenetet fogja
adni:
&prompt.root; gvinum -> create config1
Configuration summary
Drives: 1 (4 configured)
Volumes: 1 (4 configured)
Plexes: 1 (8 configured)
Subdisks: 1 (16 configured)
D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)
V myvol State: up Plexes: 1 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MBEz a kimenet a &man.gvinum.8; egyszerû
listázási formátumát mutatja.
Grafikusan a mutatja
be.Egyszerû Vinum-kötetEzen és az ezt követõ ábrán
egy kötetet láthatunk, amely ereket tartalmaz,
amelyek pedig allemezeket. Ebben az alapvetõ
példában a kötet egyetlen eret tartalmaz,
amiben pedig egyetlen allemez van.Az itt bemutatott kötetnek nincs semmilyen elõnye
a hagyományos lemezpartícionáláshoz
képest. Egyetlen eret tartalmaz, tehát nem is
redundáns. Az ér egyetlen allemezt tartalmaz,
tehát nem tér el a megszokott
lemezpartíciók
helyfoglalásától sem. A
következõ szakaszokban sokkal érdekesebb
konfigurációs módszereket is
illusztrálunk.Megnövelt rugalmasság:
tükrözésA kötetek rugalmassága
tükrözéssel növelhetõ. Egy
tükrözött kötet kiosztása
során feltétlenül gondoskodnunk kell
arról, hogy az egyes erekhez tartozó allemezek
eltérõ meghajtókon találhatóak,
így az esetleges meghibásodások nem
károsítják mind a két eret. Az
alábbi konfigurációban egy kötetet
tükrözünk:
drive b device /dev/da4h
volume mirror
plex org concat
sd length 512m drive a
plex org concat
sd length 512m drive bEbben a példában már nem kellett
újra megadnunk az a
meghajtót, mivel a Vinum figyelemmel kíséri
az összes objektumot a saját
konfigurációs adatbázisában. A
definíció feldolgozása után a
konfiguráció így fog kinézni:
Drives: 2 (4 configured)
Volumes: 2 (4 configured)
Plexes: 3 (8 configured)
Subdisks: 3 (16 configured)
D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%)
D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%)
V myvol State: up Plexes: 1 Size: 512 MB
V mirror State: up Plexes: 2 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p1.s0 State: empty PO: 0 B Size: 512 MBA ugyanezt a szerkezetet
grafikusan is.Tükrözött Vinum-kötetEbben a példában minden ér tartalmazza
a teljes 512 MB-os területet. Ahogy a korábbi
példa esetén, itt is mindegyik ér csak
egyetlen allemezt tartalmaz.A teljesítmény javításaAz elõbbi példában szereplõ
tükrözött kötet egy tükrözetlen
kötetnél már jobban ellenáll a
hibáknak, azonban a teljesítménye is
kisebb. A köteten minden egyes írás mind a
két meghajtóra érvényesül,
ezáltal a lemezek teljes
sávszélességét nagyobb
arányban használja. A
teljesítményre vonatkozó
megfontolásaink egy másik
megközelítést kívánnak meg: a
tükrözés helyett inkább csíkozzuk
szét az adatot a lehetõ legtöbb lemezen. Az
alábbi konfiguráció egy olyan kötetet
mutat be, ahol egy eret négy lemezmeghajtóan
keresztül csíkozunk:
drive c device /dev/da5h
drive d device /dev/da6h
volume stripe
plex org striped 512k
sd length 128m drive a
sd length 128m drive b
sd length 128m drive c
sd length 128m drive dMint ahogy azt már korábban is
említettük, nem szükséges még
egyszer megadni azokat a meghajtókat, amiket a Vinum
már ismer. A definíció feldolgozása
után a konfigurációnk
nagyjából így néz ki:
Drives: 4 (4 configured)
Volumes: 3 (4 configured)
Plexes: 4 (8 configured)
Subdisks: 7 (16 configured)
D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%)
D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%)
D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%)
D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%)
V myvol State: up Plexes: 1 Size: 512 MB
V mirror State: up Plexes: 2 Size: 512 MB
V striped State: up Plexes: 1 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
P striped.p1 State: up Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB
S striped.p0.s0 State: up PO: 0 B Size: 128 MB
S striped.p0.s1 State: up PO: 512 kB Size: 128 MB
S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB
S striped.p0.s3 State: up PO: 1536 kB Size: 128 MBCsíkozott Vinum-kötetEz a kötet a ban
látható. A csíkok
sötétedése jelzi a helyüket az ér
területében: a világosabbak elöl, a
sötétebbek hátul szerepelnek.Rugalmasság és
teljesítményMegfelelõ hardver
birtokában lehet olyan köteteket is
építeni, amelyek mind megnövelt
rugalmasságot, mind pedig megnövelt
teljesítményt mutatnak a szabványos
&unix;-os partíciókhoz képest. Ennek a
konfigurációs állománya így
nézne ki:
volume raid10
plex org striped 512k
sd length 102480k drive a
sd length 102480k drive b
sd length 102480k drive c
sd length 102480k drive d
sd length 102480k drive e
plex org striped 512k
sd length 102480k drive c
sd length 102480k drive d
sd length 102480k drive e
sd length 102480k drive a
sd length 102480k drive bA második ér allemezei el vannak tolva az
elsõ ér allemezeitõl két
meghajtónyival. Ez segít megelõzni, hogy az
írási mûveletek ne ugyanarra az allemezre
vonatkozznak, még akkor is, ha az adatátvitel
két meghajtón is keresztülível.A illusztrálja
ennek a kötetnek a szerkezetét.Tükrözött, csíkozott
Vinum-kötetAz objektumok elnevezéseKorábban már megismerhettük, hogy a Vinum
alapértelmezett neveket társít az erekhez
és az allemezekhez, habár ezek a nevek
felülbírálhatóak. Ez viszont
egyáltalán nem ajánlott, mivel már a
VERITAS kötetkezelõ, ahol tetszõleges neveket
rendelhetünk az objektumokhoz, használata során
kiderült, hogy akkora mértékû
rugalmasságot nem kínál fel, mint amennyi
zavart képes okozni.A nevek tartalmazhatnak bármilyen nem üres
karaktert, azonban érdemes inkább csak betûket,
számjegyeket és az aláhúzást
használni. A kötetek, erek és allemezek nevei
akár 64 karakteresek is lehetnek, a meghajtók nevei
pedig 32 karakteresek.A Vinum objektumai a /dev/gvinum
könyvtáron belüli hierarchiában
helyezkednek el eszközleírókként. Az
imént említett
példakonfiguráció hatására a
következõ eszközleírók jönnek
létre:Ez a rész csak a Vinum korábbi, elavult
implementációjára vonatkozik.A /dev/vinum/control és
/dev/vinum/controld nevû
vezérlõeszközök, melyeket a
&man.gvinum.8; és a Vinum démon
használ.Mindegyik kötethez egy eszközleíró
tartozik. Ezek a Vinum számára a központi
eszközök, ezért az elõbbi
konfiguráció révén megjelennek a
/dev/gvinum/myvol,
/dev/gvinum/mirror,
/dev/gvinum/striped,
/dev/gvinum/raid5 és
/dev/gvinum/raid10
eszközök.Ez a rész csak a Vinum korábbi, elavult
implementációjára vonatkozik.Az egyes meghajtókhoz tartozó
leírók a /dev/vinum/drive
könyvtárban találhatóak. Ezek
valójában szimbolikus linkek a megfelelõ
lemezes eszközökre.Minden kötethez közvetlen leírók
tartoznak /dev/gvinum/
könyvtárban.Az egyes erek és allemezek
eszközleírói a
/dev/gvinum/plex és
/dev/gvinum/sd könyvtárakban
jelennek meg.Például tekintsük most az alábbi
konfigurációs állományt:
drive drive1 device /dev/sd1h
drive drive2 device /dev/sd2h
drive drive3 device /dev/sd3h
drive drive4 device /dev/sd4h
volume s64 setupstate
plex org striped 64k
sd length 100m drive drive1
sd length 100m drive drive2
sd length 100m drive drive3
sd length 100m drive drive4Az állomány feldolgozása után az
eszközleírókat a &man.gvinum.8; az
alábbi módon szervezi a
/dev/gvinum könyvtárban:
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex
crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd
/dev/vinum/plex:
total 0
crwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0
/dev/vinum/sd:
total 0
crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0
crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1
crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2
crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3Jóllehet, az ereket és allemezeket nem
ajánlott külön-külön elnevezni, a Vinum
meghajtóknak nevet kell adni. Ezzel
megoldhatóvá válik, hogy az egyes
meghajtók automatikusan felismerhetõek legyenek abban
az esetben is, amikor fizikailag áthelyezzük ezeket.
A meghajtók nevei legfeljebb 32 karakteresek
lehetnek.Állományrendszerek
létrehozásaA kötetek egyetlen kivétellel teljesen azonosak
a lemezekkel a rendszer számára. Ugyanis a
&unix;-os meghajtóktól eltérõen a
Vinum nem particionálja a köteteket, és
ezért nem is tárolnak partíciós
táblát. Ez megkövetelte néhány
lemezkezelõ segédprogram, leginkább a
&man.newfs.8; módosítását, mivel
azok korábban megpróbálták a
Vinum-kötetek nevének utolsó betûit egy
partíció azonosítójaként
értelmezni. Például egy lemezes
meghajtó neve /dev/ad0a vagy
/dev/da2h alakú. Az elõbbi az
elsõ (0) IDE lemez elsõ (a)
partícióját, míg az utóbbi a
harmadik (2) SCSI lemez nyolcadik (h)
partícióját jelöli. Ezzel szemben
azonban a Vinum-kötetek neve
/dev/gvinum/concat alakú lesz, ahol
a név semmilyen kapcsolatban nem áll a
partíció nevével.Hétköznapi esetben a &man.newfs.8;
megpróbálja a lemez nevét
értelmezni, és panaszkodik, ha nem sikerül.
Például:&prompt.root; newfs /dev/gvinum/concat
newfs: /dev/gvinum/concat: can't figure out file system partitionA köteten a &man.newfs.8; parancs
kiadásával tudunk állományrendszert
létrehozni:&prompt.root; newfs /dev/gvinum/concatA &os; 5.0 elõtt verzióiban a &man.newfs.8;
parancsnak a régi elnevezési séma
használata mellett még át kell adni egy
-v kapcsolót is:&prompt.root; newfs -v /dev/vinum/concatA Vinum beállításaA GENERIC rendszermag nem tartalmazza a
Vinumot. Habár készíteni lehet olyan
rendszermagot, amelyik támogatja a Vinumot, mégsem
ajánlott. A Vinumot a szabványos módon
modulként (kld) indíthatjuk el.
Még a &man.kldload.8; használatára sincs
szükség, mivel a &man.gvinum.8; indulása
során ellenõrzi a modul jelenlétét
és betölti, ha még nem lenne jelen.IndításA Vinum alapvetõen ugyanúgy tárolja a
konfigurációkat a slice-okban, mint maguk a
konfigurációs állományok. A
konfigurációs adatbázis beolvasása
során a Vinum felismeri azokat a kulcsszavakat,
amelyeknek nem szabad elõfordulniuk az
állományokban. Például a lemezek
beállítása tartalmazhatja a
következõ szöveget:volume myvol state up
volume bigraid state down
plex name myvol.p0 state up org concat vol myvol
plex name myvol.p1 state up org concat vol myvol
plex name myvol.p2 state init org striped 512b vol myvol
plex name bigraid.p0 state initializing org raid5 512b vol bigraid
sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b
sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b
sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b
sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b
sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b
sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b
sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b
sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b
sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b
sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b
sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b
sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b
sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216bAz elõbbiektõl nyilvánvalóan
eltér abban, hogy itt már megjelennek a
konkrét pozíciókra és
elnevezésekre vonatkozó információk
(melyeket a felhasználó is megadhat, azonban ezt
nem tanácsoljuk), valamint az állapotok (ezeket
nem láthatja a felhasználó). A Vinum a
konfigurációban nem tárolja a
meghajtókat, helyette a beállított lemezes
meghajtók partícióin fog
Vinum-címkéket keresni. Ennek
köszönhetõen a Vinum még akkor is
képes pontosan megtalálni a meghajtókat,
amikor megváltoznak a hozzátartozó
&unix;-os meghajtók azonosítói.Automatikus indításEz a rész csak a Vinum elavult
implementációjára vonatkozik. A
Gvinum mindig automatikusan elindul a
hozzátartozó modul
betöltésével együtt.Az alábbi sort mindenképpen hozzá
kell adnunk az /etc/rc.conf
állományhoz, hogy a Vinum a
rendszerindítás során automatikusan
elinduljon:start_vinum="YES" # állítsuk YES-re az indításhozHozzuk létre és írjuk bele, ha nem
lenne /etc/rc.conf nevû
állományunk. Ennek hatására a
rendszer az indulás során betölti a Vinum
kld modult, és a
konfigurációban szereplõ objektumokat
elindítja. Ez még az
állományrendszerek csatlakoztatása
elõtt történik meg, aminek
révén a Vinum-köteteken
található állományrendszereket a
rendszer automatikusan át tudja vizsgálni az
&man.fsck.8; segítségével, majd
csatlakoztatja ezeket.Amikor a Vinumot a vinum start
paranccsal indítjuk el, a Vinum beolvassa a
konfigurációs adatbázist a
Vinum-meghajtók egyikérõl. Normál
körülmények között mindegyik
meghajtón megtalálható a
konfigurációs adatbázis egy
példánya, ezért szinte teljesen mindegy,
melyik meghajtót is olvassa. Egy
rendszer-összeomlás után azonban a Vinumnak
meg kell tudnia állapítania, melyik
meghajtón található meg az
adatbázis legfrissebb példánya, és
ezt kell beolvasnia. Ezután a lemaradt
meghajtókon található
adatbázispéldányokat
szinkronizálja ehhez a változathoz.Rendszerindítás
Vinum-kötetrõlOlyan számítógépeknél, ahol
a teljesen tükrözött Vinum-alapú
állományrendszereket használunk,
kívánatos lehet magát a
rendszerindításhoz használt
állományrendszert is tükrözni. Egy ilyen
konfiguráció összeállítása
már messze nem annyira egyszerû, mint egy
tetszõleges állományrendszer esetén,
mivel:Az indításhoz használt
állományrendszernek már a folyamat nagyon
korai szakaszában rendelkezésre kell
állnia, ezért a Vinumnak már itt
elérhetõnek kell lennie.A rendszerindító
állományrendszert tartalmazó köteten
még ott kell lennie a rendszerindító
kódnak és a rendszermagnak is, melyeket a
rendszer saját eszközein (például
ilyen a BIOS a PC-knél) keresztül kell tudnunk
beolvasni, amiket viszont nem tudunk
felkészíteni a Vinumra.A soronkövetkezõ szakaszokban
rendszerindító kötetként
(root volume) fogunk általánosságban
véve hivatkozni a rendszerindításhoz
használt állományrendszert tartalmazó
Vinum-kötetre. Ennek megfelelõen
valószínûleg jó ötlet a
"root" névvel azonosítani ezt a
kötetet, habár technikai szempontból ezt semmi
nem követeli meg. Az itt felsorakozó
példákban azonban ezt a nevet fogjuk
használni.A Vinum kellõen korai indításaEnnek kiváltásához számos
lépést kell megtennünk:A rendszermagnak már el kell érnie a
Vinumot a rendszerindítás során.
Emiatt a ban leírt
automatikus indítási módszer nem
alkalmazható erre a feladatra, és a
start_vinum paramétert
nem is szabad használni a most
ismertetendõ konfigurációban. A Vinumot
statikusan bele is építhetjük a
rendszermagba és így állandóan
elérhetõ, de ez általában nem
kielégítõ megoldás. Megoldhatjuk
úgy is, ha a /boot/loader-re
() bízzuk a vinum modul
betöltését, még a rendszermag
elõtt. Ezt az alábbi sorral válthatjuk
ki a /boot/loader.conf
állományban:geom_vinum_load="YES"A Gvinum használata
során az összes többi
beállítás automatikusan
végrehajtódik, amint a modul
betöltõdik, ezért ilyenkor csak a fentebb
leírt eljárásra van
szükség. Az itt felsoroltak csak az elavult
Vinum implementációra vonatkoznak,
csupán a régebbi típusú
rendszerek kedvéért említjük
meg.A Vinumot nagyon korán életre kell
keltenünk, hiszen a rendszerindításhoz
használt állományrendszert
tartalmazó kötetet kell
élesítenünk.
Alapértelmezés szerint a Vinum rendszerszinten
futó része nem keres addig semmilyen
Vinum-kötetinformációval rendelkezõ
meghajtót, amíg a rendszergazda (vagy
valamelyik rendszerindító szkript) ki nem adja
a vinum start parancsot.
- A most következõ bekezdés a &os; 5.X
- és az azutáni rendszerek esetén
- mutatja be a szükséges
- lépéseket. A &os; 4.X verziója
- esetén máshogy kell elvégezni a
- beállításokat, amit a mutat be.
+ A most következõ bekezdések
+ mutatják be a szükséges
+ lépéseket.Ha hozzáadjuk a következõ sort a
/boot/loader.conf
állományhoz, akkor azzal utasíthatjuk a
Vinumot, hogy a rendszermag indítása
során vizsgálja át az összes
meghajtót:vinum.autostart="YES"Nem szükséges megmondani a rendszermagnak,
merre keresse a rendszerindításhoz
használt állományrendszert. A
/boot/loader megkeresi a
hozzátartozó eszközt a
/etc/fstab állományban
és átadja ezt az információt a
rendszermagnak. Amikor a csatlakoztatására
kerül sor, a rendszermag az eszköz
nevébõl meg tudja állapítani,
melyik eszközmeghajtót kérje meg a
belsõ (fõ- és
al)eszközazonosító
leképzéséhez.A Vinum-alapú rendszerindító
kötet elérése a rendszertöltés
soránMivel a jelenlegi &os; rendszertöltõ csak 7,5 KB
méretû és egyébként is csak az
UFS állományrendszerrõl tud
állományokat beolvasni (mint például
a /boot/loadert), teljesen lehetetlen
még a Vinum belsõ szerkezetére is
megtanítani, tehát a
Vinum-konfigurációk
értelmezésére és magának a
rendszerindító kötet elemeinek
kielemzésére. Ezért be kell vetnünk
néhány trükköt ahhoz, hogy a
rendszerindító kód számára a
rendszerindításhoz használható
szabványos "a" partíció
képzetét keltsük.Mindez csak akkor válik
elérhetõvé, ha az alábbi
követelményeket teljesíti a
rendszerindító kötet:Nem lehet csíkozott vagy RAID-5
típusú.Erenként nem tartalmazhat egynél több
összefûzött allemezt.Láthatjuk, hogy hasznos és lehetséges
is több eret használni, melyek mindegyike a
rendszerindító állományrendszer
egy-egy másolatát tartalmazza. Az indulás
folyamán azonban ezen példányok
közül csak az egyiken fogja keresni a rendszer a
rendszertöltõt és a többi
állományt egészen addig, amíg a
rendszermag magát az állományrendszert nem
csatlakoztatja. A látszat kedvéért az
ereken belül található allemezek
mindegyikének lennie kell egy saját
"a" partíciójának,
amivel lényegében alkalmassá válik a
rendszerindításra. Ezeknek a hamis
"a" partícióknak nem kell
feltétlenül a többiekkel megegyezõ
pozíciókon elhelyezkedniük, azonban a
tévedések elkerülése
érdekében valószínûleg hasznos
olyan Vinum-köteteket létrehozni, ahol a
keletkezõ tükrözött eszközök
szimmetrikusak.A rendszerindító kötet egyes
eszközökön található
"a" partícióit az
alábbiak segítségével
állíthatjuk be:A rendszerindító kötet
részeként megjelenõ eszközön
található allemez helyét (az
eszköz elejétõl számított
eltolását) és méretét
ellenõrizni kell az alábbi parancs
segítségével:&prompt.root; gvinum l -rv rootNe felejtsük el, hogy a Vinum az eltolásokat
és méreteket byte-okban méri.
Ezekbõl tehát úgy nyerünk a
bsdlabel használatához
szükséges blokkszámokat, ha ezeket
elosztjuk 512-vel.Futassuk le a&prompt.root; bsdlabel -e eszköznévparancsot minden olyan eszközön, amelyik
részt vesz a rendszerindító kötet
kialakításában. Az
eszköznév legyen a
slice (fdisk)-táblát nem tartalmazó
lemezek esetén a lemez neve (mint
például da0), vagy
ellenkezõ esetben a slice neve (például
ad0s1).Ha már lenne egy "a"
partíció az eszközön
(valószínûleg egy Vinum elõtti
rendszeríndító
állományrendszert tartalmaz), nevezzük
át valami másra és így
továbbra is elérhetõ marad (biztos, ami
biztos), viszont többé már nem lesz a
rendszer számára alapértelmezett
rendszerindító eszköz. Az aktív
partíciók (mint például az
éppen csatlakoztatott rendszerindító
állományrendszer) nem nevezhetõek
át, ezért ezt a lépést csak
akkor tudjuk megtenni, ha a rendszerünket egy
Fixit (Helyreállító)
eszközrõl indítjuk, vagy egy olyan
kétlépéses folyamat során, ahol
(tükrözés esetén) a lemezrõl
még nem indítottuk el a rendszert.Ezt követõen az eszközön
található Vinum-partíciót
(amennyiben létezik) az eszközön levõ
allemez eltolásához kell helyezni. Ennek
eredménye lesz az új "a"
partíció "offset"
értéke. A partíció
"size" (méret)
értéke szó szerint
átemelhetõ a fenti
számításból. Az
"fstype" legyen
4.2BSD. Az "fsize",
"bsize" és
"cpg" értékeket a jelenlegi
állományrendszerhez mérten
ajánlott megválasztani, azonban itt most
egyáltalán nem bírnak
jelentõséggel.Ezzel a módszerrel
létesítettünk egy olyan új
"a" partíciót, amely lefedi
az eszközön található
Vinum-partíciót. Jegyezzük meg, hogy a
bsdlabel kizárolag csak abban az
esetben fogja megengedi ezt az átfedést, ha a
Vinum-partíciónk "vinum"
típussal van megjelölve.Készen is vagyunk! Most már van minden
eszközön egy hamisított
"a" partíciónk, amelyeken
megtalálható a rendszerindító
kötet egy-egy másolata. Határozottan
ajánlott még egyszer ellenõrizni a
munkánkat az alábbi parancs
kiadásával:&prompt.root; fsck -n /dev/eszköznévaFigyeljünk arra, hogy az összes
vezérlési információt
tartalmazó állománynak a Vinum-köteten
található rendszerindító
állományrendszerre kell vonatkoznia, ami viszont
egy új Vinum rendszerindító kötet
beállítása után nem
feltétlenül egyezik meg a jelenlegi aktív
állományrendszerrel. Különösen az
/etc/fstab és
/boot/loader.conf
állományokat kell ilyen szempontból
ellenõriznünk.A következõ indítás során a
rendszertöltõ már az új
Vinum-alapú rendszerindító
állományrendszerrõl fogja összeszedni a
mûködéséhez szükséges
adatokat és ezeknek megfelelõen cselekedni.
Végül, a rendszermag inicializálója
után, mikor az összes eszközt felismerte, egy
ehhez hasonló feltûnõ üzenet fogja jelezni
a beállítás
sikerességét:Mounting root from ufs:/dev/gvinum/rootEgy Vinum-alapú rendszerindító
állományrendszer példájaMiután sikeresen konfiguráltuk a
rendszerindító Vinum-kötetet, a
gvinum l -rv root kimenete
nagyjából így fog kinézni:
...
Subdisk root.p0.s0:
Size: 125829120 bytes (120 MB)
State: up
Plex root.p0 at offset 0 (0 B)
Drive disk0 (/dev/da0h) at offset 135680 (132 kB)
Subdisk root.p1.s0:
Size: 125829120 bytes (120 MB)
State: up
Plex root.p1 at offset 0 (0 B)
Drive disk1 (/dev/da1h) at offset 135680 (132 kB)
Itt (a /dev/da0h
partícióhoz képesti)
135680-as eltoltás
értékekre kell figyelnünk. Ez
képzõdik le a bsdlabel fogalmi
rendszerében aztán 265 darab 512 byte-os
blokkra a lemezen. Ehhez hasonlóan a
rendszerindító kötet mérete
245 760 darab 512 byte-os blokk lesz. A
rendszerindító kötet
másodpéldányát tartalmazó
/dev/da1h ugyanilyen
beállításokkal rendelkezik.Az említett eszközök valahogy így
jelennek meg a bsdlabel szerint:
...
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*)
c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*)
h: 71771672 16 vinum # (Cyl. 0*- 4467*)
Megfigyelhetõ, hogy a hamis "a"
partíció "size"
paraméter értéke megegyezik a fentebb
becsült értékkel, miközben az
"offset" paraméter
értéke egyenlõ lesz a "h"
Vinum-partíción belüli eltolás
és az eszközön (vagy slice-on) belüli
eltolás összegével. Ez jellemzõen egy
olyan beállítás, amivel
szükségszerûen el tudjuk kerülni a ban leírt
hibajelenséget. Látható
továbbá az is, hogy az egész
"a" partíció végig az
eszköz összes Vinum adatát tartalmazó
"h" partíciójában foglal
helyet.A példával kapcsolatban megjegyezzük,
hogy itt az egész eszközt a Vinum felügyelete
alá bocsátottuk, tehát nem marad
hátra semmilyen Vinum elõtt használt
rendszerindító partíció, hiszen ez
egy olyan lemez, amelyet eleve egy
Vinum-konfigurációba szántunk.HibakeresésFontos tudunk, hogy probléma esetén hogyan
tudjuk helyreállítani a rendszerünket. A
következõ felsorolásban bemutatunk
néhány ismert buktatót és a
megoldásaikat.A rendszertöltõ elindul, de a rendszer viszont
már nemHa valamilyen okból a rendszer nem indulna el, a 10
másodpercig tartó
visszaszámlálás során a
rendszertöltõt még meg tudjuk
állítani a szóköz
lenyomásával. Ekkor a betöltõ
által használt változók (mint
például a vinum.autostart) a
show segítségével
megvizsgálhatóak és a
set vagy unset
parancsokkal módosíthatóak.Ha mindössze az volt a probléma, hogy a Vinum
modulja nem szerepelt az automatikusan betöltendõ
modulok között, a load geom_vinum
parancs kiadásával betölthetjük
azt.Miután végeztünk, a
rendszerindítás folyamata a boot
-as paranccsal folytatható. A
kapcsolók jelzik a rendszermag
számára, hogy kérdezzen rá a
rendszerindító állományrendszerre
a csatlakoztatása elõtt ()
és csak egyfelhasználós módban
indítsa a rendszert (), ahol a
rendszerindító állományrendszer
írásvédett. Így, ha csak egyetlen
eret csatlakoztattunk egy többeres kötetbõl, az
erek még véletlenül sem tudnak
egymásnak ellentmondó állapotba
kerülni.Amikor megjelenik a csatlakoztatandó
rendszerindító állományrendszert
bekérése, bármelyik
érvényes rendszerindításra
alkalmas állományrendszer megadható.
Amennyiben az /etc/fstab
állományt jól beállítottuk,
az alapértelmezett érték egy
ufs:/dev/gvinum/root értékhez
hasonló alakú lesz. Itt általában
egy ufs:da0d formátumú
értéket láthatunk, amely feltehetõen
egy Vinum használata elõtti
rendszerindító állományrendszert
tartalmazó partíció. Legyünk
óvatosak, ha itt egy olyan "a"
partíciót adunk meg, amely
valójában egy rendszerindító
Vinum-eszköz allemezeire hivatkozik, mivel egy
tükrözött konfiguráció
esetén csak az eszköz egyik részét
fogjuk csatlakoztatni. Ha a késõbbiekben ezt az
állományrendszert már nem csak
írásvédett módban csatlakoztatjuk,
mindenképpen el kell távolítanunk a
rendszerindító Vinum-kötetbõl a
többi eret, mivel máskülönben nagy
valószínûséggel eltérõ
adatokat fognak tartalmazni.Csak az elsõdleges rendszertöltõ indul
elAmikor az elsõdleges rendszertöltõ
még elindul, viszont a
/boot/loader már nem tud
betöltõdni (ezt rendszerindítás
megkezdése után bal oldalt rögtön
megjelenõ forgó vonalból vehetjük
észre), a szóköz
lenyomásával itt még tehetünk egy
kísérletet a betöltés
megszakítására. Ennek
hatására a rendszertöltés
megáll a második fázisban, lásd
. Itt a
rendszerindításhoz megpróbálhatunk
megadni egy másik partíciót,
például egy olyat, amely a korábbi
rendszerindító állományrendszert
tartalmazza és amelyet az elõbb
átneveztünk az
"a"-ról.Semmi sem indul, a rendszertöltõ hibákat
írEz a helyzet akkor állhat elõ, ha a Vinum
telepítése során tönkretettük
volna a rendszertöltõt. Sajnos a Vinum minden
esetben 4 KB helyet hagy szabadon a
partíció elején, a saját
fejléc információjának
rögzítése elõtt. Az ide
kerülõ elsõ és második
fázisú rendszertöltõk, illetve a
bsdlabel adatai azonban jelenleg 8 KB helyet
kívánnak meg. Így ha a
Vinum-partíció egy
rendszerindításra szánt slice vagy lemez
0. eltolásánál kezdõdik, a Vinum
beállításai felül fogják
írni a rendszertöltõt.A rendszertöltõ is ugyanígy
felülírja a Vinum fejlécét és
akkor a Vinum nem találja a lemezeit, ha a fenti
problémát orvosolva, például egy
Fixit (Helyreállító) lemez
segítségével,
újratelepítjük a rendszertöltõt a
ban bemutatott bsdlabel
-B parancs segítségével. Noha
a Vinum egyetlen konkrét konfigurációs
beállítása vagy a kötetekben
tárolt adat sem sérül meg és vissza
tudjuk állítani az összes elveszett
információt ugyannak a
Vinum-konfigurációnak az újbóli
megadásával, a helyzetet magát
nehéz megoldani. A Vinum-fejléc és a
rendszertöltõ ütközésének
megszüntetéséhez ugyanis legalább
4 KB-tal arrébb kell mozgatnunk az egész
Vinum-partíciót.
-
-
- Eltérések a &os; 4.X
- verziójában
-
- A lemezek automatikus felderítéséhez a
- Vinumnak szüksége van bizonyos belsõ
- funkciókra, amelyek a &os; 4.X
- verziójából még hiányoznak,
- valamint a rendszerindító eszköz belsõ
- azonosítóját
- feltérképezõ kód sem elég
- intelligens ahhoz, hogy magától
- megbírkózzon a
- /dev/vinum/root alakú nevekkel.
- Ennélfogva a folyamat kicsit különbözik
- ebben az esetben.
-
- A /boot/loader.conf
- állományban a Vinumnak explicit módon meg
- kell mondani, melyik lemezeket nézze át:
-
- vinum.drives="/dev/da0 /dev/da1"
-
- Fontos megemlíteni, hogy az itt megemlített
- meghajtók mindegyike tartalmazhat Vinummal kapcsolatos
- adatokat. Tehát probléma nélkül
- megadhatunk több meghajtót is,
- illetve nem kötelezõ rendre megadni az egyes
- slice-okat és/vagy partíciókat, mivel a
- Vinum a megnevezett meghajtók összes slice-án
- és partícióján keresni fogja az
- érvényes Vinum-fejléceket.
-
- Mivel az rendszerindító
- állományrendszer nevének
- elemzését és ebbõl a (fõ-
- és al-) eszközazonosító
- megállapítását végzõ
- rutinok csupán a klasszikus
- eszköznevek, mint például a
- /dev/ad0s1a, esetére lettek
- felkészítve, nem képesek a
- /dev/vinum/root alakú
- rendszerindító kötetek neveit
- megérteni. Emiatt a Vinumnak kell az indulása
- során beállítania a
- rendszerindító eszköz
- azonosítóját tartalmazó
- paramétert a rendszermagon belül. Ezért a
- rendszerbetöltõ vinum.root
- nevû változójában át kell
- adnunk neki a rendszerindító kötet
- nevét. Tehát a
- /boot/loader.conf állományban
- a hozzátartozó bejegyzés így
- nézhet ki:
-
- vinum.root="root"
-
- Mikor a rendszermag megpróbálja
- megállapítani a rendszerindításhoz
- használható eszközt, megnézi, hogy
- valamelyik modul beállította-e már ennek az
- értékét. Amennyiben ez történt
- és az eszköz szerint a
- rendszerindító eszköz megfelel az
- átadott rendszerindító eszköz
- nevébõl megállapított
- eszközmeghajtó fõszámának (jelen
- esetünkben ez a "vinum"), nem fogja
- tovább keresni, hanem az elõre megadott
- eszközazonosítót használja. Ezen a
- módon egy automatikus indítás során
- egy Vinum-kötetrõl is csatlakoztathatóvá
- válik a rendszerindító
- állományrendszer.
-
- Amikor azonban a boot -a parancsot
- használjuk a rendszerindító eszköz
- nevének manuális megadásához, nem
- szabad elfelejteni, hogy ez a rutin továbbra sem
- képes értelmezni az itt bevitt Vinum-kötetek
- nevét. Ha a megadott eszköznév nem egy
- Vinum-eszközhöz tartozik, az itt
- érvényes paraméter által
- tárolt eszközazonosítók és
- névbõl kikövetkeztetett
- eszközmeghajtó nem illik egymáshoz és
- a rutin behívja a rendes értelmezõjét,
- így egy ufs:da0d alakú sztring
- begépelése esetén az elvártaknak
- megfelelõen cselekszik. Vegyük azonban figyelembe, ha
- ez nem válik be, nincs lehetõségünk
- másodjára megadni egy
- ufs:vinum/root alakú sztringet, mivel
- ezután a rendszer már nem tudja értelmezni.
- Itt egyedül csak egy újraindítás, majd
- a mûvelet újrakezdése segíthet. (A
- bekérésnél (askroot prompt)
- a /dev/ elõtag bármikor
- elhagyható.)
-
-