จะเชื่อมต่อเครือข่ายระหว่างเครื่องเสมือนใน VirtualBox ได้อย่างไร


92

ฉันมีสองเครื่องเสมือนใน VirtualBox ฉันต้องการเชื่อมโยงเครือข่ายระหว่างกัน สำหรับช่วงเวลาที่ฉันมีการกำหนดค่าเริ่มต้นบนทั้งสอง แต่พวกเขาดูเหมือนจะมีเหมือนกันที่อยู่ 10.0.2.15IP ฉันต้องการที่จะใช้อินเทอร์เน็ตกับทั้งคู่และนั่นก็เป็นไปได้ในตอนนี้

โดยค่าเริ่มต้นการตั้งค่าเครือข่ายคือ NAT แต่ดูเหมือนว่าพวกเขาไม่สามารถเครือข่ายภายในเนื่องจากพวกเขามี IP เดียวกัน แต่ถ้าฉันเปลี่ยนเป็นinternal networkingฉันเดาว่าฉันไม่สามารถเข้าถึงอินเทอร์เน็ตด้วยเครื่องเสมือนได้

ฉันจะตั้งค่าเครือข่ายระหว่างแขกเสมือนและสามารถเข้าถึงอินเทอร์เน็ตได้อย่างไร

คำตอบ:


57

คุณได้ลองคู่มือเครือข่ายเสมือนนี้หรือยัง?

เครื่องเสมือนได้รับที่อยู่เครือข่ายและการกำหนดค่าบนเครือข่ายส่วนตัวจากเซิร์ฟเวอร์ DHCP ที่รวมอยู่ใน VirtualBox ที่อยู่ IP ที่กำหนดให้กับเครื่องเสมือนจึงมักจะอยู่ในเครือข่ายที่แตกต่างจากโฮสต์อย่างสิ้นเชิง เนื่องจากสามารถตั้งค่าการ์ดเสมือนของเครื่องเสมือนได้มากกว่าหนึ่งใบเพื่อใช้ NAT การ์ดแรกจะเชื่อมต่อกับเครือข่ายส่วนตัว 10.0.2.0 การ์ดใบที่สองกับเครือข่าย 10.0.3.0 และอื่น ๆ

ฉันคิดว่าสิ่งที่คุณกำลังมองหาคือ " เครือข่ายภายใน " ซึ่งเชื่อมต่อกับ VM ภายในซึ่งกันและกัน

คุณสามารถใช้กล่องโต้ตอบ "การตั้งค่า" ของ VM ในส่วนติดต่อผู้ใช้แบบกราฟิกของ VirtualBox ในหมวดหมู่ "เครือข่าย" ของกล่องโต้ตอบการตั้งค่าเลือก "เครือข่ายภายใน" จากรายการดรอปดาวน์ของโหมดเครือข่าย ตอนนี้เลือกชื่อของเครือข่ายภายในที่มีอยู่จากรายการแบบหล่นลงด้านล่างหรือป้อนชื่อใหม่ลงในช่องป้อนข้อมูล


1
ขอบคุณที่ถูกต้อง ระบบเครือข่ายภายในทำงานได้ แต่ไม่ได้มาพร้อมกับ DHCP ดังนั้นฉันจึงลองใช้โซลูชัน Bridged ขอบคุณ
Jonas


3
@ Joe อินเทอร์เน็ตลิงก์ของคุณใช้ได้ แต่ฉันเข้าใจหลังจากอ่านblog.techprognosis.com/2011/02/28/…แล้วเท่านั้น ที่กล่าวว่าฉันได้ทำงานเครือข่ายภายใน ฉันไม่สามารถเลือกโหมดโฮสต์หรือบริดจ์ได้เนื่องจากอะแดปเตอร์ที่เหมาะสมหายไป
bernd_k

1
ลิงก์ในความคิดเห็นก่อนหน้านี้ใช้งานไม่ได้สำหรับฉันนี่ดูเหมือนจะเป็นลิงก์ที่
Nicola Musatti

สิ่งนี้ไม่ได้ผลสำหรับฉันจนกว่าฉันจะตั้งเป็น IP แบบคงที่
VaTo

31

ฉันพบวิธีแก้ไขปัญหาต่อไปนี้สำหรับสภาพแวดล้อมของฉัน:

  • อะแดปเตอร์แรกที่มีเครือข่ายภายในเพื่อเข้าถึง VM- อื่น ๆ
  • อะแด็ปเตอร์ตัวที่สองที่มี NAT เพื่อเข้าถึงอินเทอร์เน็ต

การตั้งค่าเหล่านั้นสามารถทำได้โดย GUI Oracle VM VirtualBox Manager ตอนแรกฉันมีปัญหาเช่นเดียวกับโจนัสฉันคิดถึง DHCP ในที่สุดฉันก็พบบทความนี้ (คัดลอกเก็บถาวร, ลิงค์เดิมเสียชีวิต) และฉันใช้:

VBoxManage dhcpserver add --netname intnet --ip 10.13.13.100 --netmask 255.255.255.0 --lowerip 10.13.13.101 --upperip 10.13.13.254 --enable

จากบรรทัดคำสั่ง หลังจากนั้นก็ทำงานได้ดี

ฉันกล้าพูดว่าคู่มือเป็นทรัพยากรที่ไม่ดีเนื่องจากการกำหนดค่าส่วนใหญ่ของ VirtualBox บนโฮสต์ Windows สามารถทำได้โดย GUI และเป็นความไม่สะดวกอย่างรุนแรงที่ไม่สามารถกำหนดค่า DHCP ด้วย GUI ได้

สภาพแวดล้อมของฉัน: ฉันใช้ VirtualBox แบบพกพา 4.1.2r73507 บน Windows 7 64 บิต ปัจจุบันโหมดโฮสต์และบริดจ์เชื่อมต่อไม่ทำงานเนื่องจากอะแดปเตอร์เฉพาะโฮสต์ขาดหายไป ฉันมีปัญหาคล้ายกับที่อธิบายไว้ในคำถามภาษาเยอรมันในฟอรัม Virtual Boxฉันไม่มีอะแดปเตอร์โฮสต์เท่านั้น


ฉันมี dhcpserver ของ intnet อยู่แล้วโดยค่าเริ่มต้นเมื่อฉันติดตั้ง virtualbox 4.3.x แต่มันไม่ได้เชื่อมต่ออินเทอร์เน็ตเมื่อฉันใช้ nat
pwned

11

นี่คือวิธีที่ฉันเชื่อมต่อแขก vbox ในโหมด NAT เท่านั้น (ทดสอบบน VirtualBox 4.2.4)

เพียงใช้ IP ของเกตเวย์เพื่อเปลี่ยนจากแขกหนึ่งคนไปยังโฮสต์ จากนั้นใช้พอร์ตการส่งต่อเพื่อ "พร็อกซี" การรับส่งข้อมูลโฮสต์ไปยังแขกรายอื่น

ตัวอย่างเช่นหาก guest A ต้องการเข้าถึงบริการ guest B ที่ฟังพอร์ต 1,000 A จะต้องใช้เกตเวย์ IP (สำหรับอินเตอร์เฟส NAT แรกนั่นคือ 10.0.2.2) จากนั้นคุณต้องกำหนดค่าการส่งต่อพอร์ตบน guest B เพื่อให้ทราฟฟิกทั้งหมดที่โฮสต์ได้รับบนพอร์ต 1000 ไปที่ guest B บนพอร์ต 1000

นี่อาจไม่ทำงานสำหรับบริการทุกอย่าง แต่ดูเหมือนว่าจะทำงานได้ดีสำหรับ ssh, เกลือ, ...

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


1
สิ่งนี้ทำงานได้อย่างไม่มีที่ติสำหรับกรณีการใช้งานของฉัน (ทดสอบ ie8 บนแขก xp ที่เชื่อมต่อกับเซิร์ฟเวอร์ในแขกลินุกซ์)
Ted

+1 สำหรับความเรียบง่ายและตรงไปตรงมามาก!
Emre Sevinç

9

คุณต้องใช้ประเภท LAN ของการเชื่อมต่อกับโฮสต์ (บางอย่างในภาษาอังกฤษ) บนเครื่องของแขกและการเชื่อมต่อของบริดจ์บนเครื่องของคุณ


3

(ตอบคำถามโดย bernd_k)

สำหรับการแชร์ไฟล์ระหว่างโฮสต์และแขกจริง ๆ แล้วหนึ่งคนแบ่งปันไดเรกทอรีมากกว่าไฟล์

หากโหมดเครือข่ายเชื่อมต่อหรือ NAT จากนั้นโฮสต์และผู้เข้าร่วมคือพันธมิตรเครือข่ายที่เท่ากัน แม้ว่าการตั้งค่าทั้งหมดจะมีอยู่ในโฮสต์เดียว แต่เครือข่ายที่ฉลาดจะมีค่าเท่ากันในเครือข่ายราวกับว่าเป็นเครื่องจริง (บางครั้ง NAT ก็มีปัญหาในการใช้มากกว่าการเชื่อมต่อ)

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

บทความต่อไปนี้อธิบายด้วยรายละเอียดที่ดีเกี่ยวกับวิธีแชร์โฟลเดอร์ใน Windows:
ฉันจะแชร์โฟลเดอร์ใน Windows 7 ด้วยตัวช่วยสร้างโฟลเดอร์ที่ใช้ร่วมกันได้อย่างไร


2
คำแนะนำของคุณมีค่าในภายหลัง แต่ก่อนการแชร์ไฟล์หรือโฟลเดอร์คุณจะต้องสามารถ ping เครื่องอื่นได้
bernd_k

2

ฉันมีการ์ดเครือข่ายสองใบใน Oracle VM XP PC ของฉัน

Bridging ที่ 1 ด้วย IP address ที่รวดเร็วเช่นเดียวกับที่ใช้เป็นไคลเอนต์ที่มีการกำหนดค่าเครือข่ายเซิร์ฟเวอร์ เปลี่ยนเกตเวย์เริ่มต้นเป็นเช่นเดียวกับการ์ดเครือข่ายสอง (Nat 2)

2nd Nat พร้อมรับที่อยู่ IP จาก Oracle VM

ทำงานได้ดี!


2

ฉันทำตามขั้นตอนต่อไปนี้และทำงานได้ดีกับฉันในที่สุด (บน CentOS VB):

  • ใช้ NAT สำหรับอะแดปเตอร์เครือข่ายหลัก (การตั้งค่า -> เครือข่าย -> Adapter1 "ต่อกับ NAT")
  • เพิ่มอะแดปเตอร์อื่น (การตั้งค่า -> เครือข่าย -> เปิดใช้งานอะแดปเตอร์ 2 "ต่อกับอะแดปเตอร์สำหรับโฮสต์เท่านั้น") -> ตั้งค่า "โหมดโปรเจ็กเตอร์" เป็น "อนุญาตทั้งหมด"
  • เริ่มต้น VB
  • เพิ่มอินเทอร์เฟซเครือข่ายอื่น (cp / etc / sysconfig / network-สคริปต์ / ifcfg-eth0 / etc / sysconfig / network-script / ifcfg-eth1)
  • เปลี่ยนที่อยู่ MAC สำหรับ eth1 ตามที่ปรากฏใน Adapter2 ((การตั้งค่า -> เครือข่าย ->)
  • รีสตาร์ทเครือข่าย "เครือข่ายบริการรีสตาร์ท"

จากนั้น VB นี้ควรเข้าถึงอินเทอร์เน็ตและสามารถเข้าถึงได้จากเครื่องอื่น ๆ (VBs และเครื่องท้องถิ่น)

บันทึก:

อะแดปเตอร์ NAT จะใช้ในการเข้าถึงอินเทอร์เน็ตในขณะที่อะแดปเตอร์สำหรับโฮสต์เท่านั้นจะใช้สำหรับการเข้าถึงเครือข่ายระหว่าง VBs อื่น ๆ และเครื่องภายในเช่นกัน


0

ฉันไม่รู้ว่ามันจะใช้งานได้หรือไม่ แต่ความคิดของฉันคือ:

  1. เปลี่ยน IP เป็น diff number ในเครื่องเสมือนเดียว (ในโหมด NAT)

  2. เปลี่ยนเครื่องเสมือนอื่นเป็น Bridged

  3. กำหนดการตั้งค่าในระบบทั้งสองให้กับเครื่องค้นหาซึ่งกันและกัน รีสตาร์ททุกสิ่ง

หาก 1 + 3 หรือ 1 + 2 + 3 ไม่ทำงานให้ลองทำดังนี้: สร้างโฟลเดอร์แชร์บนเครื่องโฮสต์และแชร์โฟลเดอร์ไปยังเครื่องเสมือน 2 เครื่องในการตั้งค่ากล่องเสมือน รีสตาร์ทและvoilá?

ฉันรู้ว่าตัวเลือกที่สองเป็นวิธีแก้ปัญหา


0

เปลี่ยนเครือข่ายที่แนบมาเป็นบริดจ์อะแดปเตอร์ในเครือข่ายภายใต้การตั้งค่า

แค่นั้นแหละ; สามารถเชื่อมต่อพีซีเสมือนสองเครื่องได้

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