Menu Zavrieť

13. DHCP služby na switchi

Konfigurácia DHCP Serveru

DHCP server, teda dynamické prideľovanie adries, je služba, ktorá je súčasťou väčšiny dnešných Catalyst switchov (alebo lepšie povedané dnešných verzií IOSu) a tiež routerov. V defaultným nastavení je táto služba zapnutá, ale nemá nastavené žiadne parametre, takže adresy neprideľuje.

SWITCH (config) # service dhcp              // zapne DHCP server (defaultne je zapnutý)

Konfigurácia adresného poolu

Aby sa mohli prideľovať adresy, tak musíme vytvoriť DHCP Pool a nastaviť mu požadované parametre. Týchto poolov môžeme vytvoriť niekoľko, bežne pre každú VLAN, v ktorej chceme prideľovať adresy.

SWITCH (config) # ip dhcp pool NET1         // vytvorí pool s menom NET1

Vytvorením pomenovaného Pool sa dostaneme do DHCP konfiguračného módu a nastavujeme jeho parametre.

SWITCH (dhcp-config) # network 192.168.190.0 255.255.255.0    // nastaví adresné rozsah, môžeme zadať nielen pomocou masky, ale aj pomocou CIDR (takže napríklad / 24) 
SWITCH (dhcp-config) # default-router 192.168.190.1           / / adresa brány 
SWITCH (dhcp-config) # domain-name mydomain.tld                // nastavenie DNS názvu domény na mydomain.tld 
SWITCH (dhcp-config) # dns-server 192.168.190.9 192.168.190.8 // adresy DNS serverov (môžeme zadať 1 až 8 adries) 
SWITCH (dhcp-config) # netbios-name-server 192.168.190.9      // adresy WINS serverov (opäť ich môžeme zadať až 8) 
SWITCH (dhcp-config) # netbios-node-type h-node              // typ pre NetBios, pre MS klientov musíme zadať Hybridný 
SWITCH (dhcp-config) # lease 30                               // prenájom adresy na 30 dní, ak chceme zadať menšie čas, tak je formát deň hodina minúta (teda potrebné 0 0 10 = 10 minút ) 
SWITCH (dhcp-config) # option 150 ip 192.168.190.20            // môžeme definovať take ľubovoľnú zo špeciálnych vlastností, ktoré môže prideľovať DHCP server klientovi, tu príklad adresy TFTP servera pre Cisco IP telefóniu

Vylúčenie adries

Väčšinou nechceme prideľovať adresy z celého rozsahu subnetu, preto môžeme nastaviť vylúčené (nepřidělované) adresy.

SWITCH (config) # ip dhcp excluded-address 192.168.190.0 192.168.190.10 // vylúči adresy 0 až 10 z prideľovania

Rezervácia adresy

Ďalšie bežnou vlastnosťou DHCP servera je možné rezervovať nejakú adresu pre určitý počítač podľa jeho MAC adresy, ten keď si potom požiada o IP adresu, dostane vždy túto rezervovanú. Na Cisco sa musí pre každú rezerváciu vytvoriť vlastné Pool.

SWITCH (config) # ip dhcp pool client1                          // vytvorí pool s menom client1 
SWITCH (dhcp-config) # client-name wbouskap                    // nepovinné meno klienta bez domény 
SWITCH (dhcp-config) # hosť 192.168.190.9 255.255.255.0        // adresa pre klienta spolu so subnetem (maska alebo CIDR) 
SWITCH (dhcp-config) # hardware-address 0012.1759.b073 ieee802 // MAC adresa a typ protocol, slúži pre BOOTP žiadosti 
 // alebo klientsky identifikátor pre Microsoft klientov (DHCP) 
SWITCH ( dhcp-config) # client-identifier 0100.1217.59b0.73     // MAC adresa pred ktorou je typ média, 01 je pre Ethernet a bodka sa posúva

Pozn .: Pretože sa informácie dedí, tak nemusíme pri rezervácii zadávať všetky parametre, ale automaticky sa doplní tých z patričného poolu.

Ako sa priraďuje Pool k VLAN

Niekto by sa mohol zamýšľať nad tým, keď mám niekoľko DHCP poolov , tak podľa čoho sa priraďujú adresy rôznym žiadostiam. Používa sa jednoduchá a bežná metóda (podobne ako napríklad u MS DHCP servera).

Server sa pozrie na adresu interfacu , z ktorého prišla žiadosť a podľa nej dohľadá zodpovedajúce Pool , z neho potom pridelí adresu. Ak by takýto neexistoval, tak je žiadosť ignorovaná. Z toho vyplýva dôležitá vlastnosť. Každá VLAN , v ktorej chceme prideľovať adresy, musí mať nastavenú svoju IP adresu (na switchi, kde beží DHCP služba).

Informácie z DHCP servera

Keď sa pridelí IP adresa nejakému počítaču, tak sa o tom vytvorí záznam, ktorý sa označuje ako DHCP Binding a obsahuje IP adresu a MAC adresu (a ďalšie parametre).

SWITCH # show ip dhcp Bindings          // zoznam pridelených adries 
SWITCH # clear ip dhcp Bindings          // vymaže zoznam 
SWITCH # show ip dhcp conflicts         // zoznam konfliktov 
SWITCH # clear ip dhcp conflicts        // vymaže zoznam konfliktov 
SWITCH # show ip dhcp pool              // informácie o poole 
SWITCH # show ip dhcp server statistics  // štatistiky servera

V prípade problémov môžeme ladiť komunikáciu zapnutím Debugging.

SWITCH # debug ip dhcp server packets 
SWITCH # debug ip dhcp server events

Postupnosť zasielaných paketov je:

  • klient DHCPDISCOVER
  • server DHCPOFFER
  • klient DHCPREQUEST
  • server DHCPACK

Adresa switche z DHCP

Trošku bokom, ale patriaci k DHCP, je aj možnosť, aby si switch požiadal o adresu z DHCP servera. V praxi by som však odporúčal nastavovať adresu napevno.

SWITCH (config-if) # ip address dhcp     // interface dostane adresu z DHCP

DHCP Relay Agent

Žiadosť o adresu z DHCP prebieha pomocou Broadcast , to znamená, že DHCP server musí byť na rovnakom subnetu ako klient. Čo je v praxi často nepohodlné (napríklad chceme mať iba jeden centrálny DHCP server). Preto je možné využiť DHCP Relay Agenta , ktorý beží typicky na routeru (čo je v lokálnej sieti väčšinou switch). Ten prijme DHCP požiadavku a už ako unicast ho pošle určenému DHCP servera . A opačne spracuje odpoveď.

Pozn .: Aby fungoval DHCP Relay Agent, tak samozrejme musí bežať DHCP server, ten je defaultne zapnutý.

Takže Relay Agent nám beží, ale aby začal skutočne fungovať, tak mu musíme nastaviť adresu DHCP servera, ktorému má preposielať požiadavky. Tejto adrese sa na Cisco hovorí helper address . A pretože môžeme mať niekoľko DHCP serverov alebo pre niektoré subnetmi prevádzkovať server na switchi, tak túto adresu nenastavuje globálne, ale pre interface, čo je najčastejšie VLAN . Dôležitým požiadavkou je, aby tento interface (VLAN) mal nastavenú IP adresu .

SWITCH (config-if) # ip helper-address 192.168.10.10 // adresa servera, ktorému sa budú preposielať DHCP otázky alebo sieťová adresa

Helper address slúži k preposielanie UDP Broadcast , ktoré sú prijaté na interfacu. Môže fungovať pre ľubovoľný UDP port, defaultne pre BOOTP (obsahuje DHCP 67, 68), DNS (53), time service (37), TFTP (69), TACAS (49), NetBIOS (137, 138), IEN-116 name (42).

DHCP Snooping

DHCP Snooping je súčasťou novších verzií IOSu. Ide o bezpečnostnú funkciu, ktorá filtruje nedôveryhodné DHCP správy.

Myšlienka je taká, že po zapnutí sú všetky porty brané ako nedôveryhodné (untrusted) a my nastavujeme niektoré ako dôveryhodné (trusted). Ako dôveryhodný musíme nastaviť port kam je pripojený DHCP server a potom porty, ktorými sú prepojené switche (Trunk). Ak príde napríklad pridelenie adresy (alebo akýkoľvek paket z DHCP servera) z nedôveryhodného portu, tak je paket zahodený.

Zároveň sa môže vytvárať DHCP Snooping Binding Database , ktorá obsahuje informácie o všetkých pridelených IP adresách spolu s MAC, VLAN, časom prenájmu a informáciami o interfacu. Keď potom príde komunikácie na nedôveryhodné interfacu, tak sa kontroluje oproti tejto databáze a v prípade nesúhlasu sa zahadzuje.

Najprv je potrebné zapnúť funkciu DHCP Snooping na switchi

SWITCH (config) # ip dhcp snooping

Potom špecifikujeme, na ktorých VLANách bude funkcia zapnutá

SWITCH (config) # ip dhcp snooping vlan 1 - 999   // môžeme definovať jednu VLAN, zoznam oddelený čiarkou alebo rozsah

Ďalej (skôr asi skôr, než funkciu zapneme) potom musíme určiť dôveryhodné porty, to vykonáme priamo na danom porte.

SWITCH (config-if) # ip dhcp snooping trust

Ak by sme chceli využiť DHCP Snooping Binding Database , tak musíme túto funkciu zapnúť a určiť, kde sa bude ukladať.

SWITCH (config) # ip dhcp snooping database flash: /dhcpbind.txt  // určenie miesta ukladania DB, tu do súboru vo flash pamäti, ďalej môže byť FTP, TFTP, web, RCP

Aby sme následne blokovali na portoch nepovolené IP (a prípadne i MAC) adresy, tak využijeme funkciu IP Source Guard , ktorý sa konfiguruje na switchované port.

SWITCH (config-if) # ip verify source                 // filtruje zdrojovej IP adresy 
SWITCH (config-if) # ip verify source port-security   // filtruje zdrojovej IP a MAC adresy

Pozn .: Pre konfiguráciu DHCP snooping je ešte celý rad ďalších príkazov.

zobrazenie informácií

SWITCH # show ip dhcp snooping 
SWITCH # show ip verify source