ฉันมี Ubuntu 20.04 VM บนโฮสต์ Windows 11 เครือข่ายเป็นแบบ NAT
IP โฮสต์ Windows 11 = 192.168.10.25
VM ไอพี = 10.0.2.25
ufw
ไม่ได้ใช้งาน
กฎการส่งต่อพอร์ต NAT บน VirtualBox:
กฎ #1: SSH
โปรโตคอล: TCP
IP โฮสต์: 0.0.0.0
โฮสต์พอร์ต: 22
IP ของแขก: 10.0.2.25
ท่าเรือแขก: 22
-------------
กฎ #2: HTTP
โปรโตคอล: TCP
IP โฮสต์: 0.0.0.0
โฮสต์พอร์ต: 80
IP ของแขก: 10.0.2.25
แขกพอร์ต: 8000
ฉันเปิดพอร์ตทั้งหมดในกฎขาออกและขาเข้าของไฟร์วอลล์โฮสต์ Windows 11
จาก PC2 (พีซีบน LAN) ฉันสามารถ SSH ไปยัง VM ด้วย PuTTY โดยใช้ 192.168.10.25@22
จากนั้นฉันเริ่มเซิร์ฟเวอร์ที่พอร์ต 8000
บน VM และแสดง: เซิร์ฟเวอร์การพัฒนาเริ่มต้นเมื่อ 127.0.0.1:8000
จากนั้นฉันก็ไปที่เบราว์เซอร์บน 192.168.10.25
(ไม่มีพอร์ตเพราะส่งต่อ 80
ถึง 8000
) แต่ฉันได้รับ "ไม่สามารถเข้าถึงไซต์"
จากนั้นฉันลอง SSH จากเทอร์มินัล VSCode และเริ่มเซิร์ฟเวอร์อีกครั้ง จากนั้น VScode ก็แสดงข้อความว่า "พอร์ต 8000 ส่งต่อโดยอัตโนมัติ" จากนั้นฉันก็ไปที่เบราว์เซอร์ 127.0.0.1:8000
และมันแสดงให้ฉันเห็นเว็บไซต์
ทำไมให้ผมดูเว็บจาก PC2 ซึ่งแยกจาก host/VM แล้วดูบน IP วนกลับของมันเอง 127.0.0.1:8000
? แล้วจะให้มันทำงานจาก IP ที่ถูกต้องได้อย่างไร?