Di / etc / hostname, saya punya myname
.
Di / etc / hosts, saya punya:
127.0.0.1 localhost.localdomain localhost myname
::1 localhost.localdomain localhost myname
Saya memiliki pemahaman yang kabur tentang apa sebenarnya nama host dan untuk apa digunakan.
Pertanyaan yang lebih tepat ini dapat membantu saya untuk memahaminya dengan lebih baik:
Apa nama host saya pada contoh di atas?
myname
atau sesuatu yang lain? Jika saya malahmyname.domain.com
masuk/etc/hostname
, apa nama host saya yang sebenarnya?Pada contoh, perintah
hostname
kembalimyname
, sedangkan perintahhostname -f
kembalilocalhost.localdomain
. Saya ada dalam pikiran bahwa/etc/hosts
itu hanya pemetaan antara nama dan alamat ip. Tampaknya melayani fungsi lain di sini. Apa itu fqdn dan untuk apa fqdn digunakan? Bagaimana cara diambil? Kenapa begitulocalhost.localdomain
?Jika saya malah
myname.domain.com
masuk/etc/hostname
,hostname -f
akan kembalimyname.domain.com
. Mengapa?Mengapa fqdn tidak diakhiri dengan titik di file-file ini?
Apakah
hostname -d
dandnsmydomain
setara?Dalam konteks apa saya dapat menggunakan nama host saya (
myname
) dan kapan saya harus menggunakan fqdn saya (localhost.localdomain
)?
myname
di / etc / hosts?Saya benar-benar benci ketika seseorang mengatakan kepada saya untuk membaca manual tetapi dalam kasus ini silakan lihat halaman manual untuk nama host dan sebagian besar jika tidak semua pertanyaan Anda harus dijawab. Itu ditulis jauh lebih baik daripada yang bisa saya jelaskan.
Untuk memberikan bantuan, beberapa kutipan yang mengenai pertanyaan Anda adalah: - Nama host Anda adalah yang Anda lihat di / etc / hosts. - FQDN yang dikembalikan didasarkan pada apa yang mengembalikan resolver, oleh karena itu mengapa Anda melihat nilai di / etc / hosts dikembalikan sebagai resolver memeriksa file host terlebih dahulu, kemudian melakukan permintaan DNS yang diperlukan.
Salah satu yang saya tidak percaya disentuh di halaman manual hostname (berdasarkan saya membaca ulang halaman manual sendiri) adalah mengapa entri dalam file tidak berakhir dengan titik.
Konvensi itu digunakan ketika berurusan dengan catatan DNS. File nama host dan host sebenarnya bukan catatan DNS. Jika Anda mengonfigurasi entri ini agar dapat diselesaikan untuk pencarian DNS, maka penggunaan titik dapat ikut bermain (lihat sumber daya yang bagus ini: http://www.zytrax.com/books/dns/apa/dot.html ).
Juga, perlu diingat bahwa semua nilai ini tidak disiarkan dari sistem. Jadi jika Anda ingin sistem lain untuk mengakses berdasarkan FQDN, itu didasarkan pada file host pada sistem lain, atau tidak ada entri host berdasarkan pencarian DNS yang dilakukan sistem eksternal pada FQDN untuk memungkinkannya menyelesaikan kembali ke sistem.
sumber
/etc/hosts
: serverfault.com/questions/336056/setting-fqdn-hostname-and-dotSebagai jawaban untuk
Mari saya tunjukkan, pertama, bahwa / etc / hosts adalah definisi statis pemetaan nama ke alamat untuk host yang diinstal, dan HANYA digunakan oleh host tersebut untuk mengonversi nama menjadi alamat IP.
Jadi, ada 2 sudut pandang untuk dipertimbangkan - host 'myname' dan semua orang.
Untuk host 'myhost', rujuk host yang sekarang menggunakan 'localhost' (yang didefinisikan dalam / etc / hosts sebagai 127.0.0.1), atau tambahkan 'myname' ke baris / etc / hosts yang mendefinisikan localhost sehingga 'myname selalu memetakan ke, well, localhost. Seperti itu:
Maka tidak masalah apa pun alamat IP yang diberikan INTERFACE, Anda akan selalu memiliki alamat yang berfungsi (bonus tambahannya adalah Anda tidak perlu menekan perangkat keras untuk berbicara dari 'myname' ke 'myname').
Sekarang, untuk mengizinkan host OTHER menemukan 'myhost' ketika 'myhost' memiliki alamat IP dinamis, Anda harus menggunakan DNS, dan mengatakan server DNS harus menangani pemetaan yang ditugaskan DHCP. (Yah, ok, ADA solusi lain yang bisa saya pikirkan, tetapi semua yang terlintas dalam pikiran masuk dalam kategori 'luar konyol', IMHO. Nah, ok, ada hal-hal yang dapat Anda lakukan untuk tuan rumah agar TI memberi tahu DNS) di mana itu, tapi itu pertanyaan yang layak untuk aliran pertanyaan / jawaban yang sama sekali berbeda di sini, IMHO)
sumber
/ etc / hostname dan / etc / hosts sederhana, tetapi juga tidak sesederhana itu ...
Cara mengatur Debian
/etc/hostname
dan/etc/hosts
1) Edit / etc / hostname .
Ada 2 cara yang valid untuk mengatur ini.
Entah membuatnya:
machine
, yaitu nama satu kata yang sederhana untuk prosesor ini.Misalnya, '
joe
' mungkin nama mesin yang Anda pilih sendiri.Catatan ini membutuhkan alias di / etc / hosts, dijelaskan lebih lanjut di bawah ini.
ATAU
machine.domain.net
, yaitu Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN).Misalnya, '
joe.xyz.com
'.(Ini dengan asumsi Anda memiliki catatan Host DNS 'A' yang menunjuk dari joe.xyz.com ke alamat IP joe Anda, yaitu di mesin Anda bernama joe. Biasanya Anda mengatur catatan ini di tempat Anda membeli nama domain Anda. Lebih lanjut tentang itu di sesaat.)
Setelah / etc / hostname diatur, maka langkah selanjutnya adalah mendapatkan perintah
hostname --all-fqdn
dandnsdomainname
bekerja dengan benar, dalam urutan itu, sebagai berikut:2) Edit / etc / hosts .
Di dalamnya ada baris untuk FQDN host ini , misalnya 'machine.domain.net', diawali dengan alamat IP mesin ini (mungkin dari server alamat IP dinamis) seperti ini:
Pertama, perhatikan bahwa huruf besar atau kecil tidak penting di sini. Kiat: Mengaktifkan beberapa batasan, memungkinkan kita memperhatikan dari mana hal-hal itu berasal dari langkah selanjutnya. Jadi saya telah mengkapitalisasi J oe.
Perhatikan juga bahwa untuk yang sederhana
hostname
(mis. / Etc / hostname = 'machine') untuk menghasilkan FQDN dengan benar, alias bernama 'mesin' harus ada di / etc / hosts. Itu sebabnya alias joe ada di sana. (BTW, tidak apa-apa untuk memiliki alias itu bahkan jika Anda tidak menggunakannya.) Kalau tidak, alias ini tidak diperlukan, atau digunakan.Perhatikan juga bahwa 'domain.net' harus dapat diatasi, yaitu harus ada catatan A untuk itu di DNS. Inilah yang disebut ' resolvable ' (yaitu oleh resolver DNS).
3) Sekarang instal pengaturan baru ini dari / etc / hostname dan / etc / hosts ke kernel, dengan menjalankan:
4) Uji nama host
ATAU
Kiat:
Perhatikan bahwa ini bukan apa / etc / hostname saat ini, seperti jika Anda mengeditnya lagi sekarang, tetapi apa yang dibaca sebelumnya oleh skrip /etc/init.d/hostname.sh, mungkin sebagai hasil dari reboot.
Perhatikan juga bahwa 'j' adalah huruf kecil, jadi ini menunjukkan itu berasal dari / etc / hostname, bukan / etc / hosts.
5) Uji FQDN
6) Uji nama domain DNS
Sekarang ini akan membuat pengaturan web dan server email lebih mudah.
sumber