ฉันมีที่อยู่ IP สำหรับเครื่อง Ubuntu และฉันต้องการเข้าถึงแอปพลิเคชันที่ทำงานบน localhost ใน Ubuntu จากกล่องเสมือนของ Windows มีวิธีทำหรือไม่? การพิมพ์ [ที่อยู่ inet]: 8080 ไม่ทำงาน
ฉันมีที่อยู่ IP สำหรับเครื่อง Ubuntu และฉันต้องการเข้าถึงแอปพลิเคชันที่ทำงานบน localhost ใน Ubuntu จากกล่องเสมือนของ Windows มีวิธีทำหรือไม่? การพิมพ์ [ที่อยู่ inet]: 8080 ไม่ทำงาน
คำตอบ:
Windows มี "ของตัวเอง" localhost
ดังนั้นคุณต้อง "ช่วย" หาของอูบุนตู
ในเครื่องเสมือนของคุณไปที่ ip นี้http://10.0.2.2/
และมันควรจะทำงาน คุณสามารถแก้ไขไฟล์โฮสต์ windows เพื่อให้localhost
ชี้ไปที่ไอพีนั้นดังนั้นคุณไม่จำเป็นต้องจำมัน
ใน: C:\Windows\System32\drivers\etc\hosts
เพิ่ม:
10.0.2.2 localhost
คุณสามารถตั้งค่าเครื่องเสมือนให้ใช้การเชื่อมต่อบริดจ์ วิธีดังกล่าวเครื่องเสมือนจะได้รับที่อยู่ IP ของตนเองและคุณควรจะสามารถเชื่อมต่อกับเครื่องโฮสต์ได้
ขั้นแรกตรวจสอบให้แน่ใจว่ากระบวนการเซิร์ฟเวอร์เว็บทำงานอยู่ พิมพ์localhost:8080
ในหน้าต่างเบราว์เซอร์บนเครื่อง Ubuntu ของคุณ หากคุณได้รับหน้าเว็บที่คุณคาดว่าจะดำเนินการในขั้นตอนถัดไปมิฉะนั้นให้เริ่มกระบวนการเว็บเซิร์ฟเวอร์และลองอีกครั้ง
ประการที่สองตรวจสอบให้แน่ใจว่าเครื่องทั้งสองอยู่ในเครือข่ายย่อยเดียวกัน เช่นสิ่งที่ชอบ192.168.x.y/255.255.255.0
และ192.168.x.z/255.255.25.0
ถ้าไม่ทำการปรับเปลี่ยนที่จำเป็นและดำเนินการขั้นตอนต่อไป
ประการที่สามตรวจสอบว่าไฟร์วอลล์ทำงานบนเซิร์ฟเวอร์อูบุนตูของคุณหรือไม่ ถ้าเป็นเช่นนั้นตรวจสอบว่าพอร์ตที่ต้องการเปิด ( 8080
ในกรณีของคุณ) หากคุณไม่ต้องการที่จะเปิดพอร์ตเพื่อการเข้าถึงสาธารณะคุณสามารถกำหนดค่ากฎเพื่อยอมรับการรับส่งข้อมูลจากเครือข่ายย่อยท้องถิ่น
แก้ไข: ขั้นตอนที่ 0 ทำการตั้งค่าที่แนะนำในคำตอบโดย @Eeroz
หากคุณใช้ Ubuntu คุณต้องปิดไฟร์วอลล์ก่อน
sudo ufw disable
ตอนนี้หาที่อยู่ ipv4 ของคุณจากการตั้งค่าระบบ -> เครือข่ายและคลิกที่ลูกศรของ wifi ที่เชื่อมต่อเพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับมันคุณจะพบที่อยู่ ipv4 ของพีซีของคุณ จากนั้นคุณสามารถใช้ localhost ของพีซีของคุณเป็น
อย่าลืมเปิดใช้งานไฟร์วอลล์หลังจากทำงานเสร็จใช้งาน -
sudo ufw enable
ไชโย
หากคุณระบุว่าเป็นไฟร์วอลล์ของคุณฉันขอแนะนำให้เพิ่มกฎนี้แทนการปิดใช้งานไฟร์วอลล์ของคุณ:
sudo ufw allow 8080
เมื่อเสร็จแล้วคุณควรเรียกใช้:
sudo ufw status numbered
ค้นหาตัวเลขในวงเล็บ พูดมัน[ 1]
และ[ 3]
:
sudo ufw delete 1 3
แล้วถ้าคุณอยู่ในกล่องเสมือนคุณจะนำทางไปถ้าคุณมีชุดเครือข่ายของคุณเป็นhttp://10.0.2.2:8080
NAT
คุณสามารถทำเช่นนี้กับพอร์ตใดก็ได้และมันจะทำงานเหมือนกัน
แม้ว่านี่จะเป็นงานพิเศษ แต่คุณไม่ควรปิดไฟร์วอลล์ในเครือข่ายที่ปลอดภัย