DHCP

A Unix/Linux szerverek üzemeltetése wikiből
A lap korábbi változatát látod, amilyen TechyZoltan (vitalap | szerkesztései) 2007. március 11., 22:14-kor történt szerkesztése után volt.

Tartalomjegyzék

1 DHCP

A Dynamic Host Configuration Protocol elsősorban arra szolgál, hogy hostok egyedi címeket kaphassanak a hálózaton. Pillanatnyi levegővétel után el lehet azon merengeni, hogy jelen esetben a 'host' elnevezés alatt mi minden is érthető: érthetünk alatta egy PC-t, IP-telefont, Access Pointot stb. Egyre kevésbé lepődünk meg a különféle hálózati interfészekkel végrehajtott mutatványokon, és így egyre hálátlanabb feladat lenne ékes anyanyelvünkön mindent lefedő kifejezést találni. Gyakorlati jelentősége úgyis inkább az egyediségnek van: a kézi konfiguráció a hostok számának növekedésével egyre körülményesebbé, a hibák elkerülésének a szempontjából pedig egyre bizonytalanabbá válik.

A protokoll lehetővé teszi, hogy ún. opciók segítségével további információkat is közöljünk a hostokkal; a használhatóság nem kis részben innen fakad. Opciók lehetnek az általában elvárt default gateway, névfeloldáshoz használandó DNS szerver IP-címei; érdemes tudni, hogy a lista meglepően hosszú, és például arra is "megkérhetünk" hostot, hogy az ip forwarding bekapcsolásával kezdjen el routerként üzemelni.

1.1 A felhasználás leggyakoribb módja

Legegyszerűbb esetben annyit szoktunk egy DHCP szervertől elvárni, hogy IP-címet, default gateway IP-címét, DNS szerver IP címét legyen képes átadni egy hostnak. Ha precízek akarunk lenni, akkor tartsuk észben: a DHCP kliensnek, amit a host futtat.

1.2 A működés elve

A DHCP broadcast-alapú protokoll, leegyszerűsítve úgy működik, hogy a host "belekiabál" (=broadcast) a hálózatba, hogy címet kér. A DHCP szerver feladata az ilyen kérésekre figyelni, és IP-címet, továbbá -nem kötelező, de praktikusan mindig használt- opciókat ajánlani a hosztnak.

A címek kiosztása csak bizonyos ideig érvényes, ezt az időt a szerver(t konfiguráló személy) határozza. Ha az ún "dhcp lease" érvényessége lejárt, akkor a kliensnek el kell dobnia az IP-címét, és újat kell igényelnie.

1.3 A három fontos szereplő: szerver, kliens(ek), relay agent

A DHCP szervert a dhcp csomag tartalmazza. Azért felel, hogy a DHCP kliensek kéréseire figyeljen és a konfigurációnak (erről lesz még szó) megfelelően kiszolgálja azokat.

Kliensből többféle közül válogathatunk: dhcpcd, pump, udhcpc, dhclient. Amennyiben nincs semmi speciális igényünk, akkor válasszuk a dhcpcd-t, esetleg pump-ot.

Magyarázatot a relay agent igényelhet. Fontos tudni, hogy a DHCP broadcast-alapú protokoll, következésképp a DHCP szerver csak egy broadcast domainen belül képes a kéréseket kiszolgálni. Broadcast domainek a hálózatnak azok a részei, ahol érvényesek a broadcast üzenetek. Broadcast üzeneteket routerek nem továbbítanak; egyszerűen összekötött switchek viszont broadcast domaineket fognak alkotni. (Kitérő: a hálózatok annál hatékonyabban működnek, minél kisebbek a broadcast domainek. Egyre népszerűbb sportág a LAN-okat VLAN szegmensekre szegmentálni -ha kell, ha nem-. Fontos tudni, hogy a VLAN-ok külön broadcast domaineket alkotnak.)

Térjünk vissza a relay agent magyarázatára. A hálózatunk nagyon könnyen állhat több különálló broadcast domainből, például távoli fiókirodák vagy VLAN-okra szegmentált helyi hálózat esetén általában ez a helyzet. (Kivéve, ha L2TP vagy "tap" drivert használó VPN megoldást használunk. Ez általában nem cél.) Az egyes broadcast domainekbe telepíthetünk külön DHCP szervereket, vagy alkalmazhatjuk a "dhcp relay" néven ismert technikát: a relay agent azért felel, hogy a DHCP kéréseket unicastként továbbítsa a -számára ismert- DHCP szerver felé. A szerver az agentnek fog válaszolni (címet, opciókat ajánlani), aki a kérést elindító hostnak továbbadja a választ. A DHCP relaying elegánsabb megoldás, mint külön DHCP szervereket alkalmazni; központilag adminisztrálható lesz a címek kiosztása, a hálózatüzemeltetők is nyugodtabbak (az egy -fogalmi- hálózaton elhelyezett második DHCP szerver sokakban babonás félelmeket kelt), a hálózati aktív eszközök "dhcp relay" vagy "ip helper" néven szoktak relay agentet tartalmazni. A dhcp csomag is tartalmaz egy relay agentet, ennek neve dhcrelay.

1.4 Szerver telepítése

A szerver telepítésére kérjük meg a csomagkezelőt: Debianon ez minden bizonnyal az
 apt-get dhcp 
parancs kiadásával történik, Gentoo alatt az
 emerge dhcp 
jár hasonló eredménnyel. Fontosabb tudnivaló, hogy a lease-eket tartalmazó file-t kézzel kell létrehoznunk, ne felejtsük el!
touch /var/lib/dhcp/dhcpd.leases
A szerver telepítésével végeztünk is, két lépés maradt hátra: konfigurálnunk kell azt (ehhez rövid bevezetést a következő fejezet tartalmaz), továbbá érdemes megoldani, hogy a szerver (ettől a ponttól nevezzük is nevén: dhcpd, a.k.a. dhcp daemon) automatikusan fusson a szerver-PC indításakor. Ezt Gentoo-specifikusan az
 rc-update add dhcpd default 
paranccsal érhetjük el.

Kitérő: a Gentoo Linux init-rendszere nagyon egyszerűen kezelhető a fentebb leírt rc-update parancs segítségével. Ha ennél kicsit kifinomultabbat szeretnénk (például daemontoolst), akkor sem bonyolult a dolgunk:

 
emerge daemontools 
rc-update add svscan boot 

Innentől ha azt szeretnénk, hogy egy adott szolgáltatást a daemontools felügyeljen, akkor átadhatjuk annak.

1.5 Példa-konfiguráció

1.6 Biztonság

Személyes eszközök