วิธีเข้าถึง Vbox guest จากโฮสต์เมื่อใช้เครือข่าย NAT


13

การใช้ Fedora หรือ Ubuntu สำหรับโฮสต์ที่มีไฟร์วอลล์ปิดอยู่ในแต่ละด้าน (vbox guest & host) ฉันต้องทำอย่างไรในการเข้าถึงเครื่องเกสต์โดยใช้อินเตอร์เฟส NAT เช่นเดียวกับอินเทอร์เฟซบริดจ์ (เฉพาะจากโฮสต์ vbox!)

อัปเดต : ifconfigบนเครื่องโฮสต์:

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:41:56:6B:78:4E  
      inet addr:192.168.1.2  Bcast:.192.168.1.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:271850 errors:0 dropped:0 overruns:0 frame:0
      TX packets:144494 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:256776500 (244.8 MiB)  TX bytes:10670238 (10.1 MiB)
      Interrupt:16 Memory:fc500000-fc520000 

lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:77698 errors:0 dropped:0 overruns:0 frame:0
      TX packets:77698 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:104227086 (99.3 MiB)  TX bytes:104227086 (99.3 MiB)

vboxnet0  Link encap:Ethernet  HWaddr 0A:00:27:00:00:00  
      BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

คำตอบ:


12

ตามเอกสารนี้ VirtualBox เวอร์ชันปัจจุบันไม่เปิดเผยอินเตอร์เฟส NAT ภายในไปยังเครื่องโฮสต์ คุณอาจกำหนดค่ากฎการส่งต่อพอร์ตพิเศษเพื่อเข้าถึงกล่อง แต่แม้โฮสต์ไม่สามารถเข้าถึงอินเตอร์เฟสทั้งหมด คุณควรใช้การเชื่อมต่อเครือข่ายระหว่างบริดจ์สำหรับสิ่งนั้น


ฉันอัพเดทคำถาม ไม่ฉันไม่มี IP เริ่มต้นจาก Virtualbox
LanceBaynes

ดูคำตอบที่อัปเดต ขออภัยเป็นเวลานานแล้วที่ฉันใช้ NAT ใน VirtualBox และเครื่องที่ฉันใช้นั้นมีส่วนต่อประสานที่สร้างโดยฉันดูเหมือนจะไม่ใช่ VB
Caleb

12

คำสั่งนี้จะส่งต่อการรับส่งข้อมูล TCP ทั้งหมดที่มาถึงบน localhost interface (127.0.0.1) ผ่านพอร์ต 33890 ไปยังพอร์ต 3389 ในแขก

$ VBoxManage modifyvm "xp" --natpf1 "guestrdp,tcp,127.0.0.1,33890,,3389"

โปรดเพิ่มนี่เป็นความคิดเห็นในคำตอบของฉันไม่ใช่คำตอบแยกต่างหาก
Caleb

1
ตอนแรกฉันแปลงสิ่งนี้เป็นความคิดเห็น แต่ดูเหมือนว่าจริง ๆ แล้วมันจะเพิ่มส่วนสำคัญของคำตอบ
Michael Mrozek

@Michael: มันไม่สำคัญอย่างใดอย่างหนึ่ง แต่วิธีการแก้ปัญหาไม่ใช่สิ่งที่คำถามของเขาถาม การส่งต่อพอร์ตแตกต่างจากการเปิดเผยอินเทอร์เฟซเครือข่ายในลักษณะเดียวกับการเชื่อมโยงดังนั้นฉันจึงไม่ได้รวมไวยากรณ์ที่แน่นอนในคำตอบของฉัน คำสั่งที่เขาแสดงนั้นมาจากเอกสารที่ฉันแนะนำและเชื่อมโยงไปถึงในกรณีที่การส่งต่อพอร์ตเป็นทางเลือกที่ยอมรับได้
Caleb

1

ฉันยังไม่ได้ทดสอบสิ่งนี้กับโฮสต์ Linux

ดูเหมือนว่าคุณต้องการใช้ NAT เพื่อให้แขกของคุณสามารถออกไปยังเครือข่าย แต่ยังต้องการเข้าถึงแขกโดยตรงจากโฮสต์โดยไม่ต้องใช้การส่งต่อพอร์ต

หากคุณสร้างเครือข่ายสองเครือข่ายบนเกสต์ - หนึ่งเป็นเครือข่าย NAT หรือ NAT และเครือข่ายที่สองเป็นอะแดปเตอร์สำหรับโฮสต์เท่านั้น - คุณสามารถทำสิ่งนี้ได้

การกำหนดค่า NAT ช่วยให้แขกของคุณสามารถออกอะแดปเตอร์เฉพาะโฮสต์ช่วยให้โฮสต์ของคุณเข้า

ฉันมักจะใช้เครือข่าย NAT เพื่อ vms ของฉันสามารถพูดคุยกัน ใน Windows gui การตั้งค่าทั้งสองได้รับการจัดการภายใต้ไฟล์ -> การตั้งค่า -> เครือข่าย

แท็บเครือข่าย NAT - เพิ่มเครือข่าย NAT แก้ไขและตั้งชื่อหรือช่วง IP ที่กำหนดเองหากคุณต้องการ

แท็บเครือข่ายเฉพาะโฮสต์ - แก้ไขอินเทอร์เฟซเริ่มต้นและตรวจสอบให้แน่ใจว่าที่อยู่ ipv4 อยู่ในเครือข่ายเดียวกัน (แต่ไม่ใช่ในช่วง dhcp!) ตามที่แท็บเซิร์ฟเวอร์ dhcp ได้รับการกำหนดค่า ฉันไม่ได้จับคู่นอกกรอบเพื่อให้เครือข่ายใช้งานไม่ได้

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