Miten netti toimii
DNS selitettynä: näin nimipalvelu muuttaa nimen osoitteeksi
DNS muuttaa verkkotunnuksen IP-osoitteeksi. Näin nimen selvitys etenee vaihe vaiheelta, miksi muutokset näkyvät viiveellä ja miten tunnistat DNS-ongelman.
Lyhyt vastaus
DNS eli nimipalvelu muuttaa ihmisen kirjoittaman verkkotunnuksen numeeriseksi IP-osoitteeksi, jota laitteet käyttävät yhteyden avaamiseen. Selvitys etenee ketjuna selaimen välimuistista käyttöjärjestelmään, sieltä selvittävälle nimipalvelimelle ja tarvittaessa juuripalvelimille ja verkkotunnuksen omalle palvelimelle asti. Jokainen vaihe tallentaa vastauksen välimuistiin, minkä takia verkkotunnuksen muutokset näkyvät käyttäjille vasta viiveellä.
Sisällys
- Mitä DNS tekee
- Nimen selvitys vaihe vaiheelta
- Tietuetyypit lyhyesti
- TTL ja miksi muutos näkyy viiveellä
- Omaperäinen osio: onko ongelma DNS:ssä vai muualla
- Salattu DNS ja mitä se muuttaa
- Suodatus, kaappaus ja myrkytys
- Julkiset nimipalvelut ja valinnan seuraukset
- Usein kysytyt kysymykset
- Lähteet ja lisälukemista
Kirjoitat selaimeen osoitteen ja sivu aukeaa. Väliin mahtuu järjestelmä, joka on internetin vanhimpia ja hiljaisimpia osia: nimipalvelu eli DNS. Se ei siirrä sisältöä eikä salaa mitään, mutta ilman sitä mikään ei löydä perille.
DNS kannattaa ymmärtää kahdesta syystä. Ensimmäinen on vianetsintä: kun tiedät miten nimen selvitys etenee, osaat päätellä muutamassa minuutissa onko ongelma sinun laitteessasi, operaattorissasi vai palvelussa. Toinen on yksityisyys: nimipalvelinvalinta ratkaisee, kuka näkee luettelon avaamistasi sivustoista.
Tässä artikkelissa käydään läpi selvitysketju vaiheittain, tietuetyypit, välimuistin logiikka ja salattu DNS. Lopussa on vianetsintäjärjestys ja oiretaulukko, joilla erotat DNS-ongelman muusta.
Mitä DNS tekee
Laitteet eivät osaa käyttää nimiä. Yhteyden avaamiseen tarvitaan IP-osoite, ja DNS on järjestelmä, joka kertoo mikä osoite mihinkin nimeen kuuluu.
DNS on hakemisto, ei liikennereitti. Se kertoo minne mennä. Itse liikenne kulkee sen jälkeen suoraan, eikä nimipalvelin näe sen sisältöä.
Järjestelmä on hajautettu tarkoituksella. Yksikään palvelin ei tiedä kaikkien verkkotunnusten osoitteita. Sen sijaan vastuu on jaettu puumaiseen hierarkiaan, jossa jokainen taso tietää seuraavan tason vastuupalvelimen. Tämä on syy siihen, että internetin nimijärjestelmä on kestänyt vuosikymmeniä ilman keskitettyä hallintaa.
Nimi luetaan oikealta vasemmalle. Osoitteessa www.esimerkki.fi ylätason verkkotunnus on fi, sen alla on esimerkki ja sen alla www. Jokainen taso voidaan delegoida eri organisaatiolle.
Nimen selvitys vaihe vaiheelta
Kun avaat sivun, kysely kulkee tätä polkua. Ketju katkeaa heti, kun jokin vaihe osaa vastata.
- Selaimen välimuisti. Selain säilyttää lyhyen aikaa nimiä, jotka se on juuri selvittänyt. Jos vastaus löytyy täältä, mitään verkkoliikennettä ei synny.
- Käyttöjärjestelmän välimuisti ja hosts-tiedosto. Käyttöjärjestelmällä on oma välimuistinsa. Lisäksi hosts-tiedostoon käsin kirjoitettu rivi ohittaa koko muun järjestelmän.
- Selvittävä nimipalvelin. Laitteesi kysyy siltä nimipalvelimelta, jonka se on saanut reitittimeltä tai jonka olet itse asettanut. Tämä on tyypillisesti operaattorisi palvelin tai jokin julkinen palvelu. Sillä on oma, paljon suurempi välimuistinsa.
- Juuripalvelin. Jos selvittävä palvelin ei tiedä vastausta, se kysyy juurelta, joka kertoo mikä palvelin vastaa fi-päätteestä. Juuri ei tiedä yksittäisistä verkkotunnuksista mitään.
- Ylätason verkkotunnuksen palvelin. Fi-päätteen palvelin kertoo, mitkä nimipalvelimet vastaavat verkkotunnuksesta esimerkki.fi.
- Auktoritatiivinen nimipalvelin. Tämä on verkkotunnuksen oma palvelin, ja se antaa lopullisen vastauksen: tässä on osoite.
Vastaus palaa ketjua takaisin, ja jokainen vaihe tallentaa sen välimuistiinsa. Tyypillisesti koko kierros kestää sadasosia sekunneista muutamiin kymmeniin millisekunteihin, ja seuraavalla kerralla vastaus tulee suoraan välimuistista.
Tietuetyypit lyhyesti
Nimipalvelu tallentaa muutakin kuin osoitteita. Nämä tietuetyypit riittävät tavallisen käyttäjän ymmärrykseen.
| Tietue | Mitä se kertoo | Missä se näkyy arjessa |
|---|---|---|
| A | Nimen IPv4-osoite | Sivuston aukeaminen |
| AAAA | Nimen IPv6-osoite | Sivuston aukeaminen IPv6-yhteydellä |
| CNAME | Nimi on toisen nimen vaihtoehtoinen muoto | www-alkuinen osoite ohjautuu päänimeen |
| MX | Mikä palvelin ottaa vastaan verkkotunnuksen sähköpostin | Sähköpostin perillemeno |
| TXT | Vapaamuotoista tekstiä, usein teknisiä varmennuksia | Sähköpostin lähettäjän todennus ja palveluiden omistajuuden vahvistus |
TXT-tietueiden merkitys on kasvanut, koska sähköpostin lähettäjän todennus perustuu niihin. Kun huijausviesti väittää tulevansa pankista, vastaanottava palvelin voi tarkistaa TXT-tietueista, saako kyseinen palvelin lähettää postia sen verkkotunnuksen nimissä. Tämä on yksi taustamekanismi sille, miksi osa väärennetyistä viesteistä ei koskaan päädy perille. Loput tunnistat itse, ja siihen auttaa artikkeli tietojenkalastelusta.
TTL ja miksi muutos näkyy viiveellä
Jokaisella tietueella on TTL (time to live), eli aika sekunteina, jonka vastauksen saa säilyttää välimuistissa. Kun verkkotunnuksen omistaja siirtää sivuston uudelle palvelimelle, hän muuttaa A-tietueen. Vanha arvo elää silti kaikissa välimuisteissa TTL:n loppuun asti.
Tästä seuraa ilmiö, joka hämmentää säännöllisesti. Sivuston omistaja näkee uuden version, työkaveri näkee vanhan, ja kolmas näkee vuorotellen kumpaakin. Kukaan ei ole väärässä: he saavat vastauksen eri välimuisteista, jotka vanhentuvat eri aikaan.
Käytännön sääntö on, että muutos on täysin näkyvissä vasta kun vanhin välimuistissa oleva vastaus on vanhentunut. Jos TTL oli 24 tuntia, vuorokausi on realistinen odotusaika. Ammattilaiset laskevat TTL:n pieneksi muutamaa päivää ennen siirtoa ja nostavat sen takaisin siirron jälkeen.
Oman koneen välimuistin voi tyhjentää. Windowsissa komento on ipconfig /flushdns, macOSissa sudo dscacheutil -flushcache, ja selaimen oma välimuisti tyhjenee selaimen sulkemisella tai asetuksista. Tämä ei kuitenkaan vaikuta operaattorin palvelimen välimuistiin, joten se ei aina riitä.
Omaperäinen osio: onko ongelma DNS:ssä vai muualla
Tämä on artikkelin käytännöllisin osa. Kun jokin ei toimi, testaa tässä järjestyksessä. Jokainen vaihe sulkee pois yhden mahdollisuuden.
- Aukeaako jokin toinen sivusto? Jos ei aukea mikään, ongelma on yhteydessä, ei nimipalvelussa. Siirry reitittimen ja operaattorin tarkistuksiin.
- Toimiiko yhteys IP-osoitteella? Jos tiedät palvelun IP-osoitteen ja yhteys avautuu sillä mutta ei nimellä, vika on lähes varmasti DNS:ssä. Tämä on ratkaisevin yksittäinen testi.
- Toimiiko sama sivu toisella laitteella samassa verkossa? Jos toimii, ongelma on yhden laitteen välimuistissa tai asetuksissa. Jos ei toimi, ongelma on verkossa tai nimipalvelimessa.
- Toimiiko sivu puhelimen mobiiliyhteydellä, kun wifi on pois päältä? Jos toimii, kotiverkkosi nimipalvelin tai reititin on syyllinen. Jos ei toimi, palvelu itse on todennäköisesti alhaalla.
- Toimiiko sivu, jos vaihdat nimipalvelimen toiseen? Jos vaihto korjaa asian, edellinen nimipalvelin antoi virheellisen tai vanhentuneen vastauksen.
Oireet ja niiden todennäköisimmät syyt:
| Oire | Todennäköisin syy | Ensimmäinen toimenpide |
|---|---|---|
| Selain sanoo, ettei palvelimen osoitetta löydy | Nimeä ei saada selvitettyä | Tyhjennä välimuisti, kokeile toista nimipalvelinta |
| Vain yksi sivusto ei aukea, muut toimivat | Vanhentunut välimuistivastaus tai sivuston oma vika | Kokeile toisella laitteella ja mobiiliyhteydellä |
| Sivut aukeavat hitaasti mutta aukeavat | Hidas nimipalvelin tai radiotien ongelma | Vertaa mobiiliyhteyteen, lue miksi wifi on hidas |
| Kaikki lakkasi toimimasta VPN:n käynnistyttyä | Nimipalvelu ohjautui tunnelin sisään | Katkaise ja avaa yhteys uudelleen, tarkista asetukset |
| Sivun sisältö on vanha versio | Selaimen sisältövälimuisti, ei DNS | Lataa sivu uudelleen välimuistin ohi |
| Työpaikan sivut eivät aukea kotoa | Sisäverkon nimet eivät näy ulos | Yhdistä työpaikan VPN-yhteyteen |
Huomaa viimeinen rivi. Se on yleisin syy siihen, miksi VPN-yhteys muuttaa DNS:n käyttäytymistä: yhteys ohjaa nimikyselyt yrityksen omalle nimipalvelimelle, joka tuntee sisäiset nimet.
Salattu DNS ja mitä se muuttaa
Perinteinen DNS-kysely kulkee salaamattomana. Sen näkee kuka tahansa, joka pystyy tarkkailemaan liikennettä matkan varrella, ja siitä muodostuu luettelo avaamistasi sivustoista, vaikka itse liikenne olisi salattua.
Salattu DNS korjaa juuri tämän. DNS over HTTPS (DoH) piilottaa kyselyt tavallisen verkkoliikenteen sekaan, ja DNS over TLS (DoT) salaa ne omaan porttiinsa. Molemmat estävät kyselyn lukemisen ja muuttamisen matkalla.
Ne eivät kuitenkaan tee kyselyistä näkymättömiä. Se palvelu, jonka nimipalvelinta käytät, näkee edelleen jokaisen kyselyn. Salattu DNS siis siirtää luottamuksen operaattorilta sille taholle, jonka palvelimen valitset. Tämä on aito valinta eikä automaattinen parannus, ja valinnan seuraukset kannattaa tietää: julkisen nimipalvelun käyttö voi ohittaa operaattorin suodatukset, muuttaa sisällönjakeluverkkojen valintaa ja rikkoa työpaikan sisäiset nimet.
Suodatus, kaappaus ja myrkytys
DNS on kätevä paikka estää asioita, koska nimen selvitys tapahtuu ennen yhteyden avaamista. DNS-pohjainen suodatus tarkoittaa, että nimipalvelin kieltäytyy vastaamasta tiettyihin nimiin tai palauttaa niille virheen. Sillä toteutetaan mainosten esto, haittaohjelmasivustojen esto ja moni kotiverkon lapsilukko.
Suodatuksella on kaksi rajoitusta. Se estää nimen, ei sisältöä, joten suoraan IP-osoitteella otettu yhteys menee läpi. Ja se toimii vain niin kauan kuin laite käyttää sitä nimipalvelinta: selaimen oma salattu DNS voi ohittaa kotiverkon suodattimen kokonaan.
Kaksi hyökkäystapaa kannattaa tunnistaa nimeltä. DNS-kaappauksessa hyökkääjä muuttaa sen, mitä nimipalvelinta laite tai reititin käyttää, ja ohjaa liikenteen valitsemalleen palvelimelle. Välimuistin myrkytyksessä palvelimen välimuistiin syötetään väärä vastaus, jolloin oikea nimi johtaa väärään osoitteeseen. Molempia vastaan auttavat salattu DNS ja tietueiden allekirjoitus (DNSSEC), joka antaa vastaanottajalle keinon tarkistaa, että vastaus on aito.
Julkiset nimipalvelut ja valinnan seuraukset
Oletuksena laite käyttää operaattorin nimipalvelinta. Vaihtoehtoja ovat julkiset palvelut, joita tarjoavat esimerkiksi Cloudflare, Google ja Quad9, sekä kotiverkkoon itse asennettu suodattava palvelin.
Valinnassa on neljä ulottuvuutta: nopeus, luotettavuus, suodatus ja se kenelle kyselysi näkyvät. Operaattorin palvelin on yleensä verkon kannalta lähin. Julkiset palvelut ovat usein nopeita ja vakaita mutta keskittävät tiedon. Suodattava palvelu estää haitallisia nimiä puolestasi mutta päättää samalla, mitä et näe.
Yhtä oikeaa vastausta ei ole. Jos et tiedä mitä valita, operaattorin oletus on toimiva lähtökohta, ja vaihtaminen kannattaa tehdä silloin kun sinulla on siihen konkreettinen syy. Termistön voi tarkistaa digisanastosta.
Usein kysytyt kysymykset
Mistä tiedän, että vika on juuri DNS:ssä?
Selvin merkki on se, että yhteys toimii IP-osoitteella mutta ei nimellä. Toinen vahva merkki on virheilmoitus, jossa lukee ettei palvelimen osoitetta löytynyt. Jos sivu latautuu osittain tai on hidas, kyse on todennäköisesti muusta kuin nimipalvelusta.
Kannattaako DNS-välimuisti tyhjentää säännöllisesti?
Ei. Välimuisti on nopeuden kannalta hyödyllinen, ja vastaukset vanhenevat itsestään TTL:n mukaan. Tyhjennys on vianetsintätoimenpide, jota kannattaa käyttää silloin kun epäilet vanhentunutta vastausta.
Miksi verkkotunnuksen siirto kestää vuorokauden?
Vanha vastaus säilyy välimuisteissa TTL-arvonsa loppuun. Muutos leviää sitä mukaa kuin välimuistit vanhenevat, eikä sitä voi kiirehtiä ulkopuolelta. Siirtoa suunnitteleva laskee TTL:n pieneksi hyvissä ajoin etukäteen.
Piilottaako salattu DNS selaamiseni operaattorilta?
Se piilottaa nimikyselyt, mutta operaattori näkee edelleen, mihin IP-osoitteisiin otat yhteyden. Käytännössä osa sivustoista on siitä pääteltävissä. Salattu DNS on parannus, ei näkymättömyysviitta.
Voiko DNS hidastaa nettiä?
Kyllä, mutta vain sivun avaamisen alussa. Hidas tai kaukainen nimipalvelin lisää jokaiseen uuteen nimeen viivettä. Kun nimi on kerran selvitetty, DNS ei enää vaikuta latausnopeuteen.
Miksi sivusto aukeaa puhelimella mutta ei kannettavalla?
Yleisin syy on laitekohtainen välimuisti tai eri nimipalvelin. Puhelin voi olla mobiiliverkossa ja käyttää operaattorin palvelinta, kannettava taas kotiverkon palvelinta. Vertaa laitteet samassa verkossa, niin saat vastauksen nopeasti.
Kuka hallinnoi fi-päätettä?
Fi-verkkotunnusten rekisteriä ylläpitää Suomessa Liikenne- ja viestintävirasto Traficom. Verkkotunnukset välitetään käyttäjille rekisteröijien kautta, ja Traficom ylläpitää fi-päätteen nimipalvelua.