ความแตกต่างระหว่างที่อยู่ localhost 127.0.0.1 และ 127.0.1.1 คืออะไร


48

ฉันเพิ่งเรียนรู้การใช้งาน Ubuntu และเมื่อฉันพยายามกำหนดค่า DNS ฉันต้องจัดการกับบางสิ่งบางอย่างที่เรียกว่า localhost, อินเตอร์เฟสย้อนกลับ ทุกคนสามารถอธิบายความแตกต่างระหว่างฉันกับความหมายของที่อยู่ 127.0.0.1 และ 127.0.1.1 เมื่อใดที่ฉันควรใช้ 127.0.0.1 และเมื่อใดที่ฉันควรใช้ 127.0.1.1



1
^^^ ฉันกำลังพิมพ์คำตอบของฉันและ @jdv โผล่เข้ามาในความคิดเห็น ...
Madivad

คำตอบ:


36

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

อุปกรณ์ลูปแบ็คเป็นอินเตอร์เฟสเครือข่ายเสมือนพิเศษที่คอมพิวเตอร์ของคุณใช้เพื่อสื่อสารกับตัวเอง ส่วนใหญ่จะใช้สำหรับการวินิจฉัยและการแก้ไขปัญหาและเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ที่ทำงานบนเครื่องท้องถิ่น

loopback คืออินเตอร์เฟส lo และ ip 127.0.0.1 โดยค่าเริ่มต้น

127.0.0.1 localhost

Debian กว่า ubuntu เลือกเพื่อกำหนด 127.0.1.1 สำหรับการจับคู่ IP ของชื่อโฮสต์ของคุณในกรณีที่คุณไม่มีเครือข่าย

host_name ตรงกับชื่อโฮสต์ที่กำหนดใน "/ etc / hostname"

สำหรับระบบที่มีที่อยู่ IP ถาวรควรใช้ที่อยู่ IP ถาวรที่นี่แทน 127.0.1.1

127.0.1.1 host_name


1
ฉันเข้าใจปรัชญา แต่ฉันไม่เห็นด้วยกับรูปแบบของมันใน / etc / hosts
Anthony Rutledge

21

ไม่ได้มีความหมายอะไรเลยโดยเฉพาะ (มันเป็นแค่ IP อีกอันในบล็อก 127.0.0.0/8)

เหตุผลที่ใช้เป็น IP สำหรับชื่อโฮสต์ของคุณอธิบายไว้ในส่วนที่ 10.4 ของคู่มืออ้างอิงเดเบียน

อ้างถึง:

ซอฟต์แวร์บางตัว (เช่น GNOME) คาดว่าชื่อโฮสต์ของระบบจะสามารถแก้ไขได้กับที่อยู่ IP ที่มีชื่อโดเมนที่ผ่านการรับรองอย่างครบถ้วน สิ่งนี้ไม่เหมาะสมจริง ๆ เพราะชื่อโฮสต์ของระบบและชื่อโดเมนเป็นสองสิ่งที่แตกต่างกันมาก แต่ที่นั่นคุณมีมัน เพื่อสนับสนุนซอฟต์แวร์นั้นมีความจำเป็นต้องตรวจสอบให้แน่ใจว่าสามารถแก้ไขชื่อโฮสต์ของระบบได้ ส่วนใหญ่มักจะทำโดยใส่บรรทัดใน / etc / hosts ที่มีที่อยู่ IP และชื่อโฮสต์ของระบบ หากระบบของคุณมีที่อยู่ IP ถาวรให้ใช้สิ่งนั้น มิฉะนั้นให้ใช้ที่อยู่ 127.0.1.1


1

การจับภาพหน้าจอต่อไปนี้จะบอกเล่าเรื่องราวที่น่าสนใจ

ไฟล์ / etc / hosts เริ่มต้นของ Ubuntu และเอาต์พุต ifconfig

อย่างมีประสิทธิภาพมันแสดงให้เห็นว่า127.0.0.1เป็นที่อยู่ลูปแบ็คที่แท้จริง ดังนั้น127.0.1.1มีเหตุผลอื่นนอกเหนือจากเครือข่าย IP พื้นฐาน

ดังที่ได้กล่าวไว้โดย @Videonauth 127.0.1.1บรรทัดดังกล่าวเป็นไม้ยันรักแร้การแก้ไขเพื่อให้ซอฟต์แวร์ที่มีความพิถีพิถันมีความสุข

ในมุมมองของฉันรายการลูปแบ็คควรอยู่ในเกือบทุก/etc/hostsครั้ง หากคุณเปลี่ยนชื่อโฮสต์ของคุณจากค่าเริ่มต้นlocalhostแล้วให้เปลี่ยนชื่อโฮสต์ใน127.0.1.1บรรทัดไม่ใช่ที่127.0.0.1บรรทัด

หากคุณเปลี่ยนชื่อโฮสต์และให้ IP แบบคงที่กับเครื่องให้เปลี่ยนทั้งชื่อโฮสต์และฟิลด์ IP ในบรรทัด 127.0.1.1

ในระยะสั้นปล่อยให้127.0.0.1บันทึกเพียงอย่างเดียว


ถ้าหากคุณใช้ ip แบบคงที่พูดว่า 192.168.1.1 ดังนั้นบรรทัด 127.0.1.1 ควรถูกแทนที่ด้วยชื่อโฮสต์ 192.168.1.1ซึ่งถูกต้องหรือไม่
Chris

192.168.1.1 <hostname>ใช่.
Anthony Rutledge

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