/etc/hosts
Tietojenkäsittelyssä hosts-tiedostona tunnettu /etc/hosts määrittää Linux ja Unix-järjestelmissä listan paikallisista isäntänimi -> IP-osoite muutoksista. Se on yleensä nimipalvelinta ensisijaisempi lähde nimenmuutostiedoille. Sen mahdollistamana hosts-tiedostoa voidaan käyttää esim. haitta-, shokki-, seuranta- ja mainosverkkotunnuksien torjumiseen, mutta myös tarpeen tullen tietoliikenteen ohjaamiseen toiseen sijaintiin.
Wikipedian artikkeli: hosts
Käyttö
Mikäli haetaan standardikirjaston kutsulla gethostbyname(3) isäntänimeä tux esim. kirjoittamalla selaimen osoitepalkkiin "https://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.
Ei toivottujen verkkotunnusten estäminen
Tilanteen mukaan, joko käytettävän laitteen omaan /etc/hosts-tiedostoon tai vaikkapa kodin lähiverkossa, voi yhden laitteen asettaa verkkotason estolaitteeksi, joka toimii palomuurin tavoin, mutta sen sijaan, että jokainen lähiverkkoon kytketty laite käyttäisi esimerkiksi omaa mainostenesto-lisäosaa, tähän tehtävään erikoistunut laitteen /etc/hosts-tiedosto pitää lähiverkon puhtaana ei toivotusta sisällöstä. Perinteisesti on mahdollista käyttää estolistoja, mutta nykymaailmassa niistä ei erityisesti hyötyä ole. Tällöin on hyvä käyttää ylätason verkkotunnusten estämiseen erikoistunutta ohjelmaa kuten NoTrack[1]].
0.0.0.0 microsoft.com 0.0.0.0 joku-muu-ikävä-sivusto.net
Esimerkkejä
Laitetaan IP-osoitteelle 127.0.0.1 tunnus www.olematon-palvelin.osoite.fi
127.0.0.1 www.olematon-palvelin.osoite.fi
Laitetaan IPv6-osoitteelle 2001:db8::abcd tunnus www.abcd-ipv6.osoite.fi (jos se on julkinen IPv6-osoitteesi)
2001:db8::abcd www.abcd-ipv6.osoite.fi
Laitetaan IP-osoitteelle 185.185.170.96 tunnus l.fi (tämän sivuston IP, tee vaikka jos haluat kirjoittaa vähemmän tekstiä tullessasi muokkaamaan tänne)
185.185.170.96 l.fi
Laitetaan IP-osoitteelle 127.0.0.5 tunnus linux.fi (tämän sivuston verkkotunnus, ei kannata tehdä näin)
127.0.0.5 linux.fi
Laitetaan IP-osoitteelle 192.168.50.3 useita tunnuksia
192.168.50.3 abc.eioikeasivusto.live def.eioikeasivusto.live ghi.eioikeasivusto.live
Ja näin edelleen.
Katso myös
- Isäntänimi (hostname)
- host-komento
- Tcpwrappers (hosts.allow ja hosts.deny)