Linux jako DHCP server

Lukáš Zapletal 19. 7. 2001

Protokol DHCP (Dynamic Host Configuration Protocol) používáme ke konfiguraci klíčových síťových parametrů jednotlivých klientů. Jejich nastavení umožňují DHCP servery, které přidělují klientům předem definované prostředky. Protože se DHCP využívá hojně i v jiných systémech, naučíme se nakonfigurovat takový server pro spolupráci s okolím a spravovat ho.

Jak to funguje

DHCP rozšiřuje BOOTP protokol, se kterým je zpětně kompatibilní. Klient vyšle do sítě multicast UDP požadavek DHCPDISCOVER. Servery zachytí požadavky a zašlou zprávu DHCPOFFER (opět multicast). Klient si vybere ze všech odpovědí tu nejvhodnější a pošle DHCPREQUEST. Server, který klient oslovuje, vše buď potvrdí (DHCPACK), nebo ne (DHCPNAK). Klient si to může ještě rozmyslet (DHCPDECLINE). Po vypršení lhůty (nebo pokud klient skončí před lhůtou a pošle DHCPRELEASE) se adresa může poskytnout jinému zájemci (existují i výjimky).

Instalace

Protokol vyvinula a spravuje ISC (Internet Software Consorcium). Dodává také příslusný software, který je šířen jako open source. Jedná se jak o serverovou, tak i klientskou část.

Instalace je snadná, musím vás ale upozornit na jeden chyták. Ve svém jádru musíte mít zakompilovanou podporu pro multicast adresy. Většina distribucí má tuto volbu zapnutou, o čemž se přesvědčíte příkazem ifconfig -a. Pokud ve výpisu uvidíte slovo MULTICAST (na počeštěných systémech je to VŠESMĚROVÉ_VY­SÍLÁNÍ), máte vyhráno.

Instalace vlastního DHCP probíhá obvyklým configure; make; make install. Pokud budete instalovat z binárek Red Hatu, je mojí povinností upozornit na skutečnost, že klientská část se nalézá v souboru dhcpcd-.rpm a serverová je k mání v dhcpd-.rpm. RedHat 6.x používá při standardní instalaci klienta jménem pump. Pokud chcete používat dhcpcd, musíte si jej nainstalovat. Pro zvědavce ještě uvedu, že dhcpcd znamená DHCP Client Daemon.

Server

Před vlastní instalací je třeba ještě malinko upravit směrovací tabulku, protože někteří klienti (co si budeme namlouvat – prostě Windows :-) se nechovají tak, jak dhcpd očekává. Musíme nastavit server tak, aby správně směroval pakety adresované 255.255.255.255­. Aby to provedl na síťovou kartu eth0, specifikujeme příkazem:

[lzap@alef /]# route add -host 255.255.255.255 dev eth0

Pro všechny následující příklady si vymyslíme fiktivní doménu firma.cz (192.168.1.0). DHCP server bude na 192.168.1.1. Nej­línější administrátor může vytvořit následující jednoduchou konfiguraci:

# [/etc/dhcpd.conf]
option domain-name "firma.cz";
option routers 192.168.1.254 192.168.1.253;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
default-lease-time 3600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.100 192.168.1.200;
}

host guru {
    hardware ethernet 08:00:4b:2c:22:23;
    fixed-address 192.168.1.100;
}

Při takovéto konfiguraci bude dhcpd přidělovat adresy 192.168.1.100 až 192.168.1.200 im­plicitně na 1 hodinu, ne déle než na 2 hodiny. Počítač „guru“ je pravděpodobně administrátorův a chce mít přidělovánu stálou adresu 192.168.1.100. Tato adresa je tedy rezervována a DHCP server zajistí, aby nebyla poskytnuta (to lease = poskytnout, pronajmout). Pokud bychom v naší firmě používali WINS name server, můžeme jeho adresu DHCP démonovi sdělit pomocí konfigurační hodnoty netbios-name-servers.

DHCP démon se překvapivě nazývá dhcpd. Jeho spouštění se liší od distribuce k distribuci. Obvykle postačí příkaz /etc/init.d/dhcpd start. Základní paramtetry hledá démon v /etc/dhcpd.conf (kde jinde :-) a samozřejmě na příkazové řádce. Po prvním startu vytvoří soubor /var/state/dhcp/dhcp­d.leases nebo /var/lib/dhcp­/dhcpd.leases (záleží na konfiguraci), kde si ukládá informace o poskytnutých adresách. Je to obyčejný textový soubor (díky bohu žádná metabáze).

Ještě se zmíním o bezpečnosti. DHCP server si přímo říká o nějaký DoS útok. Útočník může server účelně zbavit všech adres, různě šachovat s klienty atp. Proto nedopusťte, aby dhcpd naslouchal požadavkům z internetu (UDP porty 67 a 68).

DNS

DHCP klient může (ale nemusí – tak se chová implicitně i dhcpcd) se svou zprávou zaslat svoje jméno a doménu. DHCP si tuto informaci uloží do dhcpd.leases. Tohoto se využívá ve spojení s DNS serverem. Není totiž problém vydolovat z dhcpd.leases tyto informace a poslat DNS serveru zprávu, aby si upravil svoje tabulky. Pokud to budete dělat pravidelně (třeba z cronu), každý počítač, jehož DHCP klient pošle serveru svoje jméno, dostane relevantní DNS záznam (včetně reverzního). Jeden takový skript (napsaný samozřejmě v Perlu) je k mání pro ISC DHCP server (dhcpd) a ISC BIND8 server (named).

Klient

Instalace DHCP klientů je na každém systému jiná. U Linuxu stačí nainstalovat balíček a nakonfigurovat síť na DHCP. Ve Windows se musíte proklikat ke konfiguraci sítě a taktéž nastavit získávání IP adresy z DHCP. Po dalším restartu už bude síť aktivní (pokud váš správce sítě správně nainstaloval server).

widgety

Závěr

Samozřejmě, že jsme v tomto článku nepokryli veškeré možnosti, které DHCP nabízí – např. DHCP relay, komplikované přesuny notebooků přes různé sítě či bootování ze sítě. Doufám, že se najde někdo, kdo díky tomuto článku přejde z pevného přidělování adres na DHCP. Vždyť je to tak snadné!

Odkazy:
http://www.is­c.org/products/DHCP/
http://info.in­ternet.isi.edu/in-notes/rfc/files/rfc2131­.txt
http://info.in­ternet.isi.edu/in-notes/rfc/files/rfc2132­.txt
http://www.li­nuxdoc.org/HOW­TO/mini/DHCP/
http://www.dhcp­.org/

Ohodnoťte jako ve škole:

Průměrná známka 3,08

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
120na80.cz: Superpotraviny. Jaké to jsou?

Superpotraviny. Jaké to jsou?

Vitalia.cz: Očkování a autismus ve světle vědeckého objevu

Očkování a autismus ve světle vědeckého objevu

Podnikatel.cz: Nedodáte hlášení k DPH. Pokutu vám prominou

Nedodáte hlášení k DPH. Pokutu vám prominou

Vitalia.cz: Maurer: Nechci Jamieho Olivera za pět miliónů

Maurer: Nechci Jamieho Olivera za pět miliónů

Vitalia.cz: Vědci: Svět vegetariánů by byl zdravější, bohatší a...

Vědci: Svět vegetariánů by byl zdravější, bohatší a...

Vitalia.cz: Podmínky pro dárcovství kostní dřeně

Podmínky pro dárcovství kostní dřeně

120na80.cz: Rodím, kojím. A když to nejde?

Rodím, kojím. A když to nejde?

Lupa.cz: Stát chce vytěsnit malé firmy z trhu

Stát chce vytěsnit malé firmy z trhu

Podnikatel.cz: Když si reklamou "zabíjíte" zákazníky

Když si reklamou "zabíjíte" zákazníky

Podnikatel.cz: Poděs, Slibotechna a další. Ty berte obloukem

Poděs, Slibotechna a další. Ty berte obloukem

Vitalia.cz: Tyhle cupcaky je hřích sníst

Tyhle cupcaky je hřích sníst

120na80.cz: Pánové, odřené bradavky při běhu nejsou nutné

Pánové, odřené bradavky při běhu nejsou nutné

Podnikatel.cz: Google PageRank nadobro zmizel

Google PageRank nadobro zmizel

Root.cz: Microsoft přidal Ubuntu do Windows 10

Microsoft přidal Ubuntu do Windows 10

Měšec.cz: Banky umí platby na kartu, jen to neříkají

Banky umí platby na kartu, jen to neříkají

120na80.cz: Konopí: každá rostlina je jinak účinná

Konopí: každá rostlina je jinak účinná

Lupa.cz: Počátky internetu v ČR? Sny a sdílené halucinace

Počátky internetu v ČR? Sny a sdílené halucinace

DigiZone.cz: Böhmen und Mähren v režii Ondřeje Trojana

Böhmen und Mähren v režii Ondřeje Trojana

Podnikatel.cz: Obavy z EET? Nejvíc se bojí, aby na to měli

Obavy z EET? Nejvíc se bojí, aby na to měli

Lupa.cz: Jaký je Průvodce světem Arduina?

Jaký je Průvodce světem Arduina?

Ušetřete