Opsi file host di ubuntu. Cara mengatur host virtual di Ubuntu atau Debian

Sebuah fitur yang sedikit diketahui yang disebut file host dapat digunakan untuk memodifikasi sistem Anda agar sesuai dengan kebutuhan Anda. Apakah Anda perlu membuat pintasan, memblokir situs web, atau apa pun, Anda dapat melakukan semuanya dengan file host.

Tapi bagaimana membuat perubahan di dalamnya? Di sini, kami akan memandu Anda melalui cara dan memberikan beberapa contoh penggunaan sehingga Anda dapat segera mulai menggunakan file tersebut.

Apa itu file host?

Dalam bahasa sederhana, file host sederhana berkas teks yang digunakan oleh sistem operasi apa pun untuk menerjemahkan nama host ke alamat IP. Saat Anda mengetikkan nama host - seperti facebook.com atau myubuntu.ru - sistem Anda akan memeriksa file host untuk mendapatkan alamat IP yang diperlukan untuk terhubung ke server yang sesuai. Tetapi jika Anda membuka file ini di komputer Anda, Anda akan segera menemukan bahwa direktori semua situs Internet tidak disimpan di sana. Mungkin hanya ada beberapa baris dan tidak lebih. Sistem Anda selalu memeriksa file host terlebih dahulu, dan apa pun yang tidak ditentukan di dalamnya akan ditemukan di server DNS yang ditentukan dalam pengaturan jaringan Anda (biasanya ISP Anda).


Tetapi ini juga berarti bahwa Anda dapat menggunakan file Hosts untuk menambahkan alamat ke dalamnya yang tidak dapat disediakan oleh server DNS (misalnya, dapat berupa alias untuk berbagai lokasi di jaringan rumah Anda, yang jika tidak, hanya akan tersedia jika Anda memiliki server DNS sendiri diinstal dan dikonfigurasi pada jaringan lokal Anda), atau untuk melewati alamat IP yang disediakan oleh server DNS default Anda.

Misalnya, jika Anda meminta browser untuk membuka facebook.com, server DNS akan mengembalikan alamat IP Facebook ke komputer Anda. Tetapi jika Anda tiba-tiba ingin memblokir Facebook di komputer Anda, Anda dapat menambahkan entri ke file host yang akan memberi tahu komputer Anda bahwa semua permintaan ke facebook.com perlu dialihkan ke beberapa alamat IP lain yang berbeda dari alamat IP asli. . Facebook. Untuk memblokir ini jaringan sosial, Anda cukup menulis terjemahan permintaan di facebook.com ke alamat IP 127.0.0.1, yang akan selalu kembali ke sistem Anda. Ada banyak hal yang dapat Anda lakukan dengan file ini, dan ini hanyalah contoh paling sederhana - semuanya tergantung pada keinginan dan kebutuhan Anda.

Cara mengedit file host

Pada sistem operasi Linux, Anda dapat menemukan file hosts di /etc/hosts. Karena ini adalah file teks biasa, Anda bisa menggunakan file biasa editor teks(tidak masalah apakah itu terminal atau grafis). Sayangnya, hanya ada satu alat grafis yang menyediakan manajemen parsial dari file host, dan itu adalah aplikasi Pemblokir Domain Linux Mint.

Program ini bekerja dengan menambahkan entri ke file host Anda yang mengarahkan ulang domain yang Anda tentukan ke 127.0.0.1 - yaitu, ke komputer Anda. Apa pun itu, hanya ini yang dapat Anda lakukan dengan Pemblokir Domain - semua penggunaan lain dari file host mengharuskan Anda mengedit file secara manual dengan editor teks.


Karena tuan rumah adalah file sistem, Anda memerlukan hak administratif untuk menyimpan perubahan ke file ini. Namun, Anda dapat mengeditnya dengan perintah terminal seperti sudo nano /etc/hosts atau gksu gedit /etc/hosts. Anda perlu menggunakan terminal agar Anda dapat menjalankan aplikasi yang diperlukan dengan hak administratif... Anda juga dapat mengganti nano atau gedit dengan perintah untuk meluncurkan editor teks favorit Anda. Setelah selesai mengedit file dalam nano, Anda dapat menekan Ctrl + X lalu y untuk mengonfirmasi perubahan penimpaan

Bagaimana memahami format isi file host?

Dalam file host, setiap entri berada pada barisnya sendiri. Untuk tujuan artikel ini, Anda dapat menggunakan sintaks yang sangat sederhana - Anda mengetikkan alamat IP yang ingin Anda alihkan nama host (domain), lalu karakter tab dan domain sebenarnya. Misalnya untuk memblokir Facebook, Anda bisa masuk ke 127.0.0.1facebook.com, di mana menekan tombol Tab pada keyboard Anda. Untuk memastikan inputnya benar, Anda juga dapat melihat tangkapan layar dan membandingkannya dengan apa yang ada di file Anda.


Mari kita beri contoh lain menggunakan fitur ini. Misalnya, jika Anda memiliki komputer di jaringan rumah Anda (misalkan alamat IP-nya adalah 192.168.1.10) menjalankan situs web sederhana yang melakukan sesuatu yang berguna bagi Anda. Anda dapat memasukkan yang berikut ini ke dalam file host: 192.168.1.10homeserver. Sekarang, jika Anda membuka browser Anda dan cukup ketik http: // homeserver ke dalam address bar, maka secara otomatis akan menampilkan isi dari host 192.168.1.10 kepada Anda. Ini jauh lebih mudah daripada mengetik alamat IP setiap saat.

Potensi masalah

Satu-satunya masalah yang saya temui terkait dengan pengoperasian browser Chrome. Itu cenderung mengabaikan file host kecuali Anda melakukan setidaknya satu dari dua hal yang mungkin:

  • letakkan http: // di depan setiap alamat. Misalnya, jika Anda memblokir Facebook melalui file host, Chrome akan melewati pemblokiran jika Anda cukup memasukkan facebook.com ke bilah alamat. Jika Anda masuk

Sistem nama domain DNS digunakan untuk menentukan IP mana yang termasuk dalam domain yang benar di Internet. Ketika program apa pun perlu mengakses situs dengan nama domainnya, sistem operasi mengirimkan permintaan ke server DNS untuk mengetahui IP mana yang harus digunakan untuk mengirim paket lebih lanjut. Tapi ini tidak selalu terjadi. Misalnya, ketika kita mengakses domain localhost, permintaan selalu dikirim ke komputer lokal kita.

Seluruh alasannya adalah file host. Jika Anda pernah menggunakan Windows sebelumnya, Anda mungkin pernah mendengar file semacam itu. Di sana itu paling sering digunakan untuk memblokir akses ke sumber daya dengan cepat. Namun penerapannya jauh lebih luas. Pada artikel ini, kita akan melihat cara mengatur file host di Linux, serta fitur apa yang diberikannya kepada kita.

Sebelum kita beralih ke file host itu sendiri, kita perlu memahami bagaimana pencarian alamat IP untuk nama domain dilakukan di Linux. Saya mengatakan bahwa sistem operasi segera mengirimkan permintaan ke server DNS, tetapi ini tidak sepenuhnya benar. Ada urutan pencarian khusus yang sesuai dengannya. Urutan ini diatur dalam file konfigurasi /etc/nsswitch.conf

cat /etc/nsswitch.conf

Di sini kita tertarik pada garis host. Ini daftar dalam urutan prioritas layanan yang digunakan untuk menemukan alamat IP untuk nama domain. Item file berarti menggunakan file /etc/hosts, dan dns berarti layanan nama domain Internet. Jika file berada sebelum host, ini berarti sistem akan mencoba mencari domain terlebih dahulu di /etc/hosts, dan baru kemudian oleh DNS. Ini adalah kasus secara default.

Mengkonfigurasi file host di Linux

File yang kita butuhkan terletak di direktori /etc/. Untuk membukanya, Anda dapat menggunakan editor teks apa pun, baik di baris perintah maupun di antarmuka grafis, hanya Anda perlu membukanya dengan hak pengguna super. Misalnya dengan vim:

sudo vi / etc / hosts

sudo gedit /etc/hosts

Sintaks file cukup mudah. Ini berisi beberapa baris dengan nama domain dan alamat IP yang akan digunakan untuk mereka. Masing-masing terlihat seperti ini:

ip_address domain alias

Biasanya, baris pertama membuat aturan untuk mengarahkan semua permintaan ke domain localhost ke alamat IP lokal - 127.0.0.1:

127.0.0.1 localhost

File ini juga berisi pengalihan untuk nama komputer Anda dan untuk alamat IPv6 secara default. Anda dapat membuat pengaturan sendiri untuk domain yang diinginkan. Untuk melakukannya, tambahkan baris di akhir file..0.0.1:

127.0.0.1 situs

Harap dicatat bahwa hanya domain yang ditunjukkan di sini, tidak ada protokol. Anda tidak perlu menentukan awalan http atau https, jika tidak, tidak akan ada yang berhasil. Tetapi untuk subdomain www, Anda perlu membuat entri terpisah atau menuliskannya sebagai alias. Sebagai contoh:

127.0.0..situs

Sekarang, ketika meminta domain, situs akan membuka IP lokal kita. Untuk mengembalikan akses ke sumber daya asli, cukup hapus baris yang ditambahkan. Tetapi Anda tidak hanya dapat menggunakan alamat lokal, tetapi yang lain. Ini sangat nyaman jika Anda baru saja mendaftarkan domain dan zona domain belum diperbarui, dan Anda sudah ingin bekerja dengan situs baru. Cukup tambahkan data ke /etc/hosts dan bekerja seperti biasa.

kesimpulan

Dalam artikel singkat ini, kita telah membahas bagaimana konfigurasi DNS dilakukan melalui file host Linux. Seperti yang Anda lihat, dengan bantuannya Anda dapat memblokir akses ke sumber daya yang tidak diinginkan, misalnya, program mana yang tidak boleh mendapatkan akses, dan juga menggunakannya dalam pekerjaan webmaster.

tentang Penulis

Pendiri dan administrator situs, saya menyukai perangkat lunak sumber terbuka dan sistem operasi Linux. Saat ini saya menggunakan Ubuntu sebagai OS utama saya. Selain Linux, saya tertarik dengan segala sesuatu yang berhubungan dengan teknologi Informasi dan ilmu pengetahuan modern.

Ada satu file di komputer Anda yang berfungsi sebagai gerbang kecil antara Anda dan web. Ini disebut file host. Jika Anda perlu memblokir situs web atau membuat pintasan web yang dipersonalisasi di Linux, Anda dapat menangani pekerjaan ini dengan menambahkan atau mengubah beberapa baris di file host.

Apa File Host Linux?

File host adalah file teks biasa yang digunakan semua sistem operasi untuk menerjemahkan nama host (juga dikenal sebagai alamat web atau URL) menjadi alamat IP. Saat Anda mengetikkan nama host, seperti wikipedia.org, sistem Anda akan melihat file host untuk mendapatkan alamat IP yang diperlukan untuk terhubung ke server yang sesuai.

Jika Anda membuka file host, Anda akan segera menyadari bahwa itu tidak memiliki direktori seluruh internet di sana. Sebaliknya, mungkin hanya ada beberapa baris dan hanya itu. Apa yang memberi?

Ternyata, sistem Anda akan memeriksa file host terlebih dahulu sebelum mencari situs di Dengan hilangnya DynDNS, berikut adalah penyedia, layanan, dan alternatif DNS dinamis gratis terbaik untuk menggantikannya.(biasanya server DNS ISP Anda).

Ini berarti Anda dapat menggunakan file host untuk menambahkan apa yang tidak dapat disediakan oleh server DNS (seperti alias untuk lokasi di jaringan lokal Anda, yang jika tidak, hanya mungkin jika Anda memiliki server DNS yang diatur dalam jaringan lokal Anda) atau menimpa alamat IP yang biasanya disediakan oleh server DNS Anda.

Misalnya, jika Anda meminta wikipedia.org, server DNS akan mengembalikan alamat IP Wikipedia ke komputer Anda. Tetapi jika Anda ingin memblokir Wikipedia di komputer itu, Anda dapat menambahkan entri di file host yang memberi tahu komputer Anda bahwa wikipedia.org menunjuk ke beberapa alamat IP lain yang berbeda dari alamat IP Wikipedia yang sebenarnya.

Ada banyak hal lain yang dapat Anda lakukan dengan file host, tetapi ini hanyalah beberapa contoh dasar dan kegunaan lain sangat bergantung pada kebutuhan Anda.

Lokasi File Host Linux

Di Linux, Anda dapat menemukan file hosts di bawah /etc/hosts. Karena ini adalah file teks biasa, Anda dapat membuka file host menggunakan editor teks pilihan Anda.

Namun, karena file host adalah file sistem, Anda memerlukan hak administratif untuk menyimpan perubahan. Jadi untuk mengedit file menggunakan editor teks berbasis terminal Linux seperti nano, Anda harus mengetikkan sudo terlebih dahulu untuk mendapatkan akses pengguna super:

Sudo nano / etc / hosts

Untuk menggunakan editor teks grafis seperti gedit, Anda dapat mencoba gksu sebagai gantinya:

gksu gedit /etc/hosts

Anda harus menggunakan terminal sehingga Anda dapat meluncurkan aplikasi yang sesuai dengan hak administratif. Cukup ganti nano atau gedit dengan editor teks berbasis terminal atau grafis favorit Anda. Dengan nano, setelah Anda selesai mengedit file, tekan Ctrl + X, lalu kamu untuk mengonfirmasi penimpaan perubahan.

Cara Menambahkan Situs ke File Host

Dalam file host, setiap entri memiliki barisnya sendiri. Sintaksnya sederhana. Ketik alamat IP yang Anda inginkan untuk diterjemahkan oleh nama host, tekan tombol tab pada keyboard Anda, lalu ketikkan nama host.

Misalnya, untuk memblokir Wikipedia, Anda mengetik (ingat untuk menggunakan tombol tab daripada bilah spasi):

127.0.0.1 wikipedia.org

127.0.0.1 adalah alamat IP loopback yang akan selalu mengarah kembali ke sistem Anda sendiri. Karena web tidak disimpan di mesin Anda, browser Anda akan mengatakan bahwa situs tersebut tidak dapat ditemukan. Sekarang secara efektif diblokir.

Jika Anda merasa terintimidasi oleh terminal, periksa aplikasi Pemblokir Domain Linux Mint (juga dikenal sebagai mintnanny). Ini akan menambahkan entri ke file host yang mengarahkan nama host yang Anda tentukan ke 127.0.0.1. Tetapi untuk melakukan hal lain, Anda masih perlu melakukan perubahan dengan editor teks.

Buat Pintasan di File Host

Jika Anda memiliki komputer di jaringan rumah Anda (misalnya dengan alamat IP 192.168.1.10) yang memiliki situs web sederhana yang melakukan sesuatu yang berguna untuk Anda, Anda dapat mengetikkan yang berikut di file host Anda:

192.168.1.10 server rumah

Kemudian, jika Anda membuka browser dan mengetikkan http: // homeserver, maka secara otomatis akan dialihkan ke 192.168.1.10. Dan itu jauh lebih mudah daripada mengetikkan alamat IP setiap saat.

Atau, Anda dapat menggunakan file host untuk membuat pintasan ke situs tertentu di web. Gunakan perintah seperti nslookup untuk menemukan alamat IP situs web, lalu tambahkan ke file host Anda di samping pintasan yang diinginkan, seperti pada contoh di atas. Tetapi ini hanya berfungsi di situs web dengan alamat IP khusus. Ini mungkin tidak akan berfungsi dengan sebagian besar situs yang Anda kunjungi.

Potensi Masalah Dengan File Host

Jadi kami telah menetapkan cara membuat perubahan pada file host, tetapi Anda mungkin masih mengalami masalah saat menggunakan Google Chrome. Browser web ini cenderung mengabaikan file host kecuali Anda melakukan salah satu dari dua kemungkinan berikut:

  1. Ketik http: // di awal setiap alamat. Misalnya, jika Anda memiliki Wikipedia yang diblokir di file host, maka Chrome akan menghindari pemblokiran tersebut jika Anda cukup mengetikkan wikipedia.com di bilah alamat. Jika Anda mengetik http://wikipedia.com ke dalam bilah alamat, itu akan mengikuti file host.
  2. Nonaktifkan "Gunakan layanan web untuk membantu menyelesaikan kesalahan navigasi" di pengaturan Chrome dan kemudian Anda tidak perlu mengetik http: // di awal setiap saat. Ini adalah salah satu Menggunakan Chromebook, tetapi khawatir tentang privasi? Tweak 7 pengaturan ini di browser Chrome di Chrome OS agar tetap aman saat online. layak dilakukan bagaimanapun juga.

JUDUL
host - tabel statis untuk mengonversi alamat IP ke
nama mesin

SINTAKSIS
/ etc / host

KETERANGAN
Halaman ini berisi deskripsi format file
/ etc / host. File ini berisi teks yang menjelaskan
korespondensi alamat IP dan nama mesin (satu alamat di
garis). Untuk setiap mesin, satu baris harus
informasi berikut hadir:

IP_address canonical_name alias

Bidang catatan ini dipisahkan satu sama lain oleh spasi dan / atau
tab. Teks dimulai dengan karakter "#" sampai akhir
baris dianggap sebagai komentar dan diabaikan. Nama mesin
dapat berisi karakter apa pun yang dapat dicetak kecuali pemisah
bidang, karakter baris baru, atau karakter komentar.
Alias ​​​​dimodifikasi, alternatif,
bentuk singkat atau umum dari nama mesin (misalnya,
host lokal). Format tabel hostname dijelaskan dalam RFC 952.

Berkeley Internet Domain Name Server (BIND) berisi:
Server nama internet untuk mesin UNIX. Ini menggantikan file
/ etc / hosts atau pencari mesin dan membebaskan mesin
dari kebutuhan untuk mengisi file secara rinci
/ etc / host.

Terlepas dari kenyataan bahwa fungsi tabel ini telah dilakukan untuk waktu yang lama
DNS, masih digunakan untuk

Sistem booting.
Banyak sistem memiliki tabel nama kecil
mesin yang berisi informasi tentang nama dan alamat
mesin penting di jaringan lokal. Ini berguna dalam hal itu
jika DNS tidak berfungsi, misalnya, jika
boot sistem.

Situs NIS NIS menggunakan tabel nama
mesin sebagai sumber informasi untuk pangkalan
dari mesin NIS ini. Meskipun NIS mungkin
bekerja dengan DNS, banyak situs NIS menggunakan
tabel nama mesin dengan string untuk semua mesin
jaringan lokal sebagai jaring pengaman.

Node terisolasi
Situs kecil tidak terhubung ke jaringan global,
gunakan tabel nama host alih-alih DNS. Jika
informasi lokal jarang berubah, dan jaringan tidak
terhubung ke internet, DNS hampir tidak diperlukan.

CONTOH
127.0.0.1 localhost
192.168.1.10 foo.mydomain.org foo
192.168.1.13 bar.domainsaya.org bar
216.234.231.5 master.debian.org master
205.230.163.103 www.opensource.org

REFERENSI SEJARAH
Sebelum pengenalan DNS, tabel nama mesin adalah satu-satunya
sarana untuk mengubah nama mesin menjadi alamat di
jaringan internet yang terus berkembang. Sebenarnya, file ini
dibuat berdasarkan database resmi mobil,
dipertahankan di Pusat Kontrol Informasi Jaringan
(NIC) serta perbaikan lokal yang mengandung
alias tidak resmi dan/atau informasi tentang yang tidak diketahui
mobil. NIC tidak lagi mendukung file hosts.txt,
Namun, pada saat penulisan ini (sekitar tahun 2000)
ada file hosts.txt lama di WWW. Mereka
ditemukan; tanggal penempatan mereka adalah 92, 94 dan 95.

Saya ingin memberi tahu Anda tentang beberapa cara non-standar yang dengannya Anda dapat membuka situs di browser menggunakan nama pendek. Misalnya, alih-alih mengetik "yandex.ru" di browser, Anda cukup mengetik satu huruf "y". File /etc/hosts akan membantu kami dalam hal ini.

/ Etc / file host

File / etc / hosts mengatur korespondensi antara alamat IP dan nama host (nama host, domain), serta alias mereka (juga disebut sinonim, alias). Ketika Anda mengakses alamat apa pun di jaringan, misalnya, http://yandex.ru, maka untuk mengakses situs, sistem harus terlebih dahulu mengonversi alamat situs ke alamat IP yang sesuai, untuk ini sistem meminta alamat IP dari server DNS... Jika korespondensi antara yandex.ru dan alamat IP ditulis dalam file / etc / hosts, maka sistem akan menggunakan alamat IP khusus ini. Dan karena kami juga dapat menentukan alias di file / etc / hosts yang akan menyediakan alamat IP tertentu, kami dapat menentukan, misalnya, untuk yandex.ru alias "y". Dengan demikian, ketika Anda menanyakan "y" di browser Anda, sistem akan membaca alamat IP di file / etc / hosts dan membuka situs web yandex.ru. Artinya, /etc/hosts adalah sejenis server DNS lokal.

Cara mengetahui alamat IP suatu situs

Sekarang kita perlu menentukan alamat IP dari situs yang ingin kita tambahkan ke /etc/hosts. Perlu dicatat bahwa tidak semua situs memiliki alamat IP khusus yang terpisah dan tidak mungkin untuk mengaksesnya hanya dengan alamat IP. Tetapi hampir semua situs dan portal besar memiliki alamat IP khusus mereka sendiri. Cara mudah untuk mengetahui alamat IP suatu situs adalah dengan menggunakan perintah ping:

Ping situs-url.

Misalnya, mari kita jalankan:

ping yandex.ru

Proses ping akan ditampilkan di layar (untuk membatalkan tekan Ctrl + C). Jadi, kita mendapatkan output dari perintah ping dalam bentuk:

PING yandex.ru (87.250.250.11) 56 (84) byte data. 64 byte dari yandex.ru (87.250.250.11): icmp_seq = 1 ttl = 57 waktu = 3,57 ms ...

Di sini Anda dapat melihat bahwa yandex.ru sesuai dengan alamat IP 87.250.250.11. Demikian pula, kami melakukan untuk situs lain.

Mengedit file /etc/hosts

Anda harus berhati-hati saat mengedit file / etc / hosts agar tidak merusak apa pun, karena ini adalah file sistem dan penting untuk tidak merusak sintaksnya. Buka file untuk diedit, untuk melakukan ini, jalankan di baris perintah:

Sudo gedit / etc / hosts

Isi file terlihat seperti ini:

127.0.0.1 localhost :: 1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # Baris berikut ini diinginkan untuk host berkemampuan IPv6 :: 1 localhost ip6-localhost ip6-loopback fe00 :: 0 ip6-localnet ...

Sintaks untuk file /etc/hosts sangat sederhana:

Nama host alamat IP [alias, ...]

Mari tambahkan baris baru ke file untuk situs yang berbeda:

74.125.232.19 google.ru g 94.100.191.203 mail.ru m 194.186.36.211 rbc.ru r 87.250.250.11 yandex.ru y

Simpan dan tutup file. Kami telah mendaftarkan korespondensi antara alamat IP, nama situs dan alias mereka. Sekarang buka browser dan di bilah alamat cukup masukkan "g", situs google.ru akan terbuka. Untuk membuka mail.ru cukup masukkan "m", untuk rbc.ru - cukup "r", yandex.ru - "y".