A DHCP a Dynamic Host Configuration Protocol rövidítése. Magyarul dinamikus állomáskonfiguráló protokoll. A DHCP szerver lehet egy szerverszámítógép vagy egy router. A routerek is képesek DHCP szerverként működni.
Egy PC, amikor DHCP-vel akar IP címet beállítani, a hálózatot felderíti, hogy van-e DHCP szerver. Ezt egy DHCPDISCOVER üzenettel teszi.
Ha a hálózatban van ilyen szerver, akkor a DHCPOFFER üzenettel válaszol, ajánlatot tesz.
A PC elfogadja az ajánlatot, akkor ezt a DHCPREQUEST üzenettel mondja meg a DHCP szervernek. A szerver pedig DHCPACK paranccsal nyugtázza.
Egy IP cím bérlése nem szól örökre. Ha lejár a bérlés ideje, a kliens újból kéri egy DHCPREQUEST üzenettel. A DHCP szerver pedig egy DHCPACK üzenettel nyugtázza, hogy megkapta újra a bérelt IP címet.
DHCP szerver beállításához kell egy IP cím tartomány. Mondjuk legyen, 192.168.10.0 255.255.255.0
Ebből a címtartományból mindig lesz olyan résztartomány, amit nem szeretnénk ha a DHCP szerver kiosztana. Ilyenek a szerverek vagy az átjárók, switchek számára fenntartott IP címek, vagy van a hálózatban néhány PC-aminek szeretnénk fixen beállítani. Például 192.168.10.1-től 192.168.10.99-ig nem szeretnék a címet kiosztani. Ekkor:
R1(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.99
De megadhatunk egyetlen IP címet is.
Ezek után jöhet a kiosztandó IP címtartomány beállítása. Ezt nevezzük medencének. Létre fogunk hozni egy medencét, valamilyen néven. Majd megmondjuk, milyen IP cím tartományt osztunk ki.
R1(config)# ip dhcp pool LAN-POOL-1 R1(dhcp-config)# network 192.168.10.0 255.255.255.0
Megszokás még mondani, hogy az IP cím mellé még milyen információkat osztunk ki:
R1(dhcp-config)# default-router 192.168.10.1 R1(dhcp-config)# dns-server 192.168.11.5 R1(dhcp-config)# domain-name zold.hu
A példában, kiosztjuk még: ki az átjáró, ki a DNS szerver, és mi a tartománynév.
Teljes lista:
R1(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.99 R1(config)# ip dhcp excluded-address 192.168.10.254 R1(config)# ip dhcp pool LAN-POOL-1 R1(dhcp-config)# network 192.168.10.0 255.255.255.0 R1(dhcp-config)# default-router 192.168.10.1 R1(dhcp-config)# dns-server 192.168.11.5 R1(dhcp-config)# domain-name zold.hu R1(dhcp-config)# end
Ellenőrzés:
R1# show running-config | section dhcp ... R1# show ip dhcp binding ... R1# show ip dhcp server statistics
Adott két hálózat, amelyeket egy router köt össze. Lásd a következő ábrát.
A jobboldali hálózatban van egy DHCP szerver. A baloldaliban nincs. A router képes a DHCP kéréseket és válaszokat közvetíteni a baloldali hálózatba is. Ez a DHCP közvetítés. Ennek beállítását látjuk:
R1 routeren:
R1(config)# interface g0/0 R1(config-if)# ip helper-address 192.168.20.2 R1(config)# end R1# show ip interface g0/0
Egy router interfészén is beállítható, hogy DHCP-vel kérjen IP címet:
SOHO(config)# interface g0/1 SOHO(config-if)# ip address dhcp SOHO(config-if)# no shutdown SOHO# show ip interface g0/1
A kliens RS üzenetben keresi a routert, amely segíti őt egy IPv6 cím meghatározásában. A router egy RA üzenettel válaszol.
A SLAAC a StateLess Address AutoConfiguration rövidítése. Magyarul: Állapotmentes automatikus címkonfiguráció. Mit jelent az állapotmentes. Például sehol nem tároljuk milyen szabad IP címek maradtak.
SLAAC esetén nincs külön DHCP szerver és a routeren sem állítottunk be DHCP szervert.
Ha szeretnénk, hogy a router támogassa a PC-k SLAAC kéréseit, akkor a szükséges beállítanunk:
R1(config)# ipv6 unicast-routing
Csak ez után mennek az RA üzenetek.
Az RA üzenet háromféle lehet.
Az ICMPv6 RA üzenetben két bit jelzi, hogy a kliens mit választhat. Az egyiket egy „M” betű, a másikat egy „O” betűvel jelöljük.
Jelzőbitek:
Az RA üzenetben két bit:
Beállítás:
R1(config-if)# no ipv6 nd managed-config-flag R1(config-if)# no ipv6 nd other-config-flag
A SLAAC és DHCPv6 egy állapotmentes konfiguráció mivel a DHCPv6 szerver a kalkulált IP címmel kapcsolatban semmilyen információt nem tárol. Például szabad IPv6 címek stb.
Az RA üzenetben két bit:
Beállítása:
R1(config-if)# no ipv6 nd managed-config-flag R1(config-if)# ipv6 nd other-config-flag
A kliens átveszi a forgalomirányítótól a 64 bites előtagot, majd az IP cím többi részét EUI-64 vagy véletlen algoritmussal előállítja. A kliens ezek után lekéri a hiányzó adatokat a DHCPv6 szervertől.
A konfiguráció állapottartó, mivel a szerver minden változást tárol és karbantart.
Az RA üzenetben két bit:
Beállítás
R1(config-if)#ipv6 nd managed-config-flag
Az O jelző állapota nem lényeges.
Láthattuk, hogy a mindenképpen egy RS, RA üzenetváltással kezdődik a címkonfiguráció.
A forgalomirányító küldheti a periodikusan az RA üzenetet, de kliens is kérhet RS üzenettel.
Ha állapotmentes vagy állapottartó konfigurációt hirdet az RA üzenet, akkor a kliens elkezd kommunikálni a DHCPv6 szerverrel.
A DHCPv6 szerver ezek után UDP kapcsolaton keresztül küldi az adatokat, az 547-es célportot használva. A kliens az FF02::1:2 csoportcímre küldve keresi a DHCPv6 szervert. Ennek a címnek a neve all-DHCPv6-servers, amit a forgalomirányítók nem továbbítanak más hálózatokba, mivel link-local hatókörű. A szerver egy ADVERTISE nevű üzenettel válaszol, tudatva, hogy ő DHCPv6 szerver.
A kliens ekkor REQUEST vagy INFORMATION-REQUEST üzenet küld, attól függően, hogy állapottartó vagy állapotmentes információkat kér.
A szerver végül egy REPLY üzenetben küldi az adatokat.
További DHCP üzenetek az RFC-ben.
Az address paranccsal adjuk meg, hogy milyen tartományból adjon IP címeket a DHCP szerver:
R1(config-dhcpv6)# address prefix 2001:db8:def:1::/64
Megadható az bejegyzés élettartama is:
R1(config-dhcpv6)# address prefix 2001:db8:def:1::/64 lifetime 660000
A másodpercben megadott érték a következő tartományba kell essen:
Az infinite beállíts végtelen, korlátozás nélküli értéket jelent.
R1(config-dhcpv6)# address prefix 2001:db8:def:1::/64 lifetime infinite
A beállítható elavultsági érték is.
R1(config-dhcpv6)# address prefix 2001:db8:def:1::/64 lifetime 2592000 604800
A második érték megadása esetén bejegyzés még használható, de már elavult. Az első érték alapértelmezetten 2592000, azaz 30 nap. A második éréték alapértelmezetten 604800, azaz 7 nap.
Vegyük észre, hogy nincs beállítva az átjáró. A DHCPv6 szerver átjárónak saját interfészének IP címét automatikusan elküldi, ezért nincs beállítva.