DHCP strežnik
Učni list 4: Vzpostavitev DHCP strežnika¶
Namen vaje¶
Tvoja naloga je, da vzpostaviš DHCP strežnik in vidiš razliko med statično in dinamično omrežno konfiguracijo.
Kako brati mikro razlage¶
- razčlenitev sintakse — kaj pomeni posamezni del ukaza
- kaj se zgodi po pritisku Enter — neposredna posledica v sistemu ali omrežju
- na kaj ukaz vpliva — datoteka, proces ali port
- kaj pričakuješ kot rezultat — konkretna kontrolna točka
Cilj je, da ne ostaneš na ravni prepisal sem ukaz, ampak prideš do ravni vem, zakaj sem ga izvedel in kaj moram po njem preveriti.
Cilji¶
- razumeš, kaj je DHCP in zakaj ga uporabljamo
- znaš nastaviti
isc-dhcp-server - znaš določiti obseg naslovov in DNS parametre
- znaš na klientu obnoviti najem naslova
- znaš prebrati datoteko z DHCP najemi
Potrebna oprema in predznanje¶
- strežnik ima statični naslov na internem omrežju
- DNS strežnik že deluje ali vsaj poznamo njegov naslov
- razumeš pojem IP naslov, maska in nameserver
Teorija v ozadju¶
DHCP pomeni Dynamic Host Configuration Protocol. Njegova naloga je, da klientom samodejno dodeli IP naslov in dodatne parametre, kot so DNS strežnik, domena in včasih tudi privzeti prehod.
Klasični potek dodelitve je DORA: Discover, Offer, Request, Acknowledge. Klient najprej išče DHCP strežnik, strežnik ponudi naslov, klient ga zahteva, strežnik pa najem potrdi.
DHCP zmanjšuje ročno delo in napake. Če imaš 30 računalnikov, je ročno vpisovanje naslovov počasno in polno možnosti za konflikt. DHCP to centralizira.
Na kaj je treba paziti¶
- DHCP strežnik mora delovati na pravem vmesniku. Če ga vežeš na napačen vmesnik, klient ne bo dobil naslova.
- Strežniku ne dodeljuj dinamičnega naslova iz istega obsega, če ta naslov že statično uporabljaš.
- V Host-Only omrežju privzeti prehod pogosto ni potreben, ker klienti na tem vmesniku komunicirajo znotraj istega segmenta. Dodaj ga šele, ko v laboratoriju res obstaja naprava, ki promet usmerja naprej.
Kako brati to vajo
Vsak korak ima tri plasti: kaj narediš, kaj ukaz pomeni in kaj se v ozadju zgodi v sistemu ali omrežju. Cilj ni slepo kopiranje ukazov, ampak razumevanje, zakaj posamezni korak obstaja.
Navodila po korakih¶
1. Namesti DHCP strežnik¶
Kaj narediš
Na strežniku namesti paket isc-dhcp-server.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo apt update
- Razčlenitev sintakse:
sudoukaz izvede z administratorskimi pravicami.aptje upravljalnik paketov na Debian/Ubuntu sistemih.updatene namešča programov; samo osveži lokalni seznam paketov iz repozitorijev.- Kaj se zgodi po pritisku Enter: Sistem osveži lokalne informacije o paketih. Ni še spremembe storitev, ampak priprava na korektno namestitev ali posodobitev.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: sudo apt install isc-dhcp-server -y
- Razčlenitev sintakse:
installnamesti navedene pakete:isc-dhcp-server.-ysamodejno potrdi namestitev.- Kaj se zgodi po pritisku Enter: Na sistem se namesti nov paket oziroma storitev. Ob tem se pogosto ustvarijo konfiguracijske datoteke, sistemska enota
systemdin včasih se servis zažene že sam. - Na kaj ta ukaz vpliva:
- Datoteke:
/etc/default/isc-dhcp-server,/etc/dhcp/dhcpd.conf - Procesi/storitve:
isc-dhcp-server - Porti:
67/UDP - Kaj pričakuješ kot rezultat: Paket se namesti brez napake, na koncu pa ni vrstice tipa
E:alifailed.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
Paket namesti servis, ki bo poslušal DHCP zahteve klientov na UDP portu 67.
Kaj se dogaja v ozadju
DHCP uporablja broadcast komunikacijo, ker klient še nima naslova in v začetni fazi ne ve, komu natančno naj pošlje zahtevo.
Kaj moraš opaziti
Po namestitvi servis morda še ne bo deloval, ker nima pravilno nastavljenega vmesnika in obsega.
Če ne dela, preveri
- To, da je servis po namestitvi v
failedstanju, je pri DHCP pogosto normalno, dokler ne dopolniš konfiguracije.
2. Določi, na katerem vmesniku bo DHCP strežnik poslušal¶
Kaj narediš
Odpri privzeto datoteko in zapiši interni Host-Only vmesnik.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo nano /etc/default/isc-dhcp-server
- Razčlenitev sintakse:
nanoodpre besedilno datoteko v terminalskem urejevalniku.- Odpira se datoteka
/etc/default/isc-dhcp-server. Če datoteka še ne obstaja, jo boš ob shranjevanju ustvaril. - Kaj se zgodi po pritisku Enter: Sprememba se še ne zgodi v teku storitve. Najprej spremeniš datoteko na disku; učinek nastopi šele po restartu ali reloadu storitve.
- Na kaj ta ukaz vpliva:
- Datoteke:
/etc/default/isc-dhcp-server,/etc/dhcp/dhcpd.conf - Procesi/storitve:
isc-dhcp-server - Porti:
67/UDP - Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Primer konfiguracije
Kaj ta korak pomeni
S tem poveš, da DHCP ne sme poslušati povsod, ampak samo na laboratorijskem internem omrežju.
Kaj se dogaja v ozadju
DHCP strežnik na napačnem omrežju je recept za kaos. V produkciji lahko tak strežnik uporabnikom razdeli napačne nastavitve in sesuje omrežje.
Kaj moraš opaziti
V datoteki mora biti naveden pravi interni vmesnik strežnika.
Če ne dela, preveri
- Če ne veš, kateri vmesnik je pravi, se vrni na
ip ain preveri, kateri nosi naslov 192.168.56.10.
3. Nastavi glavno DHCP konfiguracijo¶
Kaj narediš
V datoteki dhcpd.conf določi laboratorijsko omrežje, obseg najemov in DNS parametre.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo nano /etc/dhcp/dhcpd.conf
- Razčlenitev sintakse:
nanoodpre besedilno datoteko v terminalskem urejevalniku.- Odpira se datoteka
/etc/dhcp/dhcpd.conf. Če datoteka še ne obstaja, jo boš ob shranjevanju ustvaril. - Kaj se zgodi po pritisku Enter: Sprememba se še ne zgodi v teku storitve. Najprej spremeniš datoteko na disku; učinek nastopi šele po restartu ali reloadu storitve.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Primer konfiguracije
authoritative;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.56.0 netmask 255.255.255.0 {
range 192.168.56.100 192.168.56.150;
option domain-name "lab.local";
option domain-name-servers 192.168.56.10;
}
Opomba
V tem primeru namenoma ni vrstice option routers .... V klasičnem VirtualBox Host-Only laboratoriju klient navadno ne potrebuje gatewaya na tem vmesniku, ker promet ostaja znotraj istega omrežja. Če kasneje uvedeš pravo usmerjanje v drugo omrežje, takrat dodaš tudi prehod.
Kaj ta korak pomeni
S tem določiš, kateri naslovi se lahko delijo klientom. Poleg IP-ja klient dobi tudi podatek, kateri DNS uporablja in katera lokalna domena velja.
Kaj se dogaja v ozadju
DHCP ne daje samo IP naslova. Daje cel paket nastavitev, s katerim klient postane uporaben član omrežja.
Kaj moraš opaziti
Naslov 192.168.56.10 je izven dinamičnega obsega, zato ostane rezerviran za strežnik.
Če ne dela, preveri
- Če v obseg dodaš naslov strežnika ali klientov statični naslov, tvegaš konflikt IP naslovov.
4. Ponovno zaženi servis in preveri stanje¶
Kaj narediš
Restartaj DHCP strežnik in preveri, ali je pripravljen.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo systemctl restart isc-dhcp-server
- Razčlenitev sintakse:
restartustavi in ponovno zažene enotoisc-dhcp-server. To je potrebno po spremembi konfiguracije.- Kaj se zgodi po pritisku Enter: Proces storitve ponovno prebere konfiguracijo. Če je konfiguracija napačna, se storitev lahko ne zažene ali ostane v stanju napake.
- Na kaj ta ukaz vpliva:
- Datoteke:
/etc/default/isc-dhcp-server,/etc/dhcp/dhcpd.conf - Procesi/storitve:
isc-dhcp-server - Porti:
67/UDP - Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: sudo systemctl status isc-dhcp-server
- Razčlenitev sintakse:
systemctlupravlja storitve vsystemd.status isc-dhcp-serverpokaže, ali je enotaisc-dhcp-serveraktivna, kdaj je bila zagnana in ali je javila napake.- Kaj se zgodi po pritisku Enter: Ne spreminja sistema, ampak ti da opazovalno točko: ali storitev teče, od kdaj teče in ali javlja napake.
- Na kaj ta ukaz vpliva:
- Datoteke:
/etc/default/isc-dhcp-server,/etc/dhcp/dhcpd.conf - Procesi/storitve:
isc-dhcp-server - Porti:
67/UDP - Kaj pričakuješ kot rezultat: V izpisu iščeš stanje
active (running)ali vsaj jasen razlog, zakaj storitev ni aktivna.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
Servis mora po novi konfiguraciji prebrati datoteko in začeti poslušati na izbranem vmesniku.
Kaj se dogaja v ozadju
Ko teče, čaka na DHCP Discover sporočila in je pripravljen deliti najeme.
Kaj moraš opaziti
Pričakuješ active (running).
Če ne dela, preveri
- Če servis ne steče, preglej
journalctl -u isc-dhcp-serverin preveri sintakso vdhcpd.conf.
5. Na klientu preklopi interni vmesnik na DHCP¶
Kaj narediš
Na klientu spremeni netplan tako, da interni vmesnik ne uporablja več statičnega naslova, ampak DHCP.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo nano /etc/netplan/01-lab.yaml
- Razčlenitev sintakse:
nanoodpre besedilno datoteko v terminalskem urejevalniku.- Odpira se datoteka
/etc/netplan/01-lab.yaml. Če datoteka še ne obstaja, jo boš ob shranjevanju ustvaril. - Kaj se zgodi po pritisku Enter: Sprememba se še ne zgodi v teku storitve. Najprej spremeniš datoteko na disku; učinek nastopi šele po restartu ali reloadu storitve.
- Na kaj ta ukaz vpliva:
- Datoteke:
/etc/netplan/01-lab.yaml - Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: sudo netplan apply
- Razčlenitev sintakse:
applytrajno naloži trenutno zapisano konfiguracijo Netplana.- Kaj se zgodi po pritisku Enter: Mrežni vmesnik lahko dobi nov naslov, prehod ali DNS strežnik. Če je konfiguracija napačna, lahko izgubiš povezljivost.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Vmesnik dobi pričakovani IP naslov, pot do druge virtualke pa ostane delujoča.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Primer konfiguracije
Kaj ta korak pomeni
S tem klientu rečeš: “Ne odloči se sam. Vprašaj DHCP strežnik.”
Kaj se dogaja v ozadju
Ob aktivaciji vmesnika klient pošlje broadcast DHCP Discover in čaka na odgovor strežnika.
Kaj moraš opaziti
Po netplan apply lahko klient že sam dobi naslov.
Če ne dela, preveri
- Če hočeš postopek videti bolj nazorno, uporabi spodnji korak z ročnim sproščanjem in ponovnim zahtevkom najema.
6. Na klientu sprosti in znova zahtevaj najem¶
Kaj narediš
Na klientu ročno sprosti star najem in zahtej novega.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo dhclient -r enp0s8
- Razčlenitev sintakse:
dhclientje DHCP klient.-rsprosti trenutni DHCP najem na vmesnikuenp0s8. To je uporabno, ko želiš pridobiti nov naslov od začetka.- Kaj se zgodi po pritisku Enter: DHCP klient sproži pogajanje s DHCP strežnikom in lahko zamenja naslov, prehod, DNS ter čas najema.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Vmesnik pokaže naslov iz pričakovanega omrežja, po možnosti tudi obnovljen DNS in prehod.
Ukaz 2: sudo dhclient -v enp0s8
- Razčlenitev sintakse:
-vvklopi podrobnejši izpis pogajanja DHCP.- Klient bo na vmesniku
enp0s8znova poskušal dobiti naslov, masko, prehod in DNS podatke. - Kaj se zgodi po pritisku Enter: DHCP klient sproži pogajanje s DHCP strežnikom in lahko zamenja naslov, prehod, DNS ter čas najema.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Vmesnik pokaže naslov iz pričakovanega omrežja, po možnosti tudi obnovljen DNS in prehod.
Ukaz 3: ip a
- Razčlenitev sintakse:
ipje sodobno orodje za delo z omrežnimi vmesniki.aje skrajšano zaaddressin pokaže naslove, vmesnike ter njihovo stanje.- Kaj se zgodi po pritisku Enter: Takoj preveri, kaj se je spremenilo.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Vmesnik pokaže naslov iz pričakovanega omrežja, po možnosti tudi obnovljen DNS in prehod.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
-r sprosti obstoječi najem, -v pa v pogovornem načinu pokaže celoten postopek pridobivanja novega naslova.
Kaj se dogaja v ozadju
To je najlepši način, da dejansko vidiš DHCP izmenjavo in ne samo končnega rezultata.
Kaj moraš opaziti
Klient mora dobiti naslov iz obsega 192.168.56.100–150.
Če ne dela, preveri
- Če najema ni, preveri, ali klient in strežnik uporabljata isti interni segment in ali DHCP servis posluša na pravem vmesniku.
7. Preveri lease datoteke na strežniku in klientu¶
Kaj narediš
Na strežniku preglej evidenco izdanih najemov, na klientu pa lokalni zapis prejetega najema.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo cat /var/lib/dhcp/dhcpd.leases
- Razčlenitev sintakse:
catz administratorskimi pravicami prebere datoteko/var/lib/dhcp/dhcpd.leases.- Kaj se zgodi po pritisku Enter: Takoj preveri, kaj se je spremenilo.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: sudo cat /var/lib/dhcp/dhclient.leases
- Razčlenitev sintakse:
catz administratorskimi pravicami prebere datoteko/var/lib/dhcp/dhclient.leases.- Kaj se zgodi po pritisku Enter: DHCP klient sproži pogajanje s DHCP strežnikom in lahko zamenja naslov, prehod, DNS ter čas najema.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Vmesnik pokaže naslov iz pričakovanega omrežja, po možnosti tudi obnovljen DNS in prehod.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
S tem vidiš, da DHCP ni magija. Obstaja dejanska evidenca, kateri naslov je bil komu dodeljen in za koliko časa.
Kaj se dogaja v ozadju
Strežnik si zapomni izdane najeme, klient pa shrani podatke o zadnjem prejetem najemu.
Kaj moraš opaziti
V lease datoteki strežnika mora biti viden naslov, dodeljen klientu.
Če ne dela, preveri
- Če datoteke ni ali je prazna, klient verjetno sploh ni uspel dobiti najema.
8. Preveri tudi DNS parametre, prejete prek DHCP¶
Kaj narediš
Na klientu preveri, ali je kot DNS strežnik nastavljen 192.168.56.10.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: resolvectl status || systemd-resolve --status
- Razčlenitev sintakse:
- Ukaz
resolvectl status || systemd-resolve --statusizvedi natančno tako, kot je zapisan, nato pa preveri učinek na storitev, datoteko ali mrežno povezavo. - Kaj se zgodi po pritisku Enter: Takoj preveri, kaj se je spremenilo.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Zakaj je korak pomemben¶
Če ta ukaz izvedeš brez razumevanja, bo sistem morda na videz deloval, ti pa ne bo jasno, kje iskati napako. Zato po vsakem takem bloku vedno preveri vsaj eno od treh stvari: datoteko, stanje storitve ali omrežni odziv.
Kaj ta korak pomeni
Tu se lepo vidi povezava med DHCP in DNS. DHCP ne deli le IP-ja, ampak klientu tudi pove, kateri DNS strežnik naj uporablja.
Kaj se dogaja v ozadju
V realnem omrežju uporabnik praviloma ne vpisuje DNS strežnika ročno. To zanj uredi DHCP.
Kaj moraš opaziti
Med DNS strežniki moraš videti 192.168.56.10.
Če ne dela, preveri
- Če vidiš stare podatke, je možno, da klient uporablja predpomnjeno stanje ali drug aktivni vmesnik.
Preverjanje delovanja¶
- [ ]
isc-dhcp-serverje nameščen in aktiven - [ ] servis posluša na internem vmesniku
- [ ] klient dobi naslov iz nastavljenega obsega
- [ ] klient prejme domeno
lab.localin DNS strežnik 192.168.56.10 - [ ] znaš razložiti DORA postopek
Vprašanja za razmislek¶
- Zakaj v omrežju pogosto uporabljamo DHCP?
- Kaj pomeni DORA?
- Zakaj strežniku ne damo dinamičnega naslova iz istega poola?
- Katera datoteka na strežniku prikazuje izdane najeme?
Dodatni izziv¶
Dodaj rezervacijo, da klient z določeno MAC adreso vedno dobi isti naslov, npr. 192.168.56.110. Nato sprosti najem in preveri, da res dobi rezervirani naslov.
Mini povzetek¶
Po tej vaji moraš znati na kratko razložiti, kaj je vloga servisa vzpostavitev dhcp strežnika v omrežju, kateri proces ali konfiguracija ga omogoča in kako ga preverimo s klienta.