ทำไมชื่อโฮสต์ของฉันจึงปรากฏพร้อมที่อยู่ 127.0.1.1 แทนที่จะเป็น 127.0.0.1 ใน / etc / hosts


205

นี่อาจเป็นคำถามแบบ noobish แต่ฉันดู / etc / hosts บน Xubuntu ใหม่ที่ฉันติดตั้งและเห็นสิ่งนี้:

127.0.0.1 localhost
127.0.1.1 myhostname

ในระบบ nixes ส่วนใหญ่ที่ฉันเคยใช้บรรทัดที่สองจะถูกตัดออกและถ้าฉันต้องการเพิ่มชื่อโฮสต์ของฉันลงในไฟล์ hosts ฉันจะทำดังนี้

127.0.0.1 localhost myhostname

มีความแตกต่างระหว่างไฟล์สองไฟล์นี้ในทางปฏิบัติหรือไม่?


ฉันสงสัยว่าฉันสามารถลบบรรทัดที่สองหรือกระบวนการบางอย่างในเดเบียน / อูบุนตูจะสร้างบรรทัดใหม่และเพิ่มเข้าไปใหม่ได้หรือไม่?
simgineer

คำตอบ:


159

ไม่มีความแตกต่างอย่างมากระหว่างสองสิ่งนี้ 127/8(เช่น: 127.0.0.0=> 127.255.255.255) ถูกผูกไว้กับอินเตอร์เฟสการวนกลับ

เหตุผลที่บันทึกไว้ในคู่มือเดเบียนในCh. 5 การตั้งค่าเครือข่าย - 5.1.1 ความละเอียดชื่อโฮสต์

ในที่สุดมันเป็นวิธีแก้ปัญหาข้อผิดพลาด; รายงานเดิม316,099


5
เหตุผลที่แท้จริง: "การเชื่อมโยงชื่อโฮสต์ของระบบกับหลังมีผลที่ไม่พึงประสงค์ในการสร้าง 'localhost.localdomain' ชื่อโฮสต์แบบบัญญัติซึ่งเชื่อมโยงกับชื่อโฮสต์ของระบบนั่นคือ 'hostname --fqdn' ส่งคืน 'localhost.localdomain'"
cmroanirgo

ฉันตรวจสอบย้อนกลับไปที่ลิสต์ doc นี้จริง ๆ แล้วเดเบียน.org/debian-boot/2005/06/msg00938.htmlและปรากฏว่าเนื่องจากโทมัสรู้สึกว่าจำเป็นต้องใช้ 1.1 แทนที่จะเป็น 0.1 ซึ่งมันเทียบเท่ากัน ถ้าฉันผิด แต่นั่นหมายความว่าคำตอบนี้เป็นเพียงเกล็ดขนมปัง?
Brian Thomas

@BrianThomas ข้อความนั้นบอกว่าทำไมพวกเขาถึงไม่เทียบเท่ากัน พวกเขาต้องการlocalhostและmyhostnameแตกต่าง - ไม่อย่างใดอย่างหนึ่งจะเป็นนามแฝงของคนอื่น โปรดทราบว่านี่ใช้งานไม่ได้ใน IPv6 ซึ่งมีที่อยู่ลูปแบ็คเดียวเท่านั้น สามารถหลีกเลี่ยงได้โดยใช้โมดูล NSS ตามที่กล่าวไว้ในเธรดเนื่องจากสามารถยืดหยุ่นได้มากกว่า / etc / hosts และส่งคืนชื่อมาตรฐานที่แตกต่างกันแม้ว่าจะมีที่อยู่ IP เดียวกันก็ตาม ฉันรู้ว่านี้เพราะระบบของฉันมีการกำหนดค่าใช้เช่นโมดูล NSS
sourcejedi

46

หากต้องการสรุปข้อมูลที่เชื่อมโยงไปยัง:

  • เป็นประโยชน์ (debatably) ที่จะมีรายการในการ/etc/hostsแปลของคุณชื่อโดเมนที่มีคุณสมบัติครบถ้วนของเครื่องเป็นที่อยู่ IP ถาวรของมัน
  • debian-installerและโดยเฉพาะอย่างยิ่งnetcfgส่วนประกอบของมันในปัจจุบัน (อย่างน้อยจนถึงมีนาคม 2013) สร้างรายการนี้
  • หากเครื่องไม่ทราบว่ามีที่อยู่ IP ถาวรตัวติดตั้งเดเบียนยังคงต้องการให้มีรายการประเภทนั้น
  • ที่อยู่127.0.1.1ใช้อินเทอร์เฟซแบบวนรอบตอบกลับโดยเครื่องของคุณเองเช่นเดียวกับ127.0.0.1แต่เป็นรายการที่แตกต่าง/etc/hostsซึ่งสามารถพิจารณาแยกต่างหากจาก127.0.0.1ถ้า / เมื่อจำเป็น

Thomas Hood อธิบายการเพิ่มรายการนี้ดังนี้:

[นี้] จะให้แน่ใจว่าถ้าชื่อโฮสต์ UNIX จะได้รับการแก้ไขแล้วมันจะเป็นชื่อโฮสต์ที่ยอมรับของตัวเอง

แต่:

ในระยะยาวชื่อโฮสต์ UNIX ไม่ควรใส่ใน / etc / hosts เลย


.. และอื่น ๆ ... ? ฉันต้องเป็นผู้ใช้ 127.0.0.1 สำหรับ fdqn ของฉันหรือไม่ หรือ 127.0.1.1? หรือ ip แบบสแตติก lan?
realtebo

1
@realtebo: 1. มันมีประโยชน์และทำให้มันเพิ่มโดยตัวติดตั้ง 2. ไม่มี "ต้อง" ที่นี่; และเกี่ยวข้องเฉพาะเมื่อ FQDN ของคุณไม่มีที่อยู่ถาวร
einpoklum

9

ฉันอยากรู้อยากเห็นตัวเองและฉันไม่ชอบคำตอบอื่น ๆ เพราะพวกเขาดูเหมือนจะไม่ตอบสิ่งที่ฉันกำลังมองหา atleast

คำตอบ: เมื่อมองกลับไปที่เอกสารนี้มันเกือบจะปรากฏขึ้นราวกับว่าโธมัสระบุว่าให้อีก IP เฉพาะบนลูปแบ็คอนุญาตให้เป็นที่ยอมรับ

ทั้งคู่ชี้ไปที่ลูปแบ็คของคุณ การใช้ 127.0.1.1 ต่อไปนี้เป็น IP จริงบนลูปแบ็คในขณะที่ 127.0.0.1 เป็นอุปกรณ์ตัวเองหรืออีกไอพีหนึ่งในลูปแบ็ค ทั้งคู่จบลงที่ซับเน็ตเดียวกันซึ่งแสดงถึงลูปแบ็ค แต่ถูกคั่นด้วย ip พวกมันมีค่าเทียบเท่า dns ที่ฉลาด แต่แยกกันเพราะมี IP เฉพาะ

ประเด็นคือคุณสามารถมีรายการทั้งหมดของคุณในหนึ่งบรรทัดเช่นนี้

127.0.0.1 localhost localhost.domain www.myfakednsname.com myakednsname.com 

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

127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname

ในความเป็นธรรมทั้งหมดหลังจากที่ในที่สุดฉันก็แต่งมันด้วยวิธีที่สมเหตุสมผลกับฉันฉันเห็นว่ามันเป็นสิ่งที่ einpoklum กำลังพยายามอธิบายว่ามันดูเหมือนว่าในอดีต
Brian Thomas

ตกลงคะแนนโหวตติดลบไม่แน่ใจว่าทำไม ฉันยังเชื่อว่านี่เป็นคำตอบที่ดีที่สุดหรือฉันจะไม่ใส่มันหลังจากลงจอดที่นี่ คำตอบเดิมช่วย แต่ไม่ได้จับรายละเอียดทั้งหมด ฉันจะไปกับอันนี้
Brian Thomas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.