24. fejezet - DHCP

Tartalomjegyzék

24.1. DHCP-kiszolgáló beállítása a YaST segítségével
24.2. DHCP-szoftvercsomagok
24.3. A dhcpd DHCP-kiszolgáló
24.4. További információ

Kivonat

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 kiszolgálóró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 kiszolgáló útmutatásai szerint teljesen automatikusan beállítja magát. Ha a NetworkManagert használja a kliensoldalon, akkor a kliensen egyáltalán semmit nem kell beállítani. Ez akkor hasznos, ha folyamatosan változik a környezet, de egyszerre csak egy csatoló aktív. DHCP-kiszolgálót futtató gépen soha ne használja a NetworkManagert.

A DHCP használatának egyik módja, hogy a kiszolgáló 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 kiszolgáló dinamikusan rendeljen címet az egyes kliensekhez egy erre a célra lefoglalt címtartományból. Ez utóbbi esetben is, a DHCP-kiszolgáló 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 rendszergazdák életét. A címekkel és hálózati konfigurációval kapcsolatos változtatások, a nagyobbak is, a kiszolgáló 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-kiszolgálótól különösen hasznos megoldás a folyton más és más hálózatokban használt noteszgépek esetén.

Ebben a fejezetben a DHCP-kiszolgáló ugyanazon az alhálózaton fut, mint a munkaállomások (192.168.2.0/24) és 192.168.2.1 az átjáró. Fix IP-címe van (192.168.2.254) és két címtartományt szolgál ki: 192.168.2.10 – 192.168.2.20 és 192.168.2.100 – 192.168.2.200.

A DHCP-kiszolgáló 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évkiszolgáló 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őkiszolgálót, amelytől a kliensek lekérdezhetik az aktuális időt, vagy egy nyomtatókiszolgálót is.

24.1. DHCP-kiszolgáló beállítása a YaST segítségével

A DHCP-kiszolgáló telepítéséhez indítsa el a YaST-ot és válassza ki a Szoftver+Szoftver telepítése és eltávolítása menüpontot. Válassza ki a Szűrő+Minták menüpontot, majd a DHCP- és DNS-kiszolgáló pontot. A telepítési folyamat befejezéséhez erősítse meg a függő csomagok telepítését.

[Important]LDAP-támogatás

A YaST DHCP-modul beállítható úgy is, hogy a kiszolgáló konfigurációját helyileg tárolja (azon a gépen, amelyik a DHCP-kiszolgálót futtatja), de úgy is, hogy a konfigurációs adatokat egy LDAP-kiszolgáló kezelje. Ha LDAP-t kíván használni, akkor még a DHCP-kiszolgáló konfigurálása előtt állítsa be az LDAP-környezetet.

További információ az LDAP-ról: Chapter LDAP—A Directory Service (↑Security Guide).

A YaST DHCP-moduljával (yast2-dhcp-server) saját DHCP-kiszolgáló állítható be a helyi hálózat számára. A modul elindítható varázsló segítségével és szakértői módban is.

24.1.1. Kezdeti beállítás (varázsló)

A modul első használatakor egy beállító varázsló indul el, amelyben néhány alapvető döntést kell meghozni a kiszolgáló felügyeletével kapcsolatban. Ezzel a kezdeti beállítási folyamattal kialakítható egy alapszintű DHCP-kiszolgáló, amely a legfontosabb funkciókat biztosítja. Szakértői módban a speciálisabb beállítások is megadhatók.

A hálózati kártya kiválasztása

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-kiszolgálónak figyelnie kell, majd kattintson a Kiválasztás gombra. Ezután a tűzfal kinyitásához jelölje meg a Tűzfal kinyitása a kijelölt csatolóhoz lehetőséget, majd nyomja meg a Következő gombot. Lásd: 24.1. ábra - DHCP-kiszolgáló: A hálózati csatoló kiválasztása.

24.1. ábra - DHCP-kiszolgáló: A hálózati csatoló kiválasztása

DHCP-kiszolgáló: A hálózati csatoló kiválasztása

Általános beállítások

A jelölőnégyzettel adja meg, hogy a DHCP-beállítások automatikusan egy LDAP-kiszolgálón tárolódjanak-e. A beviteli mezőkben adja meg a DHCP-kiszolgáló által kezelendő összes kliens hálózati jellemzőit. Ezek a jellemzők a tartománynév, az időkiszolgáló címe, az elsődleges és másodlagos névkiszolgáló címe, a nyomtató- és WINS-kiszolgáló 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ő. Lásd: 24.2. ábra - DHCP-kiszolgáló: Általános beállítások.

24.2. ábra - DHCP-kiszolgáló: Általános beállítások

DHCP-kiszolgáló: Általános beállítások

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 kiszolgáló 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 kiszolgáló fenntart egy IP-címet az adott kliens számára. Lásd: 24.3. ábra - DHCP-kiszolgáló: Dinamikus DHCP.

24.3. ábra - DHCP-kiszolgáló: Dinamikus DHCP

DHCP-kiszolgáló: Dinamikus DHCP

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-kiszolgálót hogyan kell elindítani. Itt meghatározható, hogy a rendszer betöltése után a DHCP-kiszolgáló automatikusan elinduljon-e, vagy szükség esetén kézzel kell elindítani (például tesztelési célokból). A kiszolgáló beállításának befejezéséhez kattintson a Befejezés gombra. Lásd: 24.4. ábra - DHCP-kiszolgáló: Indítás.

24.4. ábra - DHCP-kiszolgáló: Indítás

DHCP-kiszolgáló: Indítás

24.2. DHCP-szoftvercsomagok

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

Az openSUSE alapértelmezés szerint a dhcpcd-t telepíti. A program kezelése nagyon egyszerű és a DHCP-kiszolgáló 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 dhcp-client-et, amelyet az /etc/dhclient.conf konfigurációs fájl vezérel.

24.3. A dhcpd DHCP-kiszolgáló

Minden DHCP-rendszer központi része a dinamikus gépkonfigurációs protokollt kezelő démon. A kiszolgáló 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 rendszergazda többféleképp befolyásolhatja a program viselkedését. A 24.1. példa - Az /etc/dhcpd.conf konfigurációs fájl példa egy egyszerű /etc/dhcpd.conf példafájlt mutat be.

24.1. 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 "example.com";
option domain-name-servers 192.168.1.116;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;

subnet 192.168.2.0 netmask 255.255.255.0
 {
  range 192.168.2.10 192.168.2.20;
  range 192.168.2.100 192.168.2.200;
 }

Ez az egyszerű konfigurációs fájl elegendő ahhoz, hogy a DHCP-kiszolgáló 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 lesz elindítva.

A 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ítást kéne alkalmazni. Ez a szakasz a maximális időszakot is megadja, ameddig a gép a DHCP-kiszolgáló á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-kiszolgálókhoz. Ideális eseten még a DHCP beállítása előtt kell beüzemelni egy névkiszolgálót a saját gépen vagy a hálózat egy másik részén. Célszerű, ha a névkiszolgáló egy gépnevet is megad minden dinamikus címhez és viszont. A névkiszolgáló beállításának leírása: 23. fejezet - A DNS (tartománynévrendszer, Domain Name System).

  • 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 kiszolgáló, 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. A 24.1. példa - Az /etc/dhcpd.conf konfigurációs fájl példában a kliensek 192.168.2.10 és 192.168.2.20, valamint 192.168.2.100 és 192.168.2.200 közötti címet kaphatnak.

E pár sor módosítása után az rcdhcpd start paranccsal már aktiválható a DHCP-démon, 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 kiszolgáló 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 meg kell tudnia találni a hiba okát.

Egy alapértelmezett openSUSE 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. Általában emiatt nem kell aggódni, mivel az rcdhcpd start parancs automatikusan átmásolja a fájlokat.

24.3.1. Statikus IP-címekkel rendelkező kliensek

Amint már említettük, a DHCP képes adott klienshez mindig ugyanazt az előre meghatározott, statikus címet rendelni. 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 kiszolgáló 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:30:6E:08:EC:80). Ha a megfelelő sorok (egy példa: 24.2. példa - A konfigurációs fájl kiegészítései, hozzáadásra kerülnek a korábbi példa 24.1. példa - Az /etc/dhcpd.conf konfigurációs fájl konfigurációs fájljaihoz, akkor a DHCP-démon minden helyzetben ugyanazt az adathalmazt rendeli hozzá a megfelelő klienshez.

24.2. példa - A konfigurációs fájl kiegészítései

host jupiter {
hardware ethernet 00:30:6E:08:EC:80;
fixed-address 192.168.2.100;
}

Az első sorban a megfelelő kliens (gép gépnév, itt jupiter) a másodikban pedig a MAC-cím van megadva. Linux-gépeken ez a cím az ip link show parancs segítségével határozható meg, amelyet a hálózati eszköz követ (például eth0). A kimenetnek az alábbihoz hasonlónak kell lennie:

link/ether 00:30:6E:08:EC:80

A fenti példában a 00:30:6E:08:EC:80 MAC-című hálózati kártyával rendelkező klienshez a 192.168.2.100 IP-cím és a jupiter 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.

24.3.2. Az openSUSE verzió

A biztonság javítása érdekében az ISC DHCP-kiszolgálójának openSUSE 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 kiszolgáló viselkedése e funkciót illetően. A dhcpd chroot környezet nélküli futtatásához az DHCPD_RUN_CHROOTED fájlban lévő /etc/sysconfig/dhcpd 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ódnak a /var/lib/dhcp/etc/ könyvtárba. Ne feledkezzen meg ezen példányok 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_ADDITIONAL_SOCKET_DHCP alatt található plusz egy bejegyzés.

24.4. További információ

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