ฉันมีเซิร์ฟเวอร์ Ubuntu (Ubuntu 20.04.2 LTS) ติดตั้งบน Hyper-V ด้วย ภายนอก
อินเทอร์เฟซมี IP ของตัวเอง ฉันเชื่อมต่อกับ Putty ผ่าน SSH และใช้งานได้
บนเครื่องนั้น ฉันได้ติดตั้งบริการของตัวเองซึ่งทำงานเป็นเซิร์ฟเวอร์ WebSocket ที่รับฟังพอร์ต 50000
ฉันทดสอบกับไคลเอนต์ที่ทำงานบน VM เดียวกันโดยเชื่อมต่อกับ ws://localhost:50000/
.
มันได้ผล.
จากนั้นฉันก็เรียกใช้ไคลเอนต์ทดสอบเดียวกันจากโฮสต์ของฉันโดยเชื่อมต่อกับ ws://ubuntu-vm:50000/
.
รายการ DNS อูบุนตู-vm
แก้ไขไปยัง IP ภายนอก VM ของฉัน ฉันใช้เพื่อเชื่อมต่อกับ VM ด้วย Putty
ping อูบุนตู-vm
แน่นอนทำงานได้อย่างถูกต้อง
นี่คือข้อความแสดงข้อผิดพลาดโดยละเอียดที่ฉันได้รับ:
HttpRequestException: ไม่สามารถทำการเชื่อมต่อได้เนื่องจากเครื่องเป้าหมายปฏิเสธอย่างแข็งขัน (อูบุนตู-vm:50000)
ที่อื่นที่ฉันอ่านฉันต้องเพิ่มกฎให้กับ Ubuntu Firewall ดังนั้นฉันจึงทำ:
sudo ufw อนุญาตจากพอร์ตใด ๆ ไปยังพอร์ตใดก็ได้ 50,000 proto tcp
sudo ufw อนุญาตจากพอร์ตใด ๆ ไปยังพอร์ตใดก็ได้ 50,000 proto udp
มันไม่ได้ช่วย มันใช้งานได้จาก VM แต่ไม่ทำงานจากโฮสต์ที่เห็น VM, pings VM และเชื่อมต่อกับ VM ผ่าน SSH
IDK อาจเป็นปัญหาเฉพาะกับ Hyper-V แต่อาจมีบางอย่างในการกำหนดค่าเซิร์ฟเวอร์ของฉันที่ฉันสามารถลองได้