Teooria 3: Nimed ja hosts-fail¶
Miks nimed?¶
Arvutid ühenduvad IP-aadresside järgi, inimesed eelistavad nimesid:
- nime on lihtsam meelde jätta:
plng.ee, mitte numbrijada - aadress võib muutuda, nimi jääb samaks: kui server kolib uuele aadressile, muudetakse ainult nime ja aadressi seost, kasutajad ei pea midagi teadma
- sama nime taga võib olla mitu serverit
Seepärast peab arvuti oskama nime aadressiks teisendada (name resolution).
Kuidas Windows nime üles leiab¶
Kui kirjutad ping dc01 või brauserisse http://dc01, otsib Windows aadressi selles järjekorras:
| # | Kust | Selgitus |
|---|---|---|
| 1 | Vahemälu (cache) ja hosts-fail |
Hiljuti leitud nimed ja hosts-faili read. Kui leiab, on kohe vastus. |
| 2 | DNS-server | Server, mille aadress on võrgukaardi sätetes (meie laboris WS01-l 192.168.50.10) |
| 3 | Küsimine kohtvõrgus (LLMNR, NetBIOS) | Windows küsib samas võrgus valjult: „kes on dc01?” Töötab ainult samas võrgulõigus ja tulemüür võib selle blokeerida. |
Kui ükski ei vasta, saad veateate, näiteks „Ping request could not find host dc01”.
hosts-fail¶
hosts-fail on tavaline tekstifail kaustas C:\Windows\System32\drivers\etc. Igal real on
aadress, tühik (või tabulaator) ja üks või mitu nime. Rida, mis algab märgiga #, on kommentaar.
Nüüd töötavad nii ping dc01 kui ka http://veeb.
- Faili muutmiseks on vaja administraatori õigusi.
hosts-fail kehtib ainult selles arvutis, kuhu see on kirjutatud.
Milleks hosts-faili päriselt kasutatakse¶
| Olukord | Näide |
|---|---|
| Uue serveri testimine enne, kui DNS-i muudetakse | 192.168.50.10 plng.ee: sinu arvutis avaneb uus server, teistel endiselt vana |
| Labor või väike võrk ilma DNS-serverita | Meie laborivõrk enne tundi 4 |
| Saidi blokeerimine ühes arvutis | 0.0.0.0 example.com: nimi viib aadressile, kus midagi pole |
hosts-faili kuritarvitatakse
Pahavara muudab mõnikord hosts-faili, näiteks suunab panga nime võltsitud serverile või
blokeerib viirusetõrje uuendused. Seepärast saab faili muuta ainult administraator ja
Microsoft Defender jälgib kahtlaseid muudatusi. Kui arvuti „ei leia” mõnda saiti, vaata ka
hosts-faili.
Kasulikud käsud¶
Get-Content C:\Windows\System32\drivers\etc\hosts # näita hosts-faili sisu
Add-Content C:\Windows\System32\drivers\etc\hosts "192.168.50.10 dc01" # lisa rida (administraatorina)
Resolve-DnsName dc01 # leia nimele aadress
ping dc01 # näitab ka, millise aadressi nimi sai
ipconfig /displaydns # näita vahemälu
ipconfig /flushdns # tühjenda vahemälu
Kui muutsid nime aadressi, aga arvuti kasutab ikka vana, tühjenda vahemälu käsuga
ipconfig /flushdns.
hosts-fail ja DNS¶
hosts-fail |
DNS-server | |
|---|---|---|
| Kus | Igas arvutis eraldi | Ühes kohas kogu võrgu jaoks |
| Muutmine | Iga arvuti eraldi | Üks muudatus, kõik arvutid näevad |
| Sobib | Testimiseks, väike labor | Ettevõte, internet |
100 arvuti jaoks peaksid hosts-faili muutma 100 korda. Seepärast kasutavad ettevõtted
DNS-serverit. Selle paigaldame tunnis 4 koos Active Directoryga.
Huvilistele: kuidas DNS internetis töötab (1.1.1.1 jt)
Seda osa pole tunnis vaja. Loe, kui tahad rohkem teada.
Kes vastab, kui sinu arvuti küsib nime? Kodus saab arvuti DHCP-ga ruuterilt ka DNS-serveri aadressi. Tavaliselt on see sinu internetiteenuse pakkuja DNS-server. Selle asemel võib kasutada ka avalikke DNS-servereid:
| Aadress | Kelle oma |
|---|---|
1.1.1.1 |
Cloudflare |
8.8.8.8 |
|
9.9.9.9 |
Quad9 (blokeerib teadaolevad pahavara saidid) |
Neid nimetatakse lahendajateks (resolver): nad ei tea ise vastust, vaid otsivad selle sinu eest üles.
Kuidas lahendaja nime plng.ee üles leiab:
- Küsib juurserverilt (root server): „kes teab
.eenimesid?” - Küsib
.eeserverilt: „kes teab nimeplng.ee?” - Küsib
plng.eeautoriteetselt serverilt (authoritative server), kus domeeni omanik hoiab oma kirjeid: „mis onplng.eeaadress?” - Saadab vastuse sinu arvutile ja jätab selle mõneks ajaks meelde (TTL, time to live).
Järgmine küsija saab vastuse lahendaja mälust ja kõiki samme pole vaja korrata.
Kolm eri asja, mida saab muuta:
| Mida muudad | Kellele mõjub | Mida muudab |
|---|---|---|
hosts-faili rida |
Ainult sinu arvutile, ainult neile nimedele | Sinu arvuti ei küsi neid nimesid üldse DNS-ist |
DNS-serveri aadress (nt 1.1.1.1) |
Ainult sinu arvutile, kõigile nimedele | Kes sinu eest otsib. Vastused on samad, sest need tulevad lõpuks samast autoriteetsest serverist. |
| DNS-kirje domeeni autoriteetses serveris | Kogu maailmale | Mis on õige vastus. Muudatus jõuab kõigini, kui vanad vastused lahendajate mälust aeguvad. |
Inimesed vahetavad DNS-serverit 1.1.1.1 vms vastu kiiruse, privaatsuse või filtreerimise pärast
(mõni DNS-server blokeerib pahavara- või täiskasvanute saite).
Ettevõttes (tund 4) on oma DNS-server: see teab sisevõrgu nimesid (näiteks dc01) ja
küsib internetinimesid edasi lahendajalt.
Proovi oma arvutis (laborivõrgus pole internetti):
Huvilistele: hosts-faili ajalugu
Seda osa pole tunnis vaja. Loe, kui tahad rohkem teada.
Interneti eelkäijas ARPANET-is oli kõigi arvutite nimede ja aadresside nimekiri ühes failis
HOSTS.TXT. Seda hoiti ühes keskuses ja iga arvuti laadis selle regulaarselt alla. Kui
arvuteid sai tuhandeid, jäi fail liiga suureks ja muutus liiga sageli. 1983 loodi selle
asemele DNS: hajus süsteem, kus iga organisatsioon haldab oma nimesid ise.
Windowsi hosts-fail on sellest ajast jäänud alles kui väike kohalik erand.
➜ Edasi: Praktiline 3