3
ใครอ่าน / etc / resolv.conf?
เซิร์ฟเวอร์ Centos 7 ของฉันแก้ไขชื่อโดเมนไม่ถูกต้อง จากสิ่งที่ผมเห็นในระบบ Linux ทันสมัย/etc/resolv.confมักจะถูกสร้างขึ้นด้วยdhclient, หรือdnsmasqNetwork Manager ดังนั้นฉันมีคำถามทางทฤษฎีทั่วไปเกี่ยวกับเครือข่ายสแต็คใน Linuxes ที่ทันสมัย: ใครเป็นผู้รับผิดชอบในการอ่าน/etc/resolv.conf? ผู้เล่นใด (บริการหรือระบบย่อยเคอร์เนล) เกี่ยวข้องกับการแก้ไขชื่อโดเมน SHORT ANSWER: Arch linux manualกล่าวว่าการกำหนดค่าระดับสูงของการจำแนกชื่อโดเมนเสร็จสิ้นแล้ว /etc/nsswitch.confและใช้ Name Service Switch glibcAPI glibcใช้nss-resolveฟังก์ชั่นสำหรับส่งคำขอ DNS ไปยังเซิร์ฟเวอร์ DNS โดยปกติในระบบ CentOS ที่ทันสมัยจะnss-resolve ขึ้นอยู่กับ systemd-resolvedบริการ หาก/etc/resolv.confถูกสร้างโดยสิ่งที่ชอบdhclient-scriptให้systemd-resolvedอ่านและทำงานในโหมดความเข้ากันได้เลียนแบบพฤติกรรมของระบบเก่าเช่นBINDไคลเอนต์ DNS