ที่อยู่ IP 127.0.0.2 คืออะไร


39

ฉันกำลังเรียกใช้ตัวอย่างในจ้างซึ่งใช้ "127.0.0.2" เป็น IP เซิร์ฟเวอร์ redis และทำงานอย่างถูกต้อง จริงๆแล้วเซิร์ฟเวอร์ redis กำลังทำงานอยู่บนเครื่องเดียวกัน ฉันรู้ว่า "127.0.0.1" เป็นที่อยู่ IP ของ "lo" แต่เกี่ยวกับ "127.0.0.2" มันเหมือนกับ "127.0.0.1" หรือไม่?

คำตอบ:


37

ใช่:

มาตรฐานเครือข่าย IPv4 ขอสงวนบล็อกที่อยู่ 127.0.0.0/8 ทั้งหมดเพื่อการย้อนกลับ นั่นหมายความว่าแพ็กเก็ตใด ๆ ที่ส่งไปยังหนึ่งใน 16,777,214 ที่อยู่ (127.0.0.1 ถึง 127.255.255.254) จะถูกวนซ้ำ IPv6 มีเพียงที่อยู่เดียว :: 1

มาตรฐาน Internet Engineering Task Force (IETF) มาตรฐานต่างๆสงวนที่อยู่ IPv4 127.0.0.0/8 ในรูปแบบ CIDR และที่อยู่ IPv6 :: 1 เพื่อจุดประสงค์นี้ ที่อยู่ IPv4 ที่ใช้บ่อยที่สุดคือ 127.0.0.1 โดยทั่วไปที่อยู่ลูปแบ็คเหล่านี้จะถูกแมปกับชื่อโฮสต์, localhost หรือลูปแบ็ค

หรือจาก RFC เอง:

127.0.0.0/8 - บล็อกนี้ถูกกำหนดให้ใช้เป็นที่อยู่ลูปแบ็คโฮสต์อินเทอร์เน็ต ดาตาแกรมที่โปรโตคอลระดับสูงกว่าส่งไปยังที่อยู่ที่ใดก็ได้ภายในบล็อกนี้ควรวนกลับเข้าไปในโฮสต์ โดยปกติจะมีการใช้งานโดยใช้เพียง 127.0.0.1/32 สำหรับลูปแบ็ค แต่ไม่ควรมีที่อยู่ในบล็อกนี้ในเครือข่ายใด ๆ [RFC1700, หน้า 5]

เพื่อความสนุกสนานลองด้วยการส่ง Ping:

$ ping 127.127.127.127
PING 127.127.127.127 (127.127.127.127) 56(84) bytes of data.
64 bytes from 127.127.127.127: icmp_req=1 ttl=64 time=0.110 ms
64 bytes from 127.127.127.127: icmp_req=2 ttl=64 time=0.065 ms
^C
--- 127.127.127.127 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.065/0.087/0.110/0.024 ms

หน้า Wikipedia มีการเปลี่ยนแปลงตั้งแต่บัดนี้และตอนนี้พูดว่า "แม้ว่าที่อยู่ใด ๆ ในช่วง 127.0.0.1 ถึง 127.255.255.254 จะถูกแมปกับหน้านี้" ซึ่งแสดงส่วนสำคัญของคำตอบนี้ในความขัดแย้งโดยตรงกับ Wikipedia
SilverSkin

6
@SilverSkin คุณคิดจะอธิบายสิ่งที่คุณหมายถึงอะไร? ความแตกต่างเพียงอย่างเดียวระหว่างสิ่งที่ตอบและสิ่งที่อยู่ในวิกิพีเดียตอนนี้คือพวกเขา (ถูกต้อง) ยกเว้น 127.0.0.0 และ 127.255.255.255 ซึ่งเป็นที่อยู่เครือข่าย / การออกอากาศ ส่วนสำคัญยังคงเหมือนเดิม - 127.xxx == 127.0.0.1 (ยกเว้น 127.0.0.0 และ 127.255.255.255 ซึ่งคาดว่าจะอยู่ในเครือข่ายใด ๆ / 8)
icyrock.com

1
ดังนั้นจึงไม่มีความแตกต่างระหว่างการผูกกับ 127.0.0.1 เทียบกับการผูกกับ 127.0.0.124? เหตุใดผู้ว่าจ้างจึงกังวลกับ 127.0.0.2 หากเป็นเพียงที่อยู่เดียวกัน จะเกิดอะไรขึ้นถ้าคุณส่งข้อความถึง 127.0.0.0
CMCDragonkai

7
จำเป็นต้องพูดถึงว่ามันไม่เหมือนกันใน OS X ซึ่งมีเพียง 127.0.0.1 เส้นทางไปยังลูปแบ็ค ดูที่นี่
Wenbing Li

6
@CMCDragonkai 127.0.0.1 และ 127.0.0.124 อาจอยู่ในอินเทอร์เฟซเดียวกัน แต่ไม่ใช่ที่อยู่เดียวกัน หนึ่งอาจใช้ IP ผิดปกติเช่น 127.0.0.2 หากต้องการใช้ตั้งค่าบริการบนพอร์ตทั่วไปและไม่รบกวนบริการอื่น ๆ ที่อาจฟังพอร์ตเดียวกันนั้นใน 127.0.0.1
Keith Reynolds

6
  • “ ที่127.x.x.xอยู่ทั้งหมดถูก จำกัด ไว้ที่เครื่องท้องถิ่นหรือไม่” ใช่
  • “ ที่127.x.x.xอยู่ทั้งหมดถูกผูกไว้กับloอินเทอร์เฟซ” ใช่
  • “ มีการ127.x.x.xส่งที่อยู่ผ่านเครือข่ายหรือไม่” ไม่

127.0.0.0/8 - บล็อกนี้ถูกกำหนดให้ใช้เป็นที่อยู่ลูปแบ็คโฮสต์อินเทอร์เน็ต ดาตาแกรมที่โปรโตคอลระดับสูงกว่าส่งไปยังที่
อยู่ที่ใดก็ได้ภายในบล็อกนี้จะวนกลับภายในโฮสต์ โดย
ปกติจะใช้งานโดยใช้เพียง 127.0.0.1/32 สำหรับลูปแบ็ค ตามที่
อธิบายไว้ใน [RFC1122], ส่วน 3.2.1.3, ที่อยู่ภายในบล็อค 127.0.0.0/8 ทั้งหมดไม่ปรากฏบนเครือข่ายใด ๆ อย่างถูกกฎหมาย - RFC5735

  • 127.0.0.2เหมือนกัน127.0.0.1หรือไม่” ไม่

ในขณะ127.0.0.1ที่จะมีอยู่ในท้องถิ่นทั้งหมดผูกไว้กับอินเตอร์เฟซ127.255.255.254 loพวกเขาไม่เหมือนกัน คุณสามารถใช้แต่ละที่อยู่เพื่อผูกบริการต่าง ๆ ลงบนพอร์ตเดียวกัน เช่น 16 ล้านเว็บเซิร์ฟเวอร์บนพอร์ต 80 สามารถเข้าถึงได้จากเครื่องโลคัลเท่านั้น (หากคุณไม่มีหน่วยความจำไม่เพียงพอหรือทรัพยากรอื่น ๆ ก่อน)

127.0.0.2:80ฉันได้ตั้งขึ้นเพียงบริการนักเทียบท่าที่จะผูกกับ ฉันได้เพิ่มชื่อแทนไป/etc/hostsแล้ว ตอนนี้ฉันสามารถเชื่อมต่อกับมันผ่านhttp://myserverแต่ไม่ผ่านหรือhttp://127.0.0.1 http://localhostอย่างไรก็ตามมันใช้ได้เฉพาะกับเครื่องนี้เท่านั้น ตามที่เป็นอยู่เท่านั้นบนloอินเทอร์เฟซ

จากนั้นฉันก็ตั้งค่าบริการตัวเทียบท่าอีกตัวเพื่อเชื่อมโยง127.0.0.3:80และบริการไพ ธ อนlocalhost:80และอีก127.0.0.4:80อัน


สิ่งนี้อาจไม่ทำงานในระบบปฏิบัติการทั้งหมด ฉันใช้ Debian (9) Gnu / Linux, Linux kernel 4.9.0-3-amd64 ระบบปฏิบัติการบางระบบอาจปฏิบัติต่อที่อยู่ทั้งหมด127.0.0.1127.255.255.254เหมือนกัน 127.0.0.1บางคนอาจจะเป็นเพียงการทำงานกับ

ดูสิ่งนี้ด้วย


ขอให้เรายังคงอภิปรายนี้ในการแชท
ctrl-alt-delor

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

1

ไม่ใช่คำตอบทั่วไปที่ครอบคลุม (มีอยู่แล้ว) คำตอบของฉันนี้แสดงตัวอย่างที่127.0.0.2ใช้ในการแก้ปัญหา

สารสกัดจาก:

OP มีความพยายามทดสอบซอฟต์แวร์บางกรณีในกรณีที่การเชื่อมต่อกับเซิร์ฟเวอร์ถูกปฏิเสธ สิ่งนี้ทำบนเซิร์ฟเวอร์โดยiptablesกฎชั่วคราวที่ปฏิเสธการรับส่งข้อมูลทั้งหมดจาก IP ไคลเอ็นต์ ลูกค้าสามารถ "เห็น" การเชื่อมต่อถูกปฏิเสธทันที

ปัญหาปรากฏขึ้นเมื่อบุคคลนี้ย้ายซอฟต์แวร์เซิร์ฟเวอร์ไปยังเครื่องเดียวกับไคลเอนต์และพยายามใช้อินเทอร์เฟซย้อนกลับ กฎถูกตั้งค่าให้บล็อกการสื่อสารจาก127.0.0.1แต่ข้อมูลการเชื่อมต่อถูกปฏิเสธภายใต้กฎเดียวกันและไม่เคยมีซอฟต์แวร์ไคลเอนต์ที่ถูกแขวนคอ (สันนิษฐานจนถึงหมดเวลา)

การแก้ปัญหาคือการใช้127.0.0.2เป็นที่อยู่ของเซิร์ฟเวอร์และตั้งกฎว่าการเชื่อมต่อปฏิเสธที่จะมัน ข้อมูลเกี่ยวกับการปฏิเสธไป127.0.0.1และสามารถส่งผ่านไปยังซอฟต์แวร์ไคลเอ็นต์

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