จะอนุญาตให้คอมพิวเตอร์อื่น ๆ ในเครือข่ายเข้าถึงเว็บเซิร์ฟเวอร์เสมือนของฉันได้อย่างไร


11

ฉันใช้ Windows 7 เป็นโฮสต์ระบบปฏิบัติการ ฉันติดตั้ง Debian 6.0.4 บน VirtualBox ด้วย lighttpd

ฉันสามารถเข้าถึงเว็บเซิร์ฟเวอร์จากเครื่องของฉันได้อย่างง่ายดายโดยพิมพ์http://localhostในแผงที่อยู่ของเบราว์เซอร์ แต่คอมพิวเตอร์อื่น ๆ จากเครือข่ายของฉันไม่สามารถเข้าถึงได้โดยพิมพ์ที่อยู่ IP ของฉัน

ฉันใช้การส่งต่อพอร์ต NAT ใน VirtualBox ฉันควรทำอย่างไรเพื่อให้เว็บเซิร์ฟเวอร์ของฉันพร้อมใช้งานสำหรับทุกคนในเครือข่ายของฉัน

แก้ไข:

ฉันมาที่ 'ทางออก' - ฉันต้องตั้งค่าพอร์ตแขกและโฮสต์พอร์ตเป็นพอร์ตอื่น แต่ฉันยังคงมีปัญหากับเรื่องนี้คือ:

เซิร์ฟเวอร์เปิดตัวที่พอร์ต 8080

Port forwarding : guest port 8080
                  host port 80

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

แต่ฉันสามารถเข้าถึงเซิร์ฟเวอร์จากเครื่องอื่น ๆ บนเครือข่ายโดย IP:8080

คำตอบ:


9

ทางเลือกหนึ่งคือการเปลี่ยนอะแดปเตอร์เครือข่ายของเครื่องเสมือนเป็นโหมดบริดจ์ จากนั้นคุณควรจะสามารถเข้าถึงเซิร์ฟเวอร์เสมือนจากเครื่องอื่น ๆ ในเครือข่ายโดยระบุที่อยู่ IP ของแขกของคุณ

แก้ไข:

สำหรับด้านการปฏิบัติให้ดูที่เอกสาร VirtualBox บนเครือข่ายเสมือน ตัวเลือกของคุณคือการใช้เครือข่ายบริดจ์

ด้วยเครือข่าย bridged, VirtualBox ใช้ไดรเวอร์อุปกรณ์ในระบบโฮสต์ของคุณที่กรองข้อมูลจากอะแดปเตอร์เครือข่ายทางกายภาพของคุณ โปรแกรมควบคุมนี้จึงเรียกว่าโปรแกรมควบคุม "ตัวกรองสุทธิ" สิ่งนี้ทำให้ VirtualBox สามารถดักจับข้อมูลจากเครือข่ายทางกายภาพและฉีดข้อมูลลงในนั้นได้อย่างมีประสิทธิภาพการสร้างส่วนต่อประสานเครือข่ายใหม่ในซอฟต์แวร์ เมื่อแขกใช้ซอฟต์แวร์อินเทอร์เฟซใหม่มันจะดูระบบโฮสต์ราวกับว่าแขกนั้นเชื่อมต่อกับอินเตอร์เฟซโดยใช้สายเคเบิลเครือข่าย: โฮสต์สามารถส่งข้อมูลไปยังแขกผ่านอินเตอร์เฟซนั้นและรับข้อมูลจากมัน ซึ่งหมายความว่าคุณสามารถตั้งค่าการเราต์หรือการเชื่อมต่อระหว่างแขกและส่วนที่เหลือของเครือข่ายของคุณ

หรือการส่งต่อพอร์ต :

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

ดังนั้นในกรณีของการส่งต่อพอร์ต NAT คุณควรใช้คำสั่งต่อไปนี้:

VBoxManage modifyvm "VM name" --natpf1 "guesthttp,tcp,,80,,80"

แต่ฉันใช้ WiFi และเท่าที่ฉันรู้ฉันจะต้องใช้อะแดปเตอร์ usb WiFi เพื่อให้โหมดบริดจ์ทำงานได้
Patryk

@ Patryk: ฉันได้ให้รายละเอียดเพิ่มเติม; มันเป็นสะพานเสมือนจริงที่เรากำลังพูดถึง
Karolos

นี่เป็นระเบียบเรียบร้อย แต่ฉันรู้แล้วและปัญหาก็คือฉันมีการส่งต่อพอร์ตที่ใช้งานอยู่: image
Patryk

@ Patryk: ขออภัยฉันไม่ได้ตระหนักถึงสิ่งนั้น ในกรณีนี้ฉันสงสัยว่าคุณมีไฟร์วอลล์บางอย่างที่ทำให้ไม่สามารถเชื่อมต่อได้ ลองดูที่นี่: windows.microsoft.com/en-US/windows7/…
Karolos

@Patryck - เริ่มต้นด้วยวิธีที่ง่ายที่สุดและทำงานเพื่อผลลัพธ์ที่คุณต้องการ คุณต้องตรวจสอบให้แน่ใจว่าบนเซิร์ฟเวอร์ของคุณก) ไฟร์วอลล์ได้รับการกำหนดค่าอย่างถูกต้องและ b) บริการที่ต้องการได้รับการกำหนดค่าและทำงานอย่างถูกต้อง (เช่น - SSH)
Joe Internet

1

โอเคฉันแก้ปัญหานี้แล้วหลังจากขุดบนอินเทอร์เน็ตไม่กี่ชั่วโมง

ปัญหาคือSPikของฉัน IM communicator ซึ่งกำลังฟังบนพอร์ต 80 หลังจากปิดและรีบูตเครื่องทุกอย่างทำงานได้อย่างมีเสน่ห์ :)

ฉันได้อ่านแล้วว่าอาจมีปัญหาเดียวกันกับเช่น Skype


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