Dokumentáció/SL9.3/Szolgáltatások/DHCP

Icon-dhcp.png A dinamikus gépkonfigurációs protokoll (dynamic host configuration protocol, DHCP) célja, hogy a hálózati beállítások központilag, egy szerverről kerüljenek kiosztásra ahelyett, hogy minden munkaállomást helyileg kellene beállítani. A DHCP használatára beállított gép nem tudja szabályozni a saját statikus IP-címét. Ehelyett a szerver útmutatásai szerint teljesen automatikusan beállítja magát.

Bevezetés

A DHCP használatának egyik módja, hogy a szerver minden klienst azonosít a hálózati kártya hardvercímével (amely a legtöbb esetben rögzített), majd csatlakozáskor ugyanazokat a beállításokat adja meg a kliens számára. A DHCP azonban úgy is beállítható, hogy a szerver dinamikusan rendeljen címet az egyes kliensekhez egy erre a célra lefoglalt címkészletből. Ez utóbbi esetben is, a DHCP-szerver minden kérés esetén megpróbálja mindig ugyanazt a címet rendelni a klienshez, még hosszabb idő eltelte után is. Ez természetesen csak akkor működik, ha a hálózatban nincs több kliens, mint cím.

Mindez azt jelenti, hogy a DHCP kétféleképpen is leegyszerűsítheti a rendszeradminisztrátorok életét. A címekkel és hálózati konfigurációval kapcsolatos változtatások, a nagyobbak is, a szerver konfigurációs fájljának módosításával központilag elvégezhetők. Ez sokkal kényelmesebb, mint a munkaállomások egyenkénti átkonfigurálása. A gépek hálózatba szervezése is sokkal egyszerűbb, különösen az új gépeké, mivel ezek a címkészletből automatikusan kaphatnak IP-címet. A megfelelő hálózati beállítások lekérése a DHCP-szervertől különösen hasznos megoldás a folyton más és más hálózatokban használt noteszgépek esetén.

A DHCP-szerver a kliens számára nemcsak az IP-címet és a hálózati maszkot tudja kiosztani, hanem akár a gép- és tartománynevet, valamint az átjáró és a névszerver címét is. A DHCP lehetővé teszi számos további paraméter központi beállítását is. Be lehet állítani például egy időszervert, amelytől a kliensek lekérdezhetik az aktuális időt, vagy egy nyomtatószervert.

Icon-hardver.png IBM S/390, zSeries: DHCP támogatás

IBM S/390 és zSeries platformokon a DHCP csak OSA és OSA Express hálózati kártyákat használó csatolókon működik. Csak ezek a kártyák rendelkeznek MAC-címmel, amelyre szükség van a DHCP automatikus beállítási funkciójához.

DHCP-szerver beállítása a YaST segítségével

Icon-Important.png LDAP-támogatás

A SUSE LINUX Enterprise Server ezen verziójában a YaST DHCP-modul beállítható úgy is, hogy a szerver konfigurációját helyileg tárolja (azon a gépen, amelyik a DHCP-szervert futtatja), de úgy is, hogy a konfigurációs adatokat egy LDAP-szerver kezelje.

A YaST DHCP moduljával saját DHCP-szerver állítható be a helyi hálózat számára. A modul használható egyszerű és szakértői módban is.

A modul első használatakor a YaST elindít egy négy lépésből álló varázslót. A varázsló segítségével kialakítható egy alapszintű DHCP-szerver.

DHCP-szerver: A hálózati csatoló kiválasztása
A hálózati csatoló kiválasztása
Az első lépésben a YaST megkeresi a rendelkezésre álló hálózati csatolókat, majd megjeleníti őket egy listában. A listából válassza ki azt a csatolót, amelyen a DHCP-szervernek figyelnie kell, majd a tűzfal kinyitásához jelölje meg a Tűzfal kinyitása a kiválasztott csatolóhoz lehetőséget és nyomja meg a Következő gombot.
DHCP-szerver: Általános beállítások
Általános beállítások
A jelölőnégyzettel adja meg, hogy a DHCP-beállítások automatikusan egy LDAP-szerveren tárolódjanak-e. A beviteli mezőkben adja meg a DHCP-szerver által kezelendő összes kliens hálózati jellemzőit. Ezek a jellemzők a domainnév, az időszerver címe, az elsődleges és másodlagos névszerver címe, a nyomtató- és WINS-szerver címe (Windows- és Linux-klienseket egyaránt tartalmazó vegyes hálózat esetén), az átjáró címe és a lejárati idő. A továbblépéshez nyomja meg a Következő gombot.
DHCP-szerver: Dinamikus DHCP
Dinamikus DHCP
Ebben a lépésben állíthatja be, hogy a dinamikus IP-cím hogyan legyen hozzárendelve a kliensekhez. Ehhez adjon meg egy IP-tartományt, amelyből a szerver címeket tud rendelni a DHCP-kliensekhez. Az összes címre ugyanannak a hálózati maszknak kell vonatkoznia. Adja meg a lejárati időt is, ameddig a kliens megtarthatja az IP-címet anélkül, hogy a használat hosszabbítását kellene kérnie. Nem kötelező, de a maximális lejárati idő is megadható – az az időtartam, ameddig a szerver fenntart egy IP-címet az adott kliens számára. A továbblépéshez nyomja meg a Következő gombot.
DHCP-szerver: Indítás
A beállítás befejezése és az indítási mód beállítása
A konfigurációs varázsló harmadik lépése után megjelenik az utolsó párbeszédablak, amelyben megadható, hogy a DHCP-szervert hogyan kell elindítani. Itt meghatározható, hogy a rendszer betöltése után a DHCP-szerver automatikusan elinduljon-e, vagy szükség esetén kézzel kell elindítani (például tesztelési célokból). A szerver beállításának befejezéséhez kattintson a Kész gombra (DHCP-szerver: Indítás). A párbeszédablak baloldalán látható fastruktúrából a Gépek kezelése elemet kiválasztva az alapkonfiguráción felüli speciális gépkezelési funkciók is beállíthatók.
DHCP-szerver: Gépek kezelése
Gépek kezelése
A dinamikus DHCP fent leírt használata helyett úgy is beállítható a szerver, hogy a címeket félig statikus módon ossza ki. Az így kezelendő kliensek listájának megadásához használja az alsó részben látható beviteli mezőket. Egészen pontosan adja meg az ilyen kliensnek kiosztandó Név és IP-cím értékeket, valamint a MAC-cím és a Hálózattípus értékét (Token ring vagy Ethernet). A Hozzáadás, Szerkesztés és Törlés a listáról gombokkal módosítsa a felső részben látható kliensek listáját.

Szakértői beállítás

A fent leírt konfigurációs módszeren felül egy szakértői konfigurációs mód is rendelkezésre áll, amelynek segítségével a DHCP-szerver beállításának minden részlete módosítható. A párbeszédablak baloldali részében látható fanézetben a Szakértői beállítások kiválasztásával indítsa el a szakértői konfigurációt.

DHCP-szerver: Chroot-környezet és deklarációk
Chroot környezet és deklarációk
Az első párbeszédablakban a DHCP-szerver indítása kiválasztásával tegye a meglévő konfigurációt szerkeszthetővé. A DHCP-szerver viselkedésének fontos jellemzője, hogy a szervergép biztonságossá tétele érdekében futtatható chroot környezetben (chroot jail). Ha a DHCP-szervert külső támadás fenyegeti, a támadó továbbra is rács mögött van a chroot "börtönben", amely megakadályozza, hogy a rendszer többi részét elérje. A párbeszédablak alsó része egy fanézetet jelenít meg a már megadott deklarációkkal. Módosítsa ezeket a Hozzáadás, Törlés és Szerkesztés menüpontok segítségével. A Szakértői beállítások menüpont kiválasztása további szakértői párbeszédablakokba visz. A Hozzáadás gomb megnyomása után adja meg a felvenni kívánt deklaráció típusát. A Szakértői beállítások között megtekinthető a szerver naplófájlja, beállítható a TSIG-kulcskezelés, illetve módosítható a tűzfal konfigurációja a DHCP-szerver beállításának megfelelően.
DHCP-szerver: Deklarációtípus kiválasztása
Deklarációtípus kiválasztása
A DHCP-szerver Általános beállításai több deklarációból állnak. A párbeszédablakban az Alhálózat, Gép, Osztott hálózat, Csoport, IP-címkészlet és az Osztály deklarációtípusok állíthatók be.
Alhálózat beállítása
A párbeszédablakban meg lehet adni egy új alhálózatot annak IP-címével és hálózati maszkjával. A párbeszédablak középső részén a Hozzáadás, Szerkesztés és Törlés gombokkal módosítsa a kiválasztott alhálózat DHCP-szerver indítási beállításait. Ha dinamikus DNS-t kíván beállítani az alhálózathoz, válassza ki a Dinamikus DNS lehetőséget.
DHCP-szerver: Alhálózatok beállítása
TSIG-kulcskezelés
Ha az előző párbeszédablakban a dinamikus DNS beállítását választotta, akkor most beállíthatja a biztonságos zónaátvitel kulcskezelését. Az OK gomb kiválasztása után átkerül egy másik párbeszédablakba, amelyben a dinamikus DNS csatolója állítható be.
Dinamikus DNS
Csatoló beállítása
Ezután a Dinamikus DNS engedélyezése az alhálózat számára megjelölésével aktiválhatja a dinamikus DNS-t az alhálózathoz. Ezután a legörülő menüből segítségével válassza ki a normál és visszirányú zónák TSIG-kulcsait, és győződjön meg róla, hogy a DNS- és DHCP-szerver kulcsai megegyeznek. Az Általános dinamikus DNS szerver beállítások frissítése négyzet megjelölésével engedélyezze a DHCP-szerver beállításainak automatikus frissítését és beállítását a dinamikus DNS környezetnek megfelelően. Végül adja meg, hogy mely normál és visszirányú zónákat kell frissíteni dinamikus DNS-sel. Ehhez adja meg mindkét zóna elsődleges névszerverének a nevét. Ha a névszerver ugyanazon a gépen fut, mint a DHCP-szerver, akkor ezek a mezők üresen hagyhatók. Az OK gomb megnyomása visszavisz az alhálózat-konfigurációs párbeszédablakba. . Az OK gomb újbóli megnyomására visszakerül az eredeti szakértői beállítások párbeszédablakba.
Hálózati csatoló beállítása
A DHCP-szerver által figyelendő csatolók megadásához, és a tűzfal-konfiguráció beállításához a Szakértői beállítások párbeszédablakban válassza ki a SzakértőEszközbeállítás menüpontot. A megjelenített csatolók listájából válasszon ki legalább egy elemet, amelyet a DHCP-szervernek figyelnie kell. Ha az összes alhálózatban lévő kliensnek tudnia kell kommunikálni a szerverrel, és a szervergép szintén futtat egy tűzfalat, akkor ennek megfelelően állítsa be a tűzfalat. Ehhez válassza ki a Tűzfalbeállítások igazítása menüpontot. A YaST ezután beállítja a SuSEfirewall2 szabályait az új feltételekhez, majd ezután az OK gomb megnyomásával visszatérhet az eredeti párbeszédablakhoz.A konfigurációs lépések befejezése után az OK gombbal zárja be a párbeszédablakot. A szerver ezután az új konfigurációval indul el.

DHCP-szoftvercsomagok

SUSE LINUX alatt DHCP-szerver és DHCP-kliens egyaránt rendelkezésre áll. A rendelkezésre álló DHCP-szerver a dhcpd (az Internet Software Consortium tette közzé). A kliensoldalon válasszon a két különböző DHCP-kliensprogram közül: dhclient (szintén az ISC-től) és a DHCP kliensdémon a dhcpcd csomagban.

A SUSE LINUX alapértelmezés szerint a dhcpcd-t telepíti. A program kezelése nagyon egyszerű és a DHCP-szerver figyelése érdekében minden rendszerindításkor automatikusan elindításra kerül. Nincs szükség konfigurációs fájlra és a legtöbb szokásos kialakításban azonnal használható. Összetettebb helyzetekben használja az ISC dhclient-et, amelyet az /etc/dhclient.conf konfigurációs fájl vezérel.

A dhcpd DHCP-szerver

Minden DHCP-rendszer központi része a dinamikus gépkonfigurációs protokollt kezelő démon. A szerver kiosztja a címeket, majd az /etc/dhcpd.conf konfigurációs fájlban megadott beállításoknak megfelelően figyeli a használatukat. A fájlban lévő paraméterek és értékek módosításával a rendszeradminisztrátor többféleképp befolyásolhatja a program viselkedését. A Az /etc/dhcpd.conf konfigurációs fájl egy egyszerű /etc/dhcpd.conf példafájlt mutat.



Icon-example.png Példa: Az /etc/dhcpd.conf konfigurációs fájl

default-lease-time 600;         # 10 minutes
max-lease-time 7200;            # 2  hours

option domain-name "cosmos.all";
option domain-name-servers 192.168.1.1, 192.168.1.2;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;

subnet 192.168.1.0 netmask 255.255.255.0
 {
  range 192.168.1.10 192.168.1.20;
  range 192.168.1.100 192.168.1.200;
 }

Ez az egyszerű konfigurációs fájl elegendő ahhoz, hogy a DHCP-szerver IP-címeket osszon ki a hálózatban. Figyeljen arra, hogy minden sor végén legyen pontosvessző, mivel ellenkező esetben a dhcpd nem kerül elindításra.

A fenti példafájl három részre osztható. Az első megadja, hogy egy IP-cím alapértelmezés szerint hány másodpercig marad a kérő kliensnél (default-lease-time), mielőtt megújítja azt. A szakasz a maximális időszakot is megadja, ameddig a gép a DHCP-szerver által hozzárendelt IP-címet megújítás kérése nélkül megtarthatja (max-lease-time).

A második részben néhány alapvető hálózati paraméter van megadva általánosságban:

  • Az option domain-name sor a hálózat alapértelmezett tartományát adja meg.
  • Az option domain-name-servers bejegyzéssel maximum három érték adható meg az IP-címeket gépnevekre (és vissza) alakító DNS-szerverekhez. Ideális eseten még a DHCP beállítása előtt kell beüzemelni egy névszervert a saját gépen vagy a hálózat egy másik részén. Célszerű, ha a névszerver egy hosztnevet is megad minden dinamikus címhez és viszont. A névszerver beállításának leírása: A DNS (tartománynévrendszer, Domain Name Rendszer).
  • Az option broadcast-address sor adja meg a kérést küldő kliens által használandó üzenetszórási címet.
  • Az option routers segítségével utasítható a szerver, hogy hova küldje az adatcsomagokat, amelyek nem kézbesíthetők a helyi hálózaton lévő gépnek (a megadott forrás- és célgépcímnek, valamint az alhálózati maszknak megfelelően). A legtöbb esetben, különösen kisebb hálózatokban, ez az útválasztó ugyanaz, mint az internet-átjáró.
  • Az option subnet-mask segítségével adja meg a klienshez rendelt hálózati maszkot.

A fájl utolsó részében a hálózatot lehet megadni, az alhálózati maszkot is beleértve. A befejezéshez adjon meg egy címtartományt, amelyből a DHCP-démon IP-címeket oszthat. Ebben a példában a kliensek 192.168.1.10 és 192.168.1.20, valamint 192.168.1.100 és 192.168.1.200 közötti címeket kaphatnak.

E pár sor módosítása után az rcdhcpd start paranccsal már aktiválni tudja a DHCP-démont, amely azonnal használható. Az rcdhcpd check-syntax parancs segítségével hajtson végre egy rövid szintaxisellenőrzést. Ha váratlan problémákat észlel a konfigurációban – a szerver hibával leáll, vagy indításkor nem ad vissza done értéket –, akkor a /var/log/messages fő rendszernaplóban vagy a 10-es konzolon (Ctrl-Alt-F10) látható információ segítségével a hiba oka azonosítható.

Egy alapértelmezett SUSE LINUX rendszeren a DHCP-démon biztonsági okokból chroot környezetben indul el. A konfigurációs fájlokat át kell másolni a chroot környezetbe, hogy a démon meg tudja találni őket, de az rcdhcpd start parancs is automatikusan átmásolja a fájlokat.

Statikus IP-címekkel rendelkező kliensek

Mivel a DHCP képes adott klienshez mindig ugyanazt az előre meghatározott, statikus címet rendelni, ezért az explicit módon kiosztott címeknek mindig prioritása van a tárolóból származó dinamikus címekkel szemben. Továbbá egy statikus cím nem jár le úgy, mint a dinamikus, vagyis ha például nem áll rendelkezésre elég cím, a szerver nem osztja ki másnak.

Egy statikus címmel rendelkező kliens azonosításához a dhcpd a hardvercímet használja, amely hálózati eszközök azonosítására szolgáló globálisan egyedi, hat hexadecimális számpárból álló rögzített numerikus kód (például 00:00:45:12:EE:F4). Ha a megfelelő sorok (egy példa: A konfigurációs fájl kiegészítései) hozzáadásra kerülnek a korábbi példa (Az /etc/dhcpd.conf konfigurációs fájl) konfigurációs fájljaihoz, akkor a DHCP-démon minden helyzetben ugyanazt a címet rendeli hozzá a megfelelő klienshez.


Icon-example.png A konfigurációs fájl kiegészítései

host earth {
hardware ethernet 00:00:45:12:EE:F4;
fixed-address 192.168.1.21;
}

Az első sorban a megfelelő kliens (hostgépnév, itt earth), a másodikban pedig a MAC-cím kerül megadásra. Linux-gépeken ez a cím az ifstatus parancs segítségével határozható meg, amelyet a hálózati eszköz követ (például eth0). Ha szükséges, az ifup eth0 parancs segítségével először aktiválja a hálózati kártyát. A kimenetnek az alábbihoz hasonlónak kell lennie:

link/ether 00:00:45:12:EE:F4

A fenti példában a 00:00:45:12:EE:F4 MAC-című hálózati kártyával rendelkező klienshez a 192.168.1.21 IP-cím és a earth gépnév kerül automatikusan hozzárendelésre. A megadandó hardver típusa a legtöbb esetben Ethernet, de az IBM rendszereken gyakran található Token-ring is támogatott.

A SUSE LINUX verzió

A biztonság javítása érdekében az ISC DHCP-szerverének SUSE verzióját az Ari Edelkind által alkalmazott non-root/chroot javítással szállítjuk. Ez lehetővé teszi, hogy a dhcpd nobody felhasználói azonosítóval és chroot környezetben fusson (/var/lib/dhcp). Ehhez a dhcpd.conf konfigurációs fájlnak a /var/lib/dhcp/etc könyvtárban kell lennie. Az init parancsfájl indításkor automatikusan átmásolja az összes fájlt ebbe a könyvtárba.

Az /etc/sysconfig/dhcpd fájlban lévő bejegyzések segítségével szabályozható a DHCP-démon működése. A dhcpd chroot környezet nélküli futtatásához az /etc/sysconfig/dhcpd fájlban lévő DHCPD_RUN_CHROOTED változót állítsa »no« értékre.

Ahhoz, hogy a dhcpd chroot környezetben futva is feloldhassa a gépneveket, további konfigurációs fájlokat is át kell másolni:

  • /etc/localtime
  • /etc/host.conf
  • /etc/hosts
  • /etc/resolv.conf

Ezek a fájlok az init parancsfájl indításakor átmásolásra kerülnek a /var/lib/dhcp/etc/ könyvtárba. Ne feledkezzen meg ezen másolatok megváltoztatásáról, ha szükség van rá, mert dinamikusan módosítják őket az /etc/ppp/ip-up-hoz hasonló parancsfájlok. Nem kell ugyanakkor aggódni emiatt, ha a konfigurációs fájl csak IP-címeket ad meg (gépnevek helyett).

Ha a konfiguráció további, a chroot környezetbe átmásolandó fájlokat tartalmaz, akkor ezeket az etc/sysconfig/dhcpd fájl DHCPD_CONF_INCLUDE_FILES változóiban kell megadni. Annak biztosításához, hogy a DHCP naplózási funkciója a syslog démon újraindítása után is működjön, az /etc/sysconfig/syslog fájlban a SYSLOGD_PARAMS alatt fel kell venni a "-a /var/lib/dhcp/dev/log" paramétert is.

További információ

A DHCP-vel kapcsolatos további információ az Internet Software Consortium webhelyén érhető el (http://www.isc.org/products/DHCP/). A dhcpd, dhcpd.conf, dhcpd.leases és dhcp-options kézikönyvoldala (man) is hasznos információkkal rendelkezik.