ไฟล์/etc/hosts
และ DNS ไม่ทำงานร่วมกัน พวกเขาให้ความละเอียดอิสระชื่อ (ชื่อเครือข่าย)
กาวที่เชื่อมโยงพวกเขาเป็นภายใน/etc/nsswitch.conf
สำหรับระบบลินุกซ์ ใน/etc/netsvc.conf
สำหรับเซิร์ฟเวอร์ AIX ในระบบสำหรับWindowsและสามารถแสดงรายการด้วยlookupd -configuration
(ค้นหา LookupOrder คล้ายกับ:) Cache FF DNS NI DS
ในระบบ MacOS
คำสั่งซื้อที่เกิดขึ้นจริงนั้นซับซ้อนและมักจะสับสนเนื่องจากบริการระบุชื่อแต่ละรายการสามารถ (และหลายต่อหลายครั้ง) ในการแก้ปัญหาระดับอื่น กดdnsmasq
ไลค์ (เซิร์ฟเวอร์ DNS แบบเบาโดยทั่วไปที่127.0.0.1:53
หรือ::1:53
(หรือทั้งสองอย่าง)) มักจะอ่านและรวม/etc/hosts
เนื้อหาไฟล์ หรือไลค์systemd.resolver
(ตัวแก้ไขพื้นฐานที่ควรแก้ไขชื่อที่ไม่ได้ประเช่นmycomputer
) เรียกการแก้ปัญหา DNS โดยตรงสำหรับชื่อที่ประ ( mycomputer.here.dev.
) ภายใต้เงื่อนไขบางประการ
โดยทั่วไปบริการจะถูกเรียกตามลำดับและบริการแรกที่ไม่ชนะจะล้มเหลวและได้รับการยอมรับว่าเป็นที่อยู่ที่ถูกต้อง คำสั่งพื้นฐานทั่วไปคือ: /etc/hosts
(ไฟล์), mDNS (ชื่อที่ไม่ได้ประ), DNS, NIS, NIS +, LDAP ในระบบ linux บางระบบมีวิธีแก้ปัญหาสุดท้ายสำหรับคอมพิวเตอร์hostname
ในบริการmyhostname
ตัวอย่างเช่นในระบบนี้ (จากcat /etc/nsswitch
):
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
โปรดทราบว่าเก่ามาก (glibc 2.4 และก่อนหน้า) order
เข้าชุดใน/etc/host.conf
นาม:
order hosts,bind,nis
ใช้กับ/etc/hosts
บริการชื่อไฟล์ (ไฟล์) เท่านั้น
ผลกระทบต่อคอมพิวเตอร์ไคลเอนต์ (linux) นี้ที่เกี่ยวข้องกับ NIS และ LDAP นั้น (ปกติ) ควบคุมโดยเซิร์ฟเวอร์ DNS ที่ใช้ (ผูก, ไม่ถูกผูกไว้, ฯลฯ )
ดังนั้น:
- หากชื่อโฮสต์สามารถแก้ไขได้ใน / etc / hosts DNS จะนำไปใช้หลังจาก / etc / hosts เพื่อแก้ไขชื่อโฮสต์หรือจัดการที่อยู่ IP ที่ได้รับการแก้ไขโดย / etc / hosts เป็น "hostname" เพื่อแก้ปัญหาแบบเรียกซ้ำ?
ไม่มี.
หากชื่อโฮสต์สามารถแก้ไขได้ใน/etc/hosts
การDNS
ใช้ไม่ได้ (ถ้าไฟล์ก่อน DNS)
และไม่ได้แก้ไขที่อยู่ IP ซึ่งถือว่าเป็น "ชื่อโฮสต์"
เป็นเพียงที่อยู่ที่แก้ไขแล้ว
เบราว์เซอร์
เบราว์เซอร์สามารถใช้วิธีการใดก็ได้เพื่อแก้ไขชื่อ (หลังจากตรวจสอบแคชของชื่อที่แก้ไขแล้ว) เฉพาะเมื่อมันใช้ระบบที่ให้วิธีการสั่งซื้อที่ได้รับข้างต้นใช้ เบราว์เซอร์เช่นเดียวกับโปรแกรมใด ๆ สามารถเลือกที่จะติดต่อเซิร์ฟเวอร์ DNS ใดก็ได้โดยตรง
หากคำสั่งของระบบมี/etc/hosts
มาก่อนDNS
นั่นหมายความว่ารายการในไฟล์นั้นจะมีความสำคัญกว่าการDNS
แก้ไขปัญหา
ดังนั้น:
- ... มันหมายความว่า / etc / hosts แทนที่ DNS สำหรับการแก้ไขชื่อโฮสต์หรือไม่
ใช่ (ถ้าเบราว์เซอร์ใช้ระบบที่ให้ความละเอียด)
เหตุใดจึงไม่/etc/hosts
ใช้อีกครั้งดังนั้นฉันจึงไม่สามารถเชื่อมต่อกับเว็บไซต์ได้
จนกว่าแคชภายในของเบราว์เซอร์จะถูกล้างออก (หรือหมดเวลา) สำหรับชื่อเฉพาะนั้นคือชื่อที่ค้นหานอกเบราว์เซอร์อีกครั้ง
หากเบราว์เซอร์มีชื่อที่แก้ไขในแคชเบราว์เซอร์จะใช้อีกครั้ง
ใช้นี้เพื่อล้างแคช
หรือเพียงแค่ปิด (รอสักครู่) แล้วเริ่มเบราว์เซอร์ใหม่
/etc/hosts
และเซิร์ฟเวอร์ชื่อที่กำหนดในเครื่อง มันค่อนข้างสับสนเมื่อได้เห็นเป็นครั้งแรก (มองคุณเบราว์เซอร์ที่ใช้ Chromium!)