abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    31.5. 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    31.5. 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 10
    31.5. 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 3
    31.5. 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    31.5. 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 9
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 15
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Rozcestník

    DHCP - 2 (DDNS, relay agent, klient)

    11. 9. 2006 | Vladimír Žalud | Sítě | 12700×

    Zjišťování informací o běžícím DHCP serveru, využití a konfigurace dynamického DNS (DNS) a spuštění relay agenta a klienta s popisem nejdůležitějších parametrů.

    Informace, informace, informace

    Tak server umíme spustit, jednoduše i nakonfigurovat, teď se podíváme, jak (kromě prohlížení syslogu) zjistíme, co se se serverem děje.

    Potřebné informace o poskytovaných adresách, hostitelích a další ukazatele zjistíme ze souboru dhcpd.leases. Jde o databázový soubor, ovšem v textovém tvaru, takže nám nebude dělat problémy v něm číst a díky jednoduché a jasné syntaxi se v něm orientovat. Soubor dhcpd.leases rovněž zajišťuje uchování dat například po výpadku služby nebo serveru, protože informace se v něm zachovávají offline až do změny parametrů DHCP (typicky vypršení doby zapůjčení). Do tohoto souboru bychom neměli nikdy zasahovat, slouží pouze serveru a nám k informacím o stavu služby. Veškeré změny by se měli udávat prostřednictvím konfiguračních souborů!

    Z výše uvedeného je patrné, že bez něj ISC DHCP server nemůže pracovat. Není-li tedy v systému přítomen, musíme ho vytvořit. Implicitně ho DHCP server hledá ve /var/lib/dhcpd/dhcpd.leases. Přepínačem -lf při spouštění mu můžeme nadefinovat vlastní cestu. Syntaxe zápisu je následující:

    lease ip-adresa {
                  údaje;
                        }

    Opět předesílám, že uvedu jen některé operátory. Pro detaily a zbytek si prostudujte manuálové stránky dhcpd.leases.

    starts datum
    ends datum
    Začátek a konec deklarované doby zapůjčení formát datumu je: den_v_týdnu rok/měsíc/den hodina:minuta:sekunda. Den v týdnu je vyjádřen čísly, 0 pro neděli atd. až po 6 sobotu.
    hardware hw-typ MAC adresa
    HW adresa klienta.
    uid id
    Identifikace klienta.
    client-hostname
    Jméno klienta přiděleného serverem.
    abandonet
    Zrušené, ale nepoužívané adresy pronájmu.

    DDNS

    Nakousl jsem to na začátku a teď to jenom lehce doplním. O co jde, už teda asi víme; v případě dynamického přidělování adres nám nemusí DNS korektně vracet údaje o hostitelích na naší síti. Pro synchronizaci mezi DHCP a DNS použijeme mechanismus DDNS, který zajistí, že i v případě používání DHCP budou DNS záznamy aktuální.

    Předně je třeba říct, že je nutné mít verzi serveru od ISC 3.x. Starší verze to, pokud vím, neumí. Proces synchronizace je nutné nastavit jak na straně DHCP, tak na straně serveru DNS. DNS nastavení tady popisovat nebudu, jen nastíním, že je nutné doplnit do záznamů v dané doméně položku allow-update. V případě, že aktualizaci povolujeme za pomocí klíče, tak ty správně vygenerovat a oznámit DNS a DHCP serveru. A také nezapomeneme na přístupová práva příslušných souborů.

    V případě nepoužívání klíčů nám bude stačit povolit aktualizaci údajů z určitého serveru. Do souboru dhcpd.conf potom zapíšeme zónu i reverzní zónu spolu s informací, který server se má takto aktualizovat. Celý zápis by vypadal následovně:

      zone jmeno.domeny. {
             primary ip-adresa-DNS-serveru;
           }
    
      zone 0.168.192.in-addr.arpa. {
             primary ip-adresa-DNS-serveru;
           }
    

    Do globálních voleb stačí potom umístit vhodnou volbu ddns-update-style a je vymalováno. DHCP server už potom sám zajistí posílání aktualizovaných údajů DNS ze souboru dhcpd.leases.

    V další části si ještě popíšeme předávacího DHCP agenta a podíváme se na nějakého DHCP klienta.

    Od agenta ke klientům

    Agent

    Jak již bylo řečeno, klienti DHCP při svém dotazu pracují s omezenou vysílací adresou. Ta bývá na směrovačích implicitně zahazována, proto je nutné v případě Linuxu použít mechanismus předávacího agenta (relay agent). V balíčku od konsorcia ISC je jeden distribuován a jelikož jsme se do teď věnovali tomuto software, zůstaneme věrni barvám a podíváme se na implementaci relay agenta a následně i klienta od tohoto dodavatele.

    Výhody jsou stejné jako u serveru DHCP od ISC. Robustnost, podpora, tradice, budoucnost, open source. Navíc je jeho spuštění a konfigurace opravdu jednoduchá.

    Je asi pochopitelné, že jde o démona. Tak tento server naslouchá, nejlépe na routeru, požadavkům ze sítě a v případě příchozího požadavku přepošle tento na server DHCP, který mu určíme, a zase zpětně vyřízený požadavek odešle klientovi zpět. Pro server i klienty je tento proces naprosto transparentní a do jejich konfigurace proti normálu nemusíme nijak zasahovat.

    Jak už jsem řekl, konfigurace relay agenta je dost jednoduchá a ještě se to různé distribuce snaží zjednodušit. Ve Fedoře stačí do souboru /etc/sysconfig/dhcrelay dopsat do nadefinovaných proměnných seznam rozhraní a serverů. Spustit daemon pomocí init skriptu. A zapomenout.

    'Ruční' zprovoznění relay serveru je jen o něco málo jiné. Argumenty se pochopitelně předávají na příkazovém řádku a celá syntaxe je:

    dhcrelay [ -p port ] [-d] [-q] [-i seznam_rozhraní] [-a] [-c počet] [-A délka ] [-D] [-m rozšíření] server/servery

    Význam nejdůležitějších přepínačů:

    • -p Určuje jiný port komunikace než standardní 67.
    • -d Nechá server běžet na popředí, normálně se na popředí spustí, ale pak vrátí proces na pozadí, vhodné pro ladění apod.
    • -q Zamezí výpisu startovací hlášky.
    • -i Specifikuje rozhraní, na kterém proces běží a naslouchá.
    • -c Pakety s hodnotou skoků větších než 10 agent implicitně zahazuje, tento přepínač nadefinuje počet možných povolených skoků.
    • -A týká se velikosti DHCP paketu, lze jej zvětšit například kvůli zasílaným požadavkům agenta.

    Zbylé přepínače se týkají právě speciálních potřeb agenta, více man dhcrelay.

    Nejjednodušší spuštění serveru dhcrelay se tedy provede příkazem dhcrelay IP serveru. Máme-li agenta na routeru, což je asi nejběžnější funkce, musíme mu definovat pomocí přepínače -i rozhraní pro naslouchání požadavků klientů DHCP. Pro příklad tedy zvolme spuštění agenta na rozhraní eth0 s DHCP serverem 192.128.1.1:

    dhcrelay -i eth0 192.128.1.1

    Zbytek už je stejný jako u většiny serverových procesů, po odzkoušení se pomocí nějakého skriptu zajistí jeho spouštění a to je asi tak vše.

    Jako alternativu k relay agentovi od ISC jsem našel program dhcp-forwarder. Nezkoušel jsem ho, ale oproti námi probíranému softwaru má podle slov tvůrců například schopnost implicitně běžet v chroot prostředí jako ne-rootovský proces. Což může jednoho potěšit.

    Klient

    Co platilo pro relay agenta, platí v jisté míře i pro klienta. Celá záležitost je v podstatě transparentní, nastavování není většinou nutné, implicitní hodnoty stačí, dokonce klient nevyžaduje ani konfigurační soubor dhclient.conf. I když tady ho do jisté míry supluje skriptík dhclient-script. Jeho konfigurace tedy nemusí být problémem, může se ovšem stát, že budeme potřebovat změnit některé parametry, a proto se podíváme, jak na to.

    Nenastavíme-li získávání parametrů pomocí DHCP při instalaci, musíme ve Fedoře jen do souboru /etc/sysconfig/network-scripts/ifcfg-nazev_rozhrani (například ifcfg-eth0), doplnit parametr dhcp direktivy BOOTPROTO (také se dá samozřejmě použít red-hat-network-config). Většina ostatních dister to má podobně jednoduché. Tím zařídíme, že bude systém při bootu nebo obnově síťových parametrů kontaktovat DHCP server.

    Klient od ISC implicitně neposílá se svou žádostí jméno počítače. Máte-li server nakonfigurován na přidělování fixní IP adresy podle jména, může se stát, že budete mít v nejlepším případě jinou IP, v nejhorším vám nepojede síť. Situací, při kterých budete chtít serveru něco sdělit, může být více - doba trvání výpůjčky informací, identifikaci klienta apod. Může se stát, že budete potřebovat změnit některé údaje týkající se chování klienta, namátkou třeba dobu, po kterou bude čekat na odpovědi serveru, nebo například některé DHCP servery nebudete chtít kontaktovat atd. Pro všechny tyto případy je vhodné editovat soubor dhclient.conf. Podíváme se proto na některé konfigurační volby,

    Syntaxe je obvyklá a nejčastější parametry jsou:

    timeout sekundy;
    Určuje čas, po který se klient bude pokoušet získat informace ze serveru.
    retry sekundy;
    Při neúspěchu opět zkusí po zadané době kontaktovat server.
    reject ip-adresa;
    Odmítne údaje ze zadané adresy.
    interface "jméno" { deklarace; }
    Určuje rozhraní a v závorkách deklarace, které se daného rozhraní týkají.
    send host-name "jméno";
    Posílá serveru svoje jméno.
    send dhcp-client-identifier identifikátor;
    Odesílá serveru se žádostí i identifikátor.
    send dhcp-lese-time čas;
    Žádá server o čas zápůjčky.
    require požadavky;
    V poli požadavky jsou údaje, které server DHCP musí poslat, aby byla odpověď uznána platnou.
    script cesta;
    Cesta ke konfiguračnímu skriptu.
    supersede údaje
    Uvozuje volby, které se v lokální konfiguraci nezmění. Je to vhodné například pro zachování domény v souboru /etc/resolv.conf.
    request požadavky;
    Požadavky klienta serveru DHCP.

    Vhodné parametry můžeme zadat i při startu klienta dhclient.

    Syntaxe a některé přepínače:

    dhclient [-p port] [-d] [-q] [-1] [-r] [-lf lease soubor] [-pf pid soubor] [-cf konfigurák] [-sf skript] [-s server] [-g adresa] [-n] [-nw] [-w] [-x] [-I identifikátor] [-B] [síťové rozhraní]

    Většina voleb je jasných nebo jsou stejné jako u serveru a relay agenta. Stejně tak je většina vhodných spíš pro ladění a experimenty. Více man dhclient

    Program dhclient používá konfigurační příkazový soubor dhclient-script. Je to soubor specifický pro daný operační systém a i když je to klasický bash skript, pro změnu definic a nastavení se mají používat tzv. hook skripty. Většinu (všechny?) změn se však dá zadat prostrřednictvím dhclient.conf. Pro více informací o skriptu viz man dhclient-script.

    Stejně jako dhcpd i dhclient používá lease soubor. Jeho umístění zavisí na distribuci, Fedora ho má v adresáři /var/lib/dhcp/ pojmenovaný dhclient-eth0.leases (v případě rozhraní eth0). Při restartu nebo obnově se dhclient podívá na tento lease soubor a v případě časové platnosti údajů použije stejné informace. Jinak využije DHCP. Syntaxe je stejně pochopitelná jako u dhcp.leases, v podstatě přebírá argumenty dhclient.conf a zobrazuje jejich nastavení. Důležité jsou parametry renew, rebind, expire, které udávají platnost zápůjčky.

    Alternativní a hodně využívaný klient je dhcpcd.

    No a to by tak k software DHCP od ISC bylo ode mě vše. Nepokryl jsem všechna témata (například "záložní" failover protokol), nicméně doufám že jsem nenudil, moc to nekonil a byl srozumitelný. Rovněž tak doufám, že jste se něco nového dozvěděli a že jsem ukázal protokol a použití DHCP jako užitečný nástroj.

           

    Hodnocení: 75 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    11.9.2006 00:49 Ondrej Ivanic
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    Zatial sa mi nepodarilo vyriesit nasledujuce: v DNS mam jedenu zonu - subnet /24 a v nom je zopar ip adries statickych ktore maju DNS zaznam a zvysok su pridelvane adresy cez DHCP podla MAC adresy. Pre tuto cast by som chcel pouzit DDNS... Poskusal som uz toho vela, ale stale sa mi dako nedari. Je to vobec realizovatelne?
    11.9.2006 07:30 Slavko
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    Áno, dá sa to, DHCP server mi cez DDNS spravuje štyri lokálne domény na štyroch podsieťach v triede B, pri kombinácii staticky i dynamicky pridelených adries na základe MAC :-)

    Čo si skúšal? Ako si skúšal... A čo vlastne nefunguje?
    11.9.2006 08:36 Ondrej Ivanic
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    Super, vyskusam. Naposledy som stym experimentoval tak pred rokom - mozno, ze vtedy bola situaci ina.

    Mal som nasledujuce segmenty:

    a) 10.0.0.1/25 - fixne adresy, fixne DNS b) 10.0.0.128/25 - pridelovane cez DHCP podla MAC

    DDNS som potreboval len pre cast b), cast a) som chcel ma nedotknutelnu. v bind-e sa mi nedarilo rozdelit zonu na dve casti. Mozno som si zvolil len cestu zlym smerom...
    11.9.2006 09:23 Slavko
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    14.9.2006 15:29 zvovka | skóre: 20
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    Myslím že jste to měl řešit konfigurací na straně dhcp, nadefinovat mu jen ten rozsah v rámci 10.0.0.128/25 a zprovoznit DDNS.

    Nevím v čem by mohl být problém, Bindu je jedno že se mu aktualizují adresy jen z určitého rozsahu zóny.

    Vsichni mate spinave zadky!
    11.9.2006 08:08 tezkatlipoka | skóre: 35
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    je pravda ze ddns bylo vzato hodne letem svetem, ale ono se toho hodne o tom nakecalo v diskuzi pod prvnim dilem.
    Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
    11.9.2006 08:09 tezkatlipoka | skóre: 35
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    jinak jsme tam resili i presne to co pises, ze v defaultnim nastavenim klient s fixni adresou podle MAC se nezapise do DNS.
    Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
    11.9.2006 09:26 Slavko
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    update-static-leases on|off;

    Zapne/vypne DDNS pre staticky nadefinované adresy
    11.9.2006 10:19 tezkatlipoka | skóre: 35
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    ano, dekuj ze jsi mi pripomel o cem jsem se minule s autorem clanku bavil :-)
    Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
    12.9.2006 09:11 Slavko
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    Prepáč, nečítal som minulú diskusiu...
    11.9.2006 16:59 GeBu | skóre: 27 | blog: zápisky
    Rozbalit Rozbalit vše Jméno počítače Windows stanice z DHCP

    Nevíte někdo, jestli je možné z DHCP přidělovat "Jméno počítače" (host name) pro Windows stanice? Provádíme klonování a tohle je poslední věc, kterou bychom potřebovali zautomatizovat. Vím, že pro Linux stanice by to mělo jít.

    Jinak musíme stroje všechny oběhnout a přejmenovat, protože se jmenují stejně jako původní, na kterém vznikl klon.

    11.9.2006 18:05 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: Jméno počítače Windows stanice z DHCP
    Kolega to řešil v práci, napíšu mu ať ti odpoví jak to vyřešil... :-)
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    12.9.2006 10:39 bee_free | skóre: 3 | blog: bee_free
    Rozbalit Rozbalit vše Re: Jméno počítače Windows stanice z DHCP
    Hostname u Windows nejde vzit z DHCP, ale lze mu nastavit pres MAC pevnou IP a pres reverzni zaznam v DNS a program compname lze pak stanice prejmenovat.
    22.3.2009 23:42 GeBu | skóre: 27 | blog: zápisky
    Rozbalit Rozbalit vše Re: Jméno počítače Windows stanice z DHCP
    16.9.2006 15:18 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    V popisu dhcp.leases je překlep, má tam být abandoned.
    16.9.2006 17:10 zvovka | skóre: 20
    Rozbalit Rozbalit vše Re: DHCP - 2 (DDNS, relay agent, klient)
    Zjišťování informací o běžícím DHCP serveru, využití a konfigurace dynamického DNS (DNS) a spuštění relay agenta a klienta s popisem nejdůležitějších parametrů.

    A když už jsme u toho opravování tak se taky ozvu, v závorce mělo být patrně DDNS, jinak ten výše uvedený překlep beru na sebe, opravovat to po mě asi nebyl žádný med...

    Vsichni mate spinave zadky!

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.