GNU/Linux >> Belajar Linux >  >> Linux

Format /etc/hosts di Linux (berbeda dengan Windows?)

Format /etc/hosts di Linux dan Windows adalah sama:

IP address        hostname [hostalias]...

di mana tanda kurung adalah cara biasa untuk menunjukkan bahwa ada sesuatu yang opsional (tidak benar-benar mengetiknya) dan titik (... ) artinya bisa lebih dari satu.

Anda tidak harus menjadikan host Anda bagian dari domain. Cobalah dan lihat. Tapi sebaiknya gunakan .localdomain jika Anda tidak memiliki nama domain asli. Itu dapat membuat resolusi nama host sedikit lebih cepat karena ndots opsi di /etc/resolv.conf .

Perhatikan bahwa dalam pengertian ini, domain berarti domain DNS (seperti google.com atau stackexchange.com ), bukan domain Windows atau semacamnya.

Baris dimulai dengan ::1 adalah untuk IPv6. ::1 seperti 127.0.0.1 di bawah skema pengalamatan baru. Jalankan ifconfig lo dan Anda akan melihatnya memiliki dua alamat. Perhatikan entri yang dimulai dengan inet6 .

$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
...

Lihat halaman manual host(5) untuk detail lebih lanjut.


Anda selalu ingin alamat 127.0.0.1 diselesaikan terlebih dahulu ke localhost. Jika ada domain, Anda juga dapat menggunakannya, tetapi pastikan localhost terdaftar kedua. Jika Anda ingin menambahkan alias untuk mesin Anda yang akan mencari alamat loopback, Anda dapat terus menambahkannya sebagai nilai yang dipisahkan spasi pada baris tersebut. Menentukan domain di sini bersifat opsional, tetapi jangan hapus "localhost" dari opsi.


Saya tidak dapat berbicara tentang perbedaan Windows dari Linux, tetapi format definisi mesin lokal memengaruhi hasil yang akan Anda peroleh dari perintah 'hostname'.

Format yang menurut saya berfungsi paling baik secara konsisten adalah ini:

127.0.0.1 etest.mydomain.com etest localhost

Hal penting yang saya temukan adalah memiliki FQDN terlebih dahulu dan alias, dalam urutan apa pun, setelahnya.

Jika Anda bereksperimen dengan mengatur ulang nama setelah alamat IP dan kemudian menggunakan perintah 'hostname -s' (nama pendek) dan 'hostname -f' (nama domain yang memenuhi syarat atau FQDN), Anda akan mengerti maksud saya. Seharusnya terlihat seperti ini:

$ hostname -s
etest

$ hostname -f
etest.mydomain.com

'hostname' dengan sendirinya harus mengembalikan nama apa pun yang Anda masukkan untuk host di /etc/conf.d/hostname atau /etc/hostname (lokasi file bervariasi berdasarkan distribusi, tetapi harus ditemukan di bawah /etc di suatu tempat).

Jika Anda mengubah urutan nama Anda mungkin menemukan bahwa "hostname -f" memberi Anda respons seperti "localhost" atau "hostname:kesalahan sistem". Satu-satunya pengaturan yang menurut saya berfungsi dengan benar adalah mengutamakan FQDN.

Saya selalu menyetel baris alamat lokal IPv6 (::1) dengan cara yang sama, yaitu:

::1 etest.mydomain.com etest localhost

Saya tahu beberapa distribusi menyetel nama IPv6 menjadi sesuatu seperti ip6-localhost. Saya belum benar-benar menggunakan IPv6, jadi tidak dapat berkomentar tentang pengaturan terbaik untuk baris ini. Saya hanya dapat mengatakan bahwa dalam jaringan IPv4 berfungsi untuk memiliki kedua baris dengan nama yang sama.


Linux
  1. Batasi Akses Ke Server Linux Menggunakan Pembungkus TCP

  2. Pada Sistem Apa //foo/bar Berbeda Dari /foo/bar?

  3. Sertakan Nama Domain Atau Tidak Di /etc/hosts?

  1. Linux – Ekstrak Tanggal Dari /etc/shadow?

  2. CentOS / RHEL :Cara Memulihkan dari file /etc/passwd yang dihapus

  3. bagaimana cara memodifikasi /etc/hosts dari skrip shell?

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Buat File Host Khusus Pengguna Untuk Melengkapi /etc/hosts?

  3. Batas Ukuran /etc/hosts (Linux)