Hosts

Linux.fista
Versio hetkellä 14. helmikuuta 2010 kello 16.57 – tehnyt Ordyh (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun

Tiedosto /etc/hosts määrittää Linux ja Unix-järjestelmissä listan paikallisista isäntänimi -> IP-osoite muutoksista. Se on nimipalvelinta ensisijaisempi lähde nimenmuutostiedoille.

Esimerkki

Mikäli haetaan standardikirjaston kutsulla gethostbyname(3) isäntänimeä tux esim. kirjoittamalla selaimen osoitepalkkiin "http://tux/esimerkki.html", standardikirjasto tutkii ensimmäiseksi /etc/hosts -tiedoston. Jos se sisältää rivin:

10.3.0.1       tux

ei DNS-palvelimelle tehdä lainkaan kyselyä, vaan isäntänimeen liittyvä IP-osoite (10.3.0.1) katsotaan ratkaistuksi (engl. resolved). Standardikirjastokutsu palauttaa osoitteen 10.3.0.1 selaimelle, joka taas avaa osoitteeseen pistokkeen, ja lähettää HTTP-pyynnön tiedostosta "/esimerkki.html".

Palvelimen nimi "tux" päätyy myös HTTP-protokollan Host-kenttään, jolloin osoitteessa 10.3.0.1 sijaitseva palvelin ei voi lainkaan tietää, saiko käyttäjän selain palvelimen IP:n paikallisesta hosts-tiedostosta vaiko joltain nimipalvelimelta. Tätä voidaan käyttää ohjaamaan jokin aito Internet-sivu (esim. www.torkya.fi tai www.pankki.fi) virheelliseen osoitteeseen, joka avaa myös mahdollisuuden esim. erittäin yksinkertaiseen (ja kierrettävään) verkkosivuston käytön estoon, mutta myös käyttäjän harhauttamiseen, jota voidaan hyödyntää esim. tietomurrossa, mikäli murtautuja on saanut hankittua root-oikeuden.

Yleinen sisältö

Yleensä /etc/hosts sisältää ainakin seuraavat rivit:

127.0.0.1       localhost
127.0.0.1       <oma isäntänimi>

Ja lisäksi IPv6-yhteensopivissa järjestelmissä:

::1     localhost ip6-localhost

Nämä rivit saavat koneen oman isäntänimen ja erityisnimen localhost osoittamaan IP-osoitteeseen 127.0.0.1 (::1 IPv6:ssa), joka viittaa aina paikalliseen koneeseen.