DNS strežnik
Učni list 3: Vzpostavitev DNS strežnika z BIND9¶
Namen vaje¶
Tvoja naloga je, da vzpostaviš lokalni DNS strežnik, ustvariš svojo cono in razumeš, kako se imena prevajajo v IP naslove.
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š vlogo DNS v omrežju
- znaš namestiti in zagnati BIND9
- znaš ustvariti forward in reverse cono
- znaš preveriti cono z
named-checkzonein strežnik znamed-checkconf - znaš s klienta testirati razreševanje imen z
digalinslookup
Potrebna oprema in predznanje¶
- strežnik ima statični IP naslov
- klient doseže strežnik po IP-ju
- poznaš razliko med IP naslovom in imenom gostitelja
Teorija v ozadju¶
DNS je telefonski imenik interneta in lokalnih omrežij. Ljudje si lažje zapomnimo www.lab.local kot 192.168.56.10.
Ko klient išče ime, pošlje vprašanje DNS strežniku. Ta lahko odgovori iz svoje cone, iz predpomnilnika ali pa poizvedbo posreduje naprej drugim DNS strežnikom.
Forward cona preslika ime v IP naslov. Reverse cona pa odgovori na vprašanje: “Katero ime je povezano s tem IP naslovom?” Obe sta didaktično pomembni, ker skupaj pokažeta dvosmernost preslikave.
BIND9 je klasičen in zelo zmogljiv DNS strežnik. V tej vaji ga uporabljamo v lokalnem laboratorijskem režimu, ne kot javni internetni avtoritativni strežnik.
Na kaj je treba paziti¶
- V DNS conah je pika na koncu FQDN-ja pomembna. Brez nje lahko BIND napačno pripne ime trenutne cone.
- Po spremembi cone vedno preveri sintakso, preden znova zaženeš servis.
- Če klient še vedno vrača stare odgovore, je lahko kriv cache. Ne krivi takoj vseh bogov omrežja.
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 BIND9 in orodja za testiranje¶
Kaj narediš
Na strežniku namesti DNS strežnik in pripomočke.
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 bind9 bind9-utils bind9-dnsutils dnsutils -y
- Razčlenitev sintakse:
installnamesti navedene pakete:bind9 bind9-utils bind9-dnsutils dnsutils.-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/bind/named.conf.options,/etc/bind/named.conf.local,/etc/bind/db.lab.local,/etc/bind/db.192.168.56 - Procesi/storitve:
bind9 - Porti:
53/TCP,53/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
bind9 je strežnik, bind9-utils in dnsutils pa prineseta ukaze, kot so named-checkconf, named-checkzone, dig in nslookup.
Kaj se dogaja v ozadju
Po namestitvi dobi sistem proces named, ki lahko posluša na portu 53 za UDP in TCP poizvedbe.
Kaj moraš opaziti
Paketna namestitev se konča brez napak, servis pa se praviloma sam zažene.
Če ne dela, preveri
- Če nameščanje ne uspe, preveri internet dostop prek NAT in osnovno DNS razreševanje za zunanje repozitorije.
2. Preveri stanje servisa in poslušanje na portu 53¶
Kaj narediš
Preveri, ali je bind9 aktiven in ali sistem posluša DNS promet.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo systemctl status bind9
- Razčlenitev sintakse:
systemctlupravlja storitve vsystemd.status bind9pokaže, ali je enotabind9aktivna, 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/bind/named.conf.options,/etc/bind/named.conf.local,/etc/bind/db.lab.local,/etc/bind/db.192.168.56 - Procesi/storitve:
bind9 - Porti:
53/TCP,53/UDP - Kaj pričakuješ kot rezultat: V izpisu iščeš stanje
active (running)ali vsaj jasen razlog, zakaj storitev ni aktivna.
Ukaz 2: ss -tulpen | grep :53
- Razčlenitev sintakse:
sspokaže odprte mrežne vtičnice.-tprikaže TCP,-uUDP,-lposlušajoče vtičnice,-pprocese,-edodatne podatke,-nnumerične porte brez pretvarjanja v imena.grep :53izloči vrstice za port53.- Kaj se zgodi po pritisku Enter: Pregleduješ stanje mrežnih vtičnic v jedru. Tako preveriš, ali je storitev res odprla pričakovani port.
- Na kaj ta ukaz vpliva:
- Ugotovi, ali ukaz stanje samo preveri ali ga spremeni.
- Kaj pričakuješ kot rezultat: V izpisu vidiš pričakovani port in pravilni proces, ki posluša promet.
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
DNS večinoma uporablja UDP 53 za običajne poizvedbe, lahko pa tudi TCP 53 za večje odgovore in nekatere posebne primere.
Kaj se dogaja v ozadju
Ko servis posluša na 53/UDP in 53/TCP, je jedro pripravljeno sprejemati DNS promet.
Kaj moraš opaziti
Pričakuješ active (running) ter zapisa za port 53.
Če ne dela, preveri
- Če port 53 zaseda drug proces, bo BIND padel. To se lahko zgodi, če se s sistemskim resolverjem stepe za isti port.
3. Uredi osnovne možnosti BIND¶
Kaj narediš
Odpri datoteko z globalnimi nastavitvami in omogoči poslušanje ter po želji posredovanje poizvedb za zunanja imena.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo nano /etc/bind/named.conf.options
- Razčlenitev sintakse:
nanoodpre besedilno datoteko v terminalskem urejevalniku.- Odpira se datoteka
/etc/bind/named.conf.options. Č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
options {
directory "/var/cache/bind";
recursion yes;
allow-query { any; };
listen-on { any; };
forwarders {
1.1.1.1;
8.8.8.8;
};
dnssec-validation auto;
};
Kaj ta korak pomeni
recursion yes pomeni, da lahko strežnik v imenu klienta poišče odgovore. forwarders mu pove, katera zunanja DNS strežnika naj vpraša, če odgovora nima sam.
Kaj se dogaja v ozadju
S tem laboratorijski DNS ni uporaben samo za lokalno cono, ampak lahko rešuje tudi zunanja imena, kar je za dijake lažje za razumevanje in testiranje.
Kaj moraš opaziti
Po spremembi še ne restartaj na slepo; najprej nadaljuj s konfiguracijo con in nato preveri sintakso.
Če ne dela, preveri
- Če v šoli zunanji DNS strežniki niso dosegljivi, lahko forwarderje pozneje prilagodiš ali izpustiš.
4. Definiraj forward in reverse cono¶
Kaj narediš
V datoteki named.conf.local dodaj obe laboratorijski coni.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo nano /etc/bind/named.conf.local
- Razčlenitev sintakse:
nanoodpre besedilno datoteko v terminalskem urejevalniku.- Odpira se datoteka
/etc/bind/named.conf.local. Č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
zone "lab.local" {
type master;
file "/etc/bind/db.lab.local";
};
zone "56.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.56";
};
Kaj ta korak pomeni
S tem BIND poveš, da je on avtoritativni strežnik za cono lab.local in za reverse območje omrežja 192.168.56.0/24.
Kaj se dogaja v ozadju
Zona je datoteka z zapisi. Strežnik ne ugiba, katere cone ima. To mu moraš izrecno povedati.
Kaj moraš opaziti
Datoteka je kratka, a zelo pomembna: brez nje BIND ne bo vedel, da tvoje cone sploh obstajajo.
Če ne dela, preveri
- Če zgrešiš pot do datoteke cone, bo preverjanje konfiguracije padlo.
5. Ustvari forward cono db.lab.local¶
Kaj narediš
Pripravi datoteko z DNS zapisi za laboratorij.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo cp /etc/bind/db.local /etc/bind/db.lab.local
- Razčlenitev sintakse:
cpkopira datoteko iz/etc/bind/db.localv/etc/bind/db.lab.local.- Pri strežniških konfiguracijah to pogosto pomeni: vzemi predlogo in jo prilagodi svoji laboratorijski domeni.
- 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 nano /etc/bind/db.lab.local
- Razčlenitev sintakse:
nanoodpre besedilno datoteko v terminalskem urejevalniku.- Odpira se datoteka
/etc/bind/db.lab.local. Č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
$TTL 86400
@ IN SOA ns1.lab.local. admin.lab.local. (
2026040601 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS ns1.lab.local.
ns1 IN A 192.168.56.10
server IN A 192.168.56.10
client IN A 192.168.56.20
www IN A 192.168.56.10
ftp IN A 192.168.56.10
mail IN A 192.168.56.10
@ IN MX 10 mail.lab.local.
Kako prebrati tipične vrstice iz cone
server IN A 192.168.56.10pomeni, da imeserver.lab.localkaže na naslov192.168.56.10www IN A 192.168.56.10pomeni, da spletni strežnik uporablja isti IP kot laboratorijski strežnik@ IN MX 10 mail.lab.local.pomeni, da pošta za domenolab.localnajprej potuje na strežnikmail.lab.local
Kaj ta korak pomeni
Tukaj nastaviš dejanske preslikave. A zapis preslika ime v IPv4 naslov, NS določa imenski strežnik cone, MX pa pove, kateri strežnik sprejema pošto za domeno.
Kaj se dogaja v ozadju
SOA zapis opisuje lastnosti cone in vsebuje serijsko številko. Ko cono spremeniš, je dobra praksa povečati serial, da sekundarni strežniki (če bi jih imel) vedo, da je prišla nova verzija.
Kaj moraš opaziti
V coni morajo biti zapisi za server, client, www, ftp in mail.
Če ne dela, preveri
- Če pri FQDN-jih pozabiš končno piko, bo BIND morda iz imena naredil npr.
mail.lab.local.lab.local.
6. Ustvari reverse cono db.192.168.56¶
Kaj narediš
Dodaj povratne PTR zapise za strežnik in klienta.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo cp /etc/bind/db.127 /etc/bind/db.192.168.56
- Razčlenitev sintakse:
cpkopira datoteko iz/etc/bind/db.127v/etc/bind/db.192.168.56.- Pri strežniških konfiguracijah to pogosto pomeni: vzemi predlogo in jo prilagodi svoji laboratorijski domeni.
- 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 nano /etc/bind/db.192.168.56
- Razčlenitev sintakse:
nanoodpre besedilno datoteko v terminalskem urejevalniku.- Odpira se datoteka
/etc/bind/db.192.168.56. Č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
$TTL 86400
@ IN SOA ns1.lab.local. admin.lab.local. (
2026040601
3600
1800
604800
86400 )
;
@ IN NS ns1.lab.local.
10 IN PTR server.lab.local.
20 IN PTR client.lab.local.
Kako prebrati PTR zapis
10 IN PTR server.lab.local.pomeni: ko kdo vpraša, katero ime pripada naslovu192.168.56.10, dobi odgovorserver.lab.local20 IN PTR client.lab.local.velja enako za klienta na naslovu192.168.56.20
Kaj ta korak pomeni
PTR zapis pove, da naslov .10 pripada server.lab.local, naslov .20 pa client.lab.local.
Kaj se dogaja v ozadju
Reverse cona ni samo akademska vaja. Veliko servisov in logov uporablja povratno razreševanje za diagnostiko ali politiko dostopa.
Kaj moraš opaziti
Število 10 in 20 predstavlja zadnji oktet IP naslova v omrežju 192.168.56.0/24.
Če ne dela, preveri
- Če zamenjaš območje reverse cone, poizvedbe tipa
dig -xne bodo delovale.
7. Preveri sintakso konfiguracije in con¶
Kaj narediš
Pred ponovnim zagonom BIND preveri globalno konfiguracijo in obe coni.
Ukazi
sudo named-checkconf
sudo named-checkzone lab.local /etc/bind/db.lab.local
sudo named-checkzone 56.168.192.in-addr.arpa /etc/bind/db.192.168.56
Mikro razlaga ukazov¶
Ukaz 1: sudo named-checkconf
- Razčlenitev sintakse:
- Preveri sintakso glavne konfiguracije BIND-a. Ne preveri vsebine vseh zapisov, ampak ali je konfiguracija kot celota smiselno zapisana.
- 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 named-checkzone lab.local /etc/bind/db.lab.local
- Razčlenitev sintakse:
- Preveri sintakso in osnovno veljavnost cone
lab.local. - Drugi argument
/etc/bind/db.lab.localje datoteka s konkretnimi zapisi te cone. - 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 3: sudo named-checkzone 56.168.192.in-addr.arpa /etc/bind/db.192.168.56
- Razčlenitev sintakse:
- Preveri sintakso in osnovno veljavnost cone
56.168.192.in-addr.arpa. - Drugi argument
/etc/bind/db.192.168.56je datoteka s konkretnimi zapisi te cone. - 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
To je eden najboljših administrativnih refleksov: preveri preden restartneš. Tako hitro najdeš sintaktično napako, ne da bi po nepotrebnem podiral delujoč servis.
Kaj se dogaja v ozadju
BIND ob preverjanju prebere konfiguracijo in javi natančno vrstico ali zapis, ki je problematičen.
Kaj moraš opaziti
Pričakuješ odgovor OK oziroma brez napak.
Če ne dela, preveri
- Če javi napako v coni, preveri predvsem manjkajoče pike, serial in napačne tipe zapisov.
8. Ponovno zaženi BIND in preveri dnevnike¶
Kaj narediš
Naloži novo konfiguracijo in preveri, ali servis ostane aktiven.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: sudo systemctl restart bind9
- Razčlenitev sintakse:
restartustavi in ponovno zažene enotobind9. 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/bind/named.conf.options,/etc/bind/named.conf.local,/etc/bind/db.lab.local,/etc/bind/db.192.168.56 - Procesi/storitve:
bind9 - Porti:
53/TCP,53/UDP - Kaj pričakuješ kot rezultat: Poišči en jasen, preverljiv učinek.
Ukaz 2: sudo systemctl status bind9
- Razčlenitev sintakse:
systemctlupravlja storitve vsystemd.status bind9pokaže, ali je enotabind9aktivna, 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/bind/named.conf.options,/etc/bind/named.conf.local,/etc/bind/db.lab.local,/etc/bind/db.192.168.56 - Procesi/storitve:
bind9 - Porti:
53/TCP,53/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
Po validaciji je restart varen. Tako BIND začne uporabljati nove cone in zapise.
Kaj se dogaja v ozadju
Proces named ob zagonu naloži vse cone v pomnilnik in se pripravi na odgovarjanje klientom.
Kaj moraš opaziti
Status mora biti active (running).
Če ne dela, preveri
- Če servis pade, poglej
journalctl -u bind9in popravi napako v datoteki.
9. Na klientu nastavi laboratorijski DNS strežnik¶
Kaj narediš
Na klientu usmeri razreševanje imen na strežnik 192.168.56.10.
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
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: false
addresses:
- 192.168.56.20/24
nameservers:
addresses:
- 192.168.56.10
Kaj ta korak pomeni
Klient mora vedeti, kam poslati DNS vprašanje. Če tega ne nastaviš, bo spraševal nek drug DNS strežnik, ki za lab.local seveda ne bo vedel ničesar.
Kaj se dogaja v ozadju
Resolver na klientu bere konfiguracijo nameserverjev in pošilja poizvedbe tja. To je točka, kjer se laboratorijski DNS zares začne uporabljati.
Kaj moraš opaziti
Po spremembi lahko klient poizveduje pri 192.168.56.10.
Če ne dela, preveri
- Če zaradi spremembe izgubiš internetna imena, preveri, ali je na strežniku pravilno nastavljen forwarder ali pa dodaj sekundarni zunanji DNS za NAT vmesnik.
10. S klienta preveri forward in reverse razreševanje¶
Kaj narediš
Preveri zapise s dig in nslookup.
Ukazi
Mikro razlaga ukazov¶
Ukaz 1: dig server.lab.local
- Razčlenitev sintakse:
digpošlje DNS poizvedbo zaserver.lab.localin prikaže natančen odgovor strežnika.- Kaj se zgodi po pritisku Enter: Pošlješ DNS poizvedbo in vidiš, kaj konkretni strežnik vrne za ime, IP naslov ali MX zapis.
- Na kaj ta ukaz vpliva:
- Porti:
53/TCP,53/UDP - Kaj pričakuješ kot rezultat: V odgovoru vidiš pravilen zapis A, PTR ali MX ter pravi naslov iz laboratorijske domene.
Ukaz 2: dig www.lab.local
- Razčlenitev sintakse:
digpošlje DNS poizvedbo zawww.lab.localin prikaže natančen odgovor strežnika.- Kaj se zgodi po pritisku Enter: Pošlješ DNS poizvedbo in vidiš, kaj konkretni strežnik vrne za ime, IP naslov ali MX zapis.
- Na kaj ta ukaz vpliva:
- Porti:
53/TCP,53/UDP - Kaj pričakuješ kot rezultat: V odgovoru vidiš pravilen zapis A, PTR ali MX ter pravi naslov iz laboratorijske domene.
Ukaz 3: dig -x 192.168.56.10
- Razčlenitev sintakse:
digpošlje DNS poizvedbo za-x 192.168.56.10in prikaže natančen odgovor strežnika.- Kaj se zgodi po pritisku Enter: Pošlješ DNS poizvedbo in vidiš, kaj konkretni strežnik vrne za ime, IP naslov ali MX zapis.
- Na kaj ta ukaz vpliva:
- Porti:
53/TCP,53/UDP - Kaj pričakuješ kot rezultat: V odgovoru vidiš pravilen zapis A, PTR ali MX ter pravi naslov iz laboratorijske domene.
Ukaz 4: nslookup mail.lab.local
- Razčlenitev sintakse:
nslookupje enostavnejše orodje za DNS poizvedbo. Tukaj sprašuješ zamail.lab.local.- Kaj se zgodi po pritisku Enter: Pošlješ DNS poizvedbo in vidiš, kaj konkretni strežnik vrne za ime, IP naslov ali MX zapis.
- Na kaj ta ukaz vpliva:
- Porti:
53/TCP,53/UDP - Kaj pričakuješ kot rezultat: V odgovoru vidiš pravilen zapis A, PTR ali MX ter pravi naslov iz laboratorijske domene.
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 vidiš, ali BIND dejansko odgovarja in ali klient res sprašuje pravi strežnik.
Kaj se dogaja v ozadju
Pri dig je pomemben del odgovora sekcija ANSWER. Pri reverse poizvedbi moraš dobiti PTR zapis.
Kaj moraš opaziti
Odgovori morajo vračati laboratorijske naslove in imena.
Če ne dela, preveri
- Če odgovori prihajajo od napačnega strežnika, dodaj
@192.168.56.10vdigukaz, da izrecno vprašaš svoj BIND.
Preverjanje delovanja¶
- [ ] BIND9 je nameščen in teče
- [ ] forward cona
lab.localdeluje - [ ] reverse cona za 192.168.56.0/24 deluje
- [ ] klient uporablja strežnik kot DNS resolver
- [ ]
diginnslookupvračata pravilne odgovore
Vprašanja za razmislek¶
- Zakaj je DNS pomemben, če že poznamo IP naslove?
- Kaj je razlika med A in PTR zapisom?
- Zakaj preverjamo cono z
named-checkzone? - Kaj počne MX zapis?
Dodatni izziv¶
Dodaj nov zapis intranet.lab.local za strežnik, povečaj serial v SOA zapisu, reloadaj BIND in preveri, da novo ime deluje s klienta.
Mini povzetek¶
Po tej vaji moraš znati na kratko razložiti, kaj je vloga servisa vzpostavitev dns strežnika v omrežju, kateri proces ali konfiguracija ga omogoča in kako ga preverimo s klienta.