File /etc/hosts
dimulai di masa lalu DARPA sebagai file resolusi untuk semua host yang terhubung ke internet (sebelum DNS ada). Ini memiliki prioritas maksimum, artinya file ini lebih disukai daripada sistem nama lainnya. 1
Namun, sebagai satu file, itu tidak skala dengan baik: ukuran file menjadi terlalu besar segera. Itulah sebabnya sistem DNS dikembangkan, sistem nama terdistribusi hierarkis. Ini memungkinkan setiap host untuk menemukan alamat numerik dari beberapa host lain secara efisien.
The sangat konsep lama dari /etc/hosts
file yang sangat sederhana, hanya alamat dan nama host:
127.0.0.1 localhost
untuk setiap baris. Itu adalah daftar sederhana dari pasangan host-alamat.2
Penggunaan utamanya saat ini adalah untuk memotong resolusi DNS. Kecocokan yang ditemukan dalam /etc/hosts
file akan digunakan sebelum entri DNS apa pun. Bahkan, jika nama yang dicari (seperti localhost
) ditemukan dalam file, tidak ada resolusi DNS yang akan dilakukan sama sekali.
1 Nah, urutan resolusi nama sebenarnya didefinisikan /etc/nsswitch.conf
, yang biasanya memiliki entri ini:
hosts: files dns
yang berarti "coba file (/etc/hosts
); dan jika gagal, coba DNS."
Tetapi perintah itu dapat diubah atau diperluas.
2 (di masa sekarang) File host berisi baris teks yang terdiri dari alamat IP di bidang teks pertama diikuti oleh satu atau lebih nama host. Setiap bidang dipisahkan oleh ruang putih - tab sering disukai karena alasan historis, tetapi ruang juga digunakan. Baris komentar dapat dimasukkan; mereka ditunjukkan oleh octothorpe (#) di posisi pertama dari baris tersebut. Baris yang sepenuhnya kosong dalam file diabaikan. Misalnya, file host biasa mungkin berisi yang berikut ini:
127.0.0.1 localhost loopback
::1 localhost localhost6 ipv6-localhost ipv6-loopback mycomputer.local
192.168.0.8 mycomputer.lan
10.0.0.27 mycomputer.lan
Contoh ini berisi entri untuk alamat loopback sistem dan nama host mereka, baris pertama adalah konten default khas dari file host. Baris kedua memiliki beberapa nama tambahan (mungkin hanya valid dalam sistem lokal). Contoh tersebut menggambarkan bahwa alamat IP mungkin memiliki beberapa nama host (localhost dan loopback), dan bahwa nama host dapat dipetakan ke alamat IP IPv4 dan IPv6, seperti yang ditunjukkan pada baris pertama dan kedua. Satu nama (mycomputer.lan
) dapat menyelesaikan ke beberapa alamat ( 192.168.0.8 10.0.0.27
). Namun, dalam kasus itu, mana yang digunakan tergantung pada rute (dan prioritasnya) yang ditetapkan untuk komputer.
Beberapa OS yang lebih tua tidak memiliki cara untuk melaporkan daftar alamat untuk nama yang diberikan.