ใน /etc/resolv.conf ตัวเลือกการกำหนดค่า“ ค้นหา” จะทำอะไรกันแน่?


66

หากฉันมีตัวเลือกที่กำหนดเป็นชื่อโดเมนของเซิร์ฟเวอร์เองนั่นหมายความว่าเซิร์ฟเวอร์นั้นถูกใช้ก่อนเพื่อค้นหาชื่อโดเมนก่อนทำการค้นหาอินเทอร์เน็ตภายนอกหรือไม่ ie /etc/hostsจะถูกสอบถาม?

ตัวอย่างเช่น:

search  localdomain.com

คำตอบ:


63

จาก man resolv.conf

รายการค้นหาจะถูกกำหนดตามปกติจากชื่อโดเมนท้องถิ่น โดยค่าเริ่มต้นมันมีเพียงชื่อโดเมนท้องถิ่น สิ่งนี้อาจเปลี่ยนแปลงได้โดยการระบุเส้นทางการค้นหาโดเมนที่ต้องการตามด้วยคำค้นหาด้วยช่องว่างหรือแท็บที่แยกชื่อ ข้อความค้นหาของ Resolver ที่มีจุดน้อยกว่า ndots (ค่าเริ่มต้นคือ 1) จะพยายามใช้ส่วนประกอบแต่ละส่วนของเส้นทางการค้นหาจนกว่าจะพบการจับคู่ สำหรับสภาพแวดล้อมที่มีหลายโดเมนย่อยโปรดอ่านตัวเลือกจุดที่: n ด้านล่างเพื่อหลีกเลี่ยงการโจมตีจากคนกลางและการรับส่งข้อมูลที่ไม่จำเป็นสำหรับรูทเซิร์ฟเวอร์ DNS โปรดทราบว่ากระบวนการนี้อาจช้าและจะสร้างการรับส่งข้อมูลเครือข่ายจำนวนมากหากเซิร์ฟเวอร์สำหรับโดเมนที่แสดงรายการนั้นไม่อยู่ในเครื่องและแบบสอบถามนั้นจะหมดเวลาหากไม่มีเซิร์ฟเวอร์ที่ใช้ได้สำหรับหนึ่งในโดเมน

รายการค้นหาปัจจุบันถูก จำกัด ไว้ที่หกโดเมนโดยมีอักขระทั้งหมด 256 ตัว

ในการสรุปข้างต้นสมมติว่าไม่มีการเปลี่ยนแปลงจากค่าเริ่มต้นที่กล่าวถึงข้างต้นหากมีบางสิ่งเข้าสู่โปรแกรมแก้ไขที่ไม่มีจุดในโปรแกรมแก้ไขจะลองเพิ่มlocaldomain.comเข้าไป

ดังนั้นสมมติว่าคุณพิมพ์http://somesite/somedocument.htmlเบราว์เซอร์ของคุณ ตัวแก้ไขจะตรวจจับสิ่งนั้นและพยายามแก้ไขเป็นครั้งแรกsomesite.localdomain.com- เทียบเท่าหากคุณพิมพ์จริงhttp://somesite.localdomain.com/somedocument.html- ก่อนลองสิ่งที่คุณร้องขอจริง ๆ

สิ่งนี้มีประโยชน์หากคุณเป็นส่วนหนึ่งของสภาพแวดล้อม LAN ที่มีเซิร์ฟเวอร์ DNS ของตัวเองเพื่อให้ผู้ใช้สามารถพิมพ์ชื่อง่าย ๆ เพื่อเข้าถึงทรัพยากรในท้องถิ่น หากคุณไม่มีบ้านหรือ LAN ขององค์กรที่มีเซิร์ฟเวอร์ DNS ของคุณเองคุณไม่ต้องกังวลอะไร


10
HTTP เป็นตัวอย่างที่ไม่ดีสำหรับการใช้ตัวเลือกการค้นหา ผู้คนจำนวนมากใช้โฮสต์เสมือนที่ใช้ชื่อเนื่องจากความขาดแคลน IPv6 จากประสบการณ์ของผมมันหายากมากที่จะเห็นเสมือนครอบครัวในทางที่ยอมรับการร้องขอสำหรับนอกเหนือไปจากHost: somesite Host: somesite.localdomain.comหรือเพื่อให้แตกต่างกันตัวเลือกการค้นหาอนุญาตให้ลูกค้าของคุณแก้ไขชื่อย่อ แต่ไม่ได้หมายความว่าคุณจะสามารถทำตามคำขอได้จริง
Zoredache

1
@Zoredache คุณกำลังนำจุดที่ถูกต้องมาใช้อย่างไรก็ตามใครจะคิดว่าเทคนิคการค้นหาจะถูกนำไปใช้งานโดยผู้ดูแลระบบท้องถิ่นที่ควบคุมโฮสต์ทั้งหมดของชื่อโดเมนท้องถิ่นด้วยเหตุนี้โฮสต์เสมือนที่ตั้งชื่อ จะได้รับการกำหนดค่าที่คาดคะเนเพื่อให้สามารถทำงานได้
cnst

1
@cnst - ไม่เป็นความจริงเสมอในประสบการณ์ของฉัน devs สร้างเซิร์ฟเวอร์ที่สมบูรณ์ด้วย tomcat ที่บรรจุด้วยไฟล์ war ผู้ดูแลระบบ ops / sys กังวลเกี่ยวกับการกำหนดค่าเครื่อง / vms / dns มีเส้นสีเทานี้เกี่ยวกับผู้รับผิดชอบ มันดีที่ zoredache เรียกมันออกมาในกรณีที่ผู้อ่านมีการกำหนดค่าที่อาจมีปัญหาอธิบายไว้
Pat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.