จะเข้าถึงเซิร์ฟเวอร์ในพื้นที่ของฉันบนเครื่องเสมือน VirtualBox ได้อย่างไร


9

นี่คือการตั้งค่าของฉัน:

  • ฉันมีเซิร์ฟเวอร์ท้องถิ่นที่ทำงานบนเครื่องของฉัน (Mac OS, Snow Leopard) ฉันสามารถเข้าถึงผ่านเบราว์เซอร์ของฉันโดยการทำ

    localhost: 3000

  • ฉันมีเครื่องเสมือนโดยใช้ Virtual Box ที่ใช้งาน Windows XP ถ้าฉันพยายามเข้าถึงโดยใช้ localhost: 3000 มันล้มเหลว สิ่งเดียวกันถ้าฉันใช้ ip ของเครื่อง Mac

  • เครื่องเสมือนมีการเข้าถึงอินเทอร์เน็ต

ฉันจะเข้าถึงเซิร์ฟเวอร์ในพื้นที่ของฉันในเครื่องเสมือนจริงได้อย่างไร?


หากคุณพยายามเข้าถึง "localhost" บนเครื่องเสมือนจะพยายามเชื่อมต่อกับตัวเองแทนที่จะไปยังเซิร์ฟเวอร์ macosx ผมคิดว่าคำตอบที่ได้ถึงตอนนี้ที่พลาดจุด
brandstaetter

1
ฉันรู้ว่ามันเป็นและด้ายเก่า แต่นี่คือคำตอบ stackoverflow.com/questions/1261975/ …
deiga

คำตอบ:


16

คุณมีการตั้งค่าเครือข่ายในเครื่องเสมือนได้อย่างไร

ดูเหมือนว่าคุณอาจติดตั้งโดยใช้ NAT ในสถานการณ์นี้หากเครื่องโฮสต์ (Mac) ของคุณมีที่อยู่ IP ที่ไม่สามารถกำหนดเส้นทางได้ (ส่วนตัว) เช่น 192.168.xx คุณจะไม่สามารถเข้าถึงโฮสต์จากภายในเครื่องเสมือนได้ เหตุผลที่คุณไม่สามารถติดต่อโฮสต์จากแขกได้คือคุณตั้งค่าเครือข่ายส่วนตัวแยกกัน 2 เครือข่าย คอมพิวเตอร์ Mac ของคุณอยู่ในหนึ่ง (192.168.xx) และ VM ของคุณในอีกเครื่อง (อาจเป็น 10.xxx) และคุณมีเราเตอร์เป็นหลัก เนื่องจากเราเตอร์จะไม่กำหนดเส้นทาง IP ส่วนตัวทั้งสองเครือข่ายจึงไม่สามารถสื่อสารกับแต่ละเครือข่ายโดยตรง

หากคุณต้องการให้เครื่องโฮสต์และแขกของคุณสามารถสื่อสารได้คุณอาจต้องการติดตั้งอะแดปเตอร์เครือข่าย VirtualBox ของคุณเพื่อเชื่อมต่อกับ "Bridged Adapter" สิ่งนี้จะแชร์การเชื่อมต่ออินเทอร์เน็ตของคุณกับเครื่องเสมือนและอนุญาตให้เครื่องแขกของคุณพูดคุยกับโฮสต์ ในสถานการณ์เช่นนี้คุณต้องเพิ่ม VM ของคุณเป็นโหนดเพิ่มเติมในเครือข่ายท้องถิ่นที่ Mac ของคุณเปิดอยู่


ภายใต้ "Bridged Adapter" ทั้งโฮสต์และแขกจะมีที่อยู่ IP ภายใต้ซับเน็ตเดียวกัน (เช่น 192.168.xx) ถูกต้องหรือไม่
kdbanman

@kdbanman ถูกต้อง (สมมติว่าเครือข่ายโฮสต์ใช้ DHCP) VM จะแสดงเป็นเครื่องอื่นในเครือข่ายโฮสต์
หนัก

ดูเหมือนจะเป็นวิธีที่เป็นธรรมชาติมากขึ้นในการตั้งค่า VM ทำไมหนึ่งจะใช้เครือข่ายส่วนตัวแยกกับ NAT? การรักษาความปลอดภัย?
kdbanman

1
ใช่ NAT ให้การแยก นอกจากนี้บางเครือข่ายจะไม่อนุญาตให้มีเพียงโฮสต์ใด ๆ ในการเชื่อมต่อดังนั้นการใช้ NAT สามารถอนุญาตให้ VM เข้าถึงทรัพยากรเครือข่ายผ่านทางส่วนต่อประสานของโฮสต์ มันยังใช้เป็นค่าเริ่มต้นด้วยเหตุนี้มันมีข้อผิดพลาดน้อยกว่าการตั้งค่า แต่ฉันเห็นด้วยฉันชอบที่จะเชื่อมต่อในสถานการณ์ส่วนใหญ่
หนัก

1

ขึ้นอยู่กับการตั้งค่าเครือข่ายของ vm ของคุณคุณอาจต้องเพิ่ม IP เพิ่มเติมไปยัง Host OS ที่อยู่บนเครือข่ายย่อยเดียวกันกับ vm ของคุณเพื่อให้สามารถสื่อสารได้ vm ของคุณอาจมีที่อยู่ 192.168.xx ดังนั้นเพิ่มที่อยู่ที่คล้ายกันลงในเครื่อง Mac:

ตัวอย่างถ้า vm มี 192.168.1.99 และ subnet mask 255.255.255.0 คุณสามารถทำสิ่งนี้กับโฮสต์ของคุณ:

ifconfig eth0: 0 192.168.1.199 netmask 255.255.255.0 ขึ้นไป

คุณอาจต้องรีสตาร์ทอะแดปเตอร์ด้วย


1

ฉันมีปัญหาที่แน่นอนเหมือนกันเฉพาะฉันเท่านั้นที่ใช้ Windows 7 ในฐานะแขก

สิ่งที่ฉันทำคือ Start -> Run -> cmdเพื่อแสดงบรรทัดคำสั่ง

ipconfigเพื่อแสดงรายละเอียดการเชื่อมต่อ ค้นหาที่อยู่ที่ดูเหมือน 10.xxx นั่นคือ Mac ของคุณ

ตอนนี้ใช้มันเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ในพื้นที่ของคุณบน Mac ของคุณ

สำหรับฉันมันมักจะเป็นสิ่งที่ชอบ http://10.0.2.2:80/blah

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