คุณจะรับที่อยู่ลูปแบ็คนอกเหนือจาก 127.0.0.1 เพื่อทำงานบน OS X ได้อย่างไร


55

จากทุกสิ่งที่ฉันอ่านซับเน็ตทั้งหมด 127.xxx ควรวนกลับ

อย่างไรก็ตามสำหรับ Mac ของฉันฉันสามารถ ping 127.0.0.1 ได้เท่านั้น

ฉันรู้ว่าฉันเคยทำมาก่อน (แต่อาจเป็นไปได้กับระบบปฏิบัติการอื่น) และมีประโยชน์มากสำหรับการพัฒนาเว็บไซต์ SSL หลายแห่งในพื้นที่และสำหรับการขุดอุโมงค์บริการระยะไกลสำหรับการเข้าถึงบน IP ท้องถิ่น (ตัวอย่างเช่นฉันสามารถ ssh ลงในเซิร์ฟเวอร์ MySQL ของฉันและ เพียงแค่ส่งต่อพอร์ตมาตรฐานไปยังพอร์ตเดียวกันบนเครื่องของฉัน แต่บน 127.0.0.2 ในขณะที่เซิร์ฟเวอร์ท้องถิ่นของฉันทำงานที่ 127.0.0.1

คำตอบ:


72

นี่คือคำตอบสั้น ๆ : sudo ifconfig lo0 alias 127.0.0.* up

ต้องเพิ่มชื่อแทนแต่ละรายการ ( sudo ifconfig lo0 alias 127.0.0.2 up, sudo ifconfig lo0 alias 127.0.0.3 up) มันสามารถทำได้ด้วยตนเองสำหรับการทดสอบหรือส่วนย่อยหรือรายการที่สมบูรณ์ของอีก 250 หมายเลขที่มีอยู่ในเครือข่ายย่อยนั้นสามารถทำลงในสคริปต์ StartupItems ที่จะทำโดยอัตโนมัติในเวลาบูต

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


4
ถ้ามีวิธีที่จะทำให้มันใช้งานได้กับ 127 *. *. *
Matthew Schinckel

ถ้าสิ่งนี้กลายเป็นการทำงานกับ CentOS เช่นกันคุณก็จะได้รับความโปรดปรานจากฉัน
คู่ปรับ Shot

จริงๆแล้วไม่ว่าคุณจะได้รับความโปรดปรานจากที่ไหน เนื่องจากมันใช้งานไม่ได้กับ CentOS ฉันจะถามและตอบคำถามนั้นทันทีที่ฉันพบคำตอบ
คู่ปรับ Shot

ฉันจะตั้งค่าเซิร์ฟเวอร์ 4 ตัวบนพอร์ต 8 ได้อย่างไรโดยใช้ที่อยู่ลูปแบ็คที่แตกต่างกันบน debian9 Gnu / Linux superuser.com/a/1255308/62123
ctrl-alt-delor

12

สำหรับผู้ที่สนใจนี่คือสคริปต์ทุบตีเล็ก ๆ น้อย ๆ ที่เพิ่มนามแฝงทั้งหมดสำหรับ IP 127.0.0 *:

#!/bin/bash
for ((i=2;i<256;i++))
do
    sudo ifconfig lo0 alias 127.0.0.$i up
done

ฉันอ่านผิดหรือเปล่า สิ่งที่คุณสร้างดูเหมือนจะเป็นที่อยู่ทั้งหมดจาก 127.0.0.1 ถึง 127.0.0.255 หากคุณเปลี่ยน "sudo ifconfig lo0 alias 127.0.0. $ i up" เป็น "sudo ifconfig lo0 alias 127. $ i. $ i. $ i. $ i up" ที่จะทำให้คุณได้รับสิทธิส่วนใหญ่ใช่ไหม? อย่างไรก็ตามคุณจะข้ามสิ่งที่น้อยกว่า 2 .. ดังนั้นอาจใช้ตัวแปรที่แตกต่างกันสำหรับสอง octets อื่น ๆ ? ที่อยู่ IP ที่สูงที่สุดสำหรับลูปแบ็คคือ 127.255.255.255
Everett

1
@Everett คุณอ่านอย่างถูกต้องมันทำที่อยู่ 127.0.0 เท่านั้น * เหตุผลที่ฉันไม่ครอบคลุมช่วงทั้งหมดก็คือว่าจริงแล้วมันค่อนข้างช้าในการประมวลผลแม้แต่ 255 ที่อยู่ดังนั้น 255x255x255 จะใช้เวลานานเกินไป
เรนท์

1
ขอบคุณ ฉันแค่ต้องการให้แน่ใจว่ามีการตั้งความคาดหวังไว้เพราะมีใครบางคนมาที่นี่และพูดว่า "เฮ้มันใช้ไม่ได้กับ 127.7.53.91" ฉันจะไม่ทำอย่างนั้น แต่จะมีบางคน ...
Everett

2
ที่จริงแล้วข้อเสนอของ @ Everett จะไม่ทำงานเช่นกันเนื่องจากจะเปิดใช้งานที่อยู่เท่านั้นเช่น 127.7.7.7 หรือ 127.42.42.42 นั่นคือทั้งหมดที่มีตัวเลขสามหลักสุดท้ายมีค่าเท่ากับ คุณจะต้องใช้สามลูปที่แตกต่างกันเพื่อเปิดใช้งาน IP จริงทั้งหมดในบล็อก 127/8 แต่การทำเช่นนี้จะไม่เป็นความคิดที่ดี: เป็นไปได้สูงเนื่องจากแต่ละ IP จะต้องเปิดใช้งานแยกต่างหากว่ามีทรัพยากรบางอย่างแนบมากับ IP ที่ได้รับมอบหมายแต่ละรายการ การจัดสรรประมาณ 17.7 ล้านไอพี (นั่นคือ 256 ^ 3) จะกลับออกไปมีผลกระทบอย่างมีนัยสำคัญบางอย่าง ...
jwatkins

2
@ jwatkins Bottom line: เปิดใช้งานเฉพาะในกรณีที่คุณต้องการซึ่งเป็นกฎง่ายๆสำหรับทุกสิ่งจริงๆ
William T Froggard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.