Hosts file je file koji se koristi za spremanje informacija o tome gdje se koji “node” u nekoj računalnoj mreži nalazi. Ovaj file mapira hostname-ove na IP adrese. Koristi se kao dodatak ili zamjena za DNS na mrežama. Za razliku od DNS-a, nalazi se pod kontrolom korisnika koji koristi računalo.
Što je hosts file?
Nekad davno, postojao je ARPANET (preteča Interneta kakvog danas znamo). On nije imao DNS koji je određivao gdje se nalazi koji “network node”. Zbog nepostojanja centraliziranog sustava za ovu namjenu, svaki “network node” je sadržavao svoju “mapu” drugih “network node-ova”. Imena tih “node-ova” bila su pamtljiva običnom korisniku.
Veličina samog ARPANETA je bila pogodna za korištenje hosts fileova. Najčešći slučaj je da je “network node” imao jednu adresu ali je mogao imati više imena. Kako su individualne TCP/IP mreže postajale sve popularnije, hosts file se je povećavao. Održavanje tog hosts file-a polako postajalo noćna mora svakog sistem administratora.
Lokacije i standardni sadržaj:
Windows NT, 2000, XP, Vista, 7, 8, 10 | %SystemRoot%\system32\drivers\etc\ |
Linux i drugi Unix-oidni operativni sustavi: | /etc |
Mac OS X 10.2 i noviji | /etc/hosts (simbolični link na /private/etc/hosts) |
Android | /etc/hosts (simbolični link na /system/etc/hosts) |
iOS 2.0 i noviji | /etc/hosts (simbolični link na /private/etc/hosts) |
Windows Mobile, Windows Phone | Registry key pod HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts |
%WinDir% i %SystemRoot% su putanje do windows foldera
U Windowsima, standardni hosts file je u većini slučajeva prazan ili sadrži neaktivne (zakomentirane) linije od kojih je zadnja:
127.0.0.1 localhost
Primjer tipičnog hosts file-a na Windows računalu:
------------------------------------------------------------------
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
127.0.0.1 localhost #Primjer: 89.201.164.100 plus.hr www.plus.hr #Dakle, prva stvar što radimo je da upišemo IP adresu servera, u našem #slučaju, IP adresa servera na kojem se nalazi www.plus.hr je #89.201.164.100. # Nakon toga upisujemo plus.hr i www.plus.hr . #To govori računalu da se i http://plus.hr i http://www.plus.hr nalaze na #ip adresi 89.201.164.100 . # Tekst ispred kojeg se nalazi znak "#" govori računalu da je ta linija #zakomentirana i neće biti uzeta u obzir prilikom pretraživanja file-a. ---------------------------------------------------------------
Na isti način se dodaju stavke na linux strojevima.
Zašto je dobro koristiti hosts file?
Situacija 1:
Zamislite ovu situaciju! Imate domenu i web stranice kod nekog hosting providera. Razvijate i nove stranice na Vašem računalu (lokalno) na koji ste instalirali neki od web servera ( Apache, IIS, itd…). Želite kada u Vaš internet browser upišete ime Vaše domene, da se domena otvara sa Vašeg računala, a ne sa servera od Vašeg hosting providera.
Situacija 2:
Mijenjate hosting providera i prije same promjene name servera Vaše domene se želite uvjeriti da će Vaše web stranice raditi savršeno na serverima novog hosting providera. U hosts file upišete IP adresu novog servera i ime Vaše domene, kao što je napisano u gornjem primjeru. Upisivanjem imena Vaše domene u internet browser, stranice se otvaraju s novog servera (novog hosting providera), a ne sa servera koji je određen DNS-om.
Ako koristite hosts file za testiranje nemojte zaboraviti ukloniti ili zakomentirati testnu liniju prije pristupanja “živom” serveru. Ova linija utječe i na mail klijente, ftp, web te sve ostale programe koji pokušavaju pristupiti vašoj domeni.
Postoje li neka ograničenja u korištenju hosts file-a?
- Nije dopušteno koristiti “wildcards” domain unose, prepoznaje samo puno ime domene.
- Direktoriji i fajlovi na nekom sajtu nisu podržani !
Primjer:
89.201.164.100 plus.hr www.plus.hr – je ispravan unos.
89.201.164.100 plus.hr/domene/ www.plus.hr/domene/ – je neispravan unos.
Budući da je hosts tekstualni file, bilo kakvo čitanje, pisanje ili kreiranje bi trebalo biti izvršeno s Notepadom ili nekim drugim text editorom. Ako Vaše računalo nema kreiran hosts file, možete koristiti Notepad da biste ga kreirali. Kada ga kreirate, pobrinite se da ga spremite bez ekstenzije.
Da biste ga spremili bez dodatnih ekstenzija (Notepad automatski dodaje .txt ekstenziju) spremite taj file kao : “hosts” – s upisanim navodnicima.
Ako hosts file već postoji na Vašem računalu, on će biti automatski pregledan tijekom korištenja bilo kojeg procesa koji koristi TCP/IP komunikaciju. Pretraga hosts filea se vrši prije bilo kojeg pokušaja kontaktiranja DNS-a.
Browseri, a i sam OS kešira postavke. U Windows OS po promjeni otiđite u command prompt i otipkajte:
ipconfig /flushdns
i zatvorite i ponovno browser.