Di /etc/resolv.conf, apa sebenarnya yang dilakukan opsi konfigurasi "pencarian"?

66

Jika saya memiliki opsi yang ditetapkan sebagai nama domain dari server itu sendiri, apakah itu berarti server itu sendiri digunakan terlebih dahulu untuk mencari nama domain sebelum menanyakan internet eksternal? yaitu /etc/hostsakan ditanyai?

Sebagai contoh:

search  localdomain.com
Mike
sumber

Jawaban:

63

Dari man resolv.conf

Daftar pencarian biasanya ditentukan dari nama domain lokal; secara default, ini hanya berisi nama domain lokal. Ini dapat diubah dengan mendaftar jalur pencarian domain yang diinginkan mengikuti kata kunci pencarian dengan spasi atau tab yang memisahkan nama. Penyelesai kueri yang memiliki kurang dari titik-titik ndots (defaultnya adalah 1) di dalamnya akan dicoba menggunakan setiap komponen jalur pencarian secara bergiliran sampai kecocokan ditemukan. Untuk lingkungan dengan banyak subdomain, baca opsi ndots: n di bawah ini untuk menghindari serangan man-in-the-middle dan lalu lintas yang tidak perlu untuk server root-dns-server. Perhatikan bahwa proses ini mungkin lambat dan akan menghasilkan banyak lalu lintas jaringan jika server untuk domain yang terdaftar tidak lokal, dan bahwa permintaan akan habis jika server tidak tersedia untuk salah satu domain.

Daftar pencarian saat ini terbatas pada enam domain dengan total 256 karakter.

Untuk meringkas di atas, dengan asumsi tidak ada perubahan dari default yang disebutkan di atas, jika sesuatu sampai ke resolver yang tidak memiliki titik di dalamnya, resolver akan mencoba menambahkannya localdomain.com.

Jadi katakanlah Anda cukup mengetik http://somesite/somedocument.htmldi browser Anda. Penyelesai akan menangkap itu dan pertama mencoba untuk menyelesaikan somesite.localdomain.com- setara jika Anda benar-benar mengetik http://somesite.localdomain.com/somedocument.html- sebelum mencoba apa yang Anda minta

Ini berguna jika Anda adalah bagian dari lingkungan LAN yang memiliki server DNS sendiri sehingga orang dapat mengetikkan nama-nama sederhana untuk mencapai sumber daya lokal. Jika Anda tidak memiliki LAN rumah atau perusahaan dengan server DNS Anda sendiri, Anda tidak perlu khawatir.

LawrenceC
sumber
10
HTTP adalah contoh buruk untuk penggunaan opsi pencarian. Sejumlah besar orang menggunakan host virtual berbasis nama karena kelangkaan IPv6. Dalam pengalaman saya, sangat jarang melihat host virtual dengan cara yang menerima permintaan sebagai Host: somesitetambahan Host: somesite.localdomain.com. Atau dengan kata lain, opsi pencarian memungkinkan klien Anda untuk menyelesaikan nama yang disingkat, tetapi itu tidak berarti bahwa Anda benar-benar dapat menyelesaikan permintaan.
Zoredache
1
@Zoredache, Anda membawa poin yang valid, namun, Anda harus mengasumsikan bahwa teknik pencarian akan diterapkan oleh administrator sistem lokal yang juga mengendalikan semua host dari nama domain lokal, sehingga host virtual berbasiskan nama seharusnya sudah dikonfigurasikan untuk memungkinkan perilaku ini.
cnst
1
@ cnst - tidak benar selalu benar dalam pengalaman saya. devs membangun server lengkap dengan kucing jantan yang dikemas dengan file perang. ops / sys admin orang khawatir tentang konfigurasi mesin / vms / dns. Ada garis abu-abu tentang siapa yang bertanggung jawab. Sangat menyenangkan bahwa zoredache menyebutnya kalau-kalau pembaca memang memiliki konfigurasi yang mungkin memiliki masalah yang dijelaskan.
Pat