การกำหนดค่าแล็ปท็อปของฉันเพื่อให้บริการเว็บไซต์ผ่าน openssh


0

ฉันพยายามให้เพื่อนของฉันเข้าถึงเว็บไซต์ที่ฉันพัฒนาให้เขา ฉันอยู่บนเครื่อง Ubuntu 16.04 Desktop ใช้งานเว็บเซิร์ฟเวอร์ Flask (หลาม) และฉันใช้Vodafone R216-Z 4G WiFiเราเตอร์ เขา (เพื่อนของฉัน) กำลังใช้สมาร์ทโฟน Adroid

จากคำตอบนี้ผมเข้าใจว่าฉันอาจจะสามารถให้บริการเว็บไซต์ผ่าน SSH opensshดังนั้นผมติดตั้ง ยิ่งกว่านั้นในคำตอบเดียวกันฉันถูกบอกให้ส่งต่อพอร์ต 22 จากเราเตอร์ของฉัน ฉันไม่แน่ใจว่าจะทำอย่างไรและทำตามขั้นตอนในภายหลัง

ฉันเจอเซสชันของเราเตอร์ที่ชื่อ "การตั้งค่า NAT" ซึ่ง (ตามการสนทนานี้ ) จะอนุญาตให้ฉันส่งต่อพอร์ต 22 แต่ฉันไม่รู้ว่าต้องป้อนข้อมูลอะไรเป็น "IP ปลายทาง" ฉันลองกับไอพีที่พบการเรียกใช้ifconfigคำสั่งจากเทอร์มินัล (เท่าที่ฉันรู้ว่ามันเป็น IP ส่วนตัวของฉัน) และพอร์ต 22 ทั้งพอร์ตต้นทางและปลายทาง

จากนั้นฉันดาวน์โหลดไคลเอ็นต์ ssh บนโทรศัพท์และฉันพยายามกำหนดค่าให้ที่อยู่ IP เดียวกับ "เซิร์ฟเวอร์ IP" ชื่อผู้ใช้ที่พบในเซสชันเทอร์มินัล (หลังเครื่องหมาย @) และพอร์ต 22 ไม่มีอะไรเกิดขึ้น

ฉันไม่แน่ใจในสิ่งที่ต้องทำตอนนี้:

  1. ฉันควรจะป้อนอะไรจากเทอร์มินัล (ฝั่งเซิร์ฟเวอร์) เป็นคำสั่ง ssh ไปที่ "start" บริการ (ถ้ายังไม่ได้เริ่ม)
  2. ฉันจำเป็นต้องใช้ IP ส่วนตัวของฉันหรือ IP สาธารณะ (ซึ่งฉันพบว่า googling แต่ก็อ่านว่า "มันสามารถซ่อนได้โดยพร็อกซีหรือ IP ของเราเตอร์")

EDIT1

ดังนั้นนี่คือสถานการณ์หลังจากทำตามคำแนะนำของTomEus

ฉันตั้งค่าสแตติก IP ใน Ubuntu Desktop ของฉันเพื่อให้เป็นตอนนี้ 192.168.0.100

จากนั้นฉันตั้งค่าการตั้งค่า NAT ของเราเตอร์ตามภาพด้านล่างตามที่แนะนำ

การกำหนดค่า NAT

ตอนนี้เมื่อฉันเริ่มต้นเว็บเซิร์ฟเวอร์ Flask ฉันสามารถดูหน้าเว็บจากแล็ปท็อปของฉันเองตามที่คาดไว้localhost:5000แต่ฉันไม่เห็นจากอุปกรณ์อื่นที่เชื่อมต่อกับเครือข่ายเดียวกันที่ทำ192.168.0.100:5000(ก่อนตั้งค่า IP แบบคงที่มันทำงานอยู่ IP คือ แตกต่างอย่างชัดเจน) แปลกฉันเห็นจากดีบักเกอร์เว็บเซิร์ฟเวอร์ว่าอุปกรณ์พยายามเชื่อมต่อ แต่ได้รับสถานะ 404

นอกจากนี้เมื่อพยายามเข้าถึงหน้าเดียวกันจากอุปกรณ์ที่ไม่ได้อยู่ในเครือข่ายท้องถิ่นของฉัน (เป้าหมายสุดท้ายของฉัน) ฉันใส่ IP ที่พบwww.whatismyip.comเช่น URL (ไม่มีพอร์ต) แต่เบราว์เซอร์แจ้งว่าไม่สามารถมองเห็นหน้าได้

เพียงเพื่อให้ข้อมูลเพิ่มเติมหนึ่งรายการหากมีเหตุผล: เราเตอร์ของฉันกำลังตั้งค่าด้วยการเปิดใช้งาน DHCP ฉันต้องปิดการใช้งานหรือไม่ ขอบคุณล่วงหน้าอีกครั้งสำหรับความช่วยเหลือใด ๆ !


1
"แต่ฉันไม่รู้ว่าจะป้อนข้อมูลเป็น IP ปลายทาง" - คุณต้องใช้ที่อยู่ IP ของอุปกรณ์คุณต้องการส่งต่อการรับส่งข้อมูลทั้งหมดที่มีอยู่ในพอร์ต 22 ไปยัง เครือข่ายภายในส่วนใหญ่ไม่ได้รับการกำหนดค่าเพื่อรองรับการนำทางไปยังเว็บไซต์ที่มีที่อยู่ IP สาธารณะของเราเตอร์ / โมเด็ม
Ramhound

1
ดูเหมือนว่าคุณกำลังใช้การเชื่อมต่อบรอดแบนด์มือถือ วิธีนี้อาจทำให้คุณไม่สามารถทำการส่งต่อพอร์ตได้เนื่องจากผู้ให้บริการโทรศัพท์มือถือส่วนใหญ่ไม่อนุญาตให้บริการ (หรือไม่สนับสนุน) ให้โฮสต์ผ่าน IP ของพวกเขา
Ryan Tse

ตามคู่มือของ TomEus ที่ให้มาสิ่งนี้ดูเหมือนจะเป็นไปได้ใช่มั้ย ฉันหวังว่ามันจะเป็น .... มิฉะนั้นฉันกำลังเรียนรู้สิ่งใหม่ที่ฉันเดา
umbe1987

ดูเหมือนว่าฉันต้องซื้อIP สาธารณะคงที่จาก ISP ของฉันก่อนที่จะทำการส่งต่อพอร์ต
umbe1987

@Ryan Tse Quoting ศูนย์บริการลูกค้าของ Vodafone (เพิ่งเรียกว่า): "ไม่สามารถทำได้เพราะไม่ได้ทำงานกับเครือข่ายมือถือ" .... คุณพูดถูกต้องขอบคุณ
umbe1987

คำตอบ:


1

ฉันไม่แน่ใจว่าทำไมคำตอบของ SSH แต่ฉันคิดว่าวิธีนี้สามารถทำได้ง่ายกว่า:

ในเราเตอร์คุณพบการตั้งค่า NAT (ไม่ใช่ NAS!) บางครั้งเรียกว่าการส่งต่อพอร์ต ตั้งค่าดังต่อไปนี้:

IP ของเดสก์ท็อปของคุณ (ปลายทาง) ด้วยพอร์ต 80

พอร์ตต้นทาง 80

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นค้นหา IP สาธารณะของเราเตอร์ของคุณโดยไปที่ www.whatismyip.com และมอบให้กับเพื่อนของคุณ

คุณสามารถทดสอบว่ามันใช้งานได้ทั้งหมดโดยการป้อน IP ของเดสก์ท็อปของคุณไปยังเบราว์เซอร์ของคุณเอง - คุณควรจะได้รับเว็บไซต์จากนั้นป้อน IP ของเราเตอร์ของคุณที่พบในขั้นตอนก่อนหน้า

คู่มือฉบับสมบูรณ์สำหรับเราเตอร์เฉพาะของคุณอยู่ที่นี่


ขอบคุณแก้ไข NAS เป็นตัวพิมพ์ผิด NAT อย่างไรก็ตามดูเหมือนว่าฉันต้องการที่อยู่ IP แบบคงที่และฉันไม่รู้จริงๆว่าต้องทำอย่างไร ... เนื่องจากการป้อน IP บนเดสก์ท็อปดูเหมือนจะไม่ทำงานอย่างน่าเสียดาย หลังจากใส่ในหน้า NAT พร้อมกับพอร์ต 80 ฉันพยายามใส่ IP ที่ whatsmyip จากสมาร์ทโฟน แต่ไม่มีอะไรปรากฏขึ้น IP ที่ฉันป้อนอาจผิดหรือเปล่า? ฉันพบมันด้วยคำสั่ง ifconfig
umbe1987

หากคุณป้อน IP ของเดสก์ท็อป (ภายใน) (อันที่คุณได้รับจาก ifconfig) แสดงว่าเว็บเซิร์ฟเวอร์ของคุณไม่ทำงาน แก้ไขก่อน
TomEus

หลังจากนั้นคุณควรย้ายไปยังการตั้งค่าการส่งต่อพอร์ต
TomEus

แต่มันกำลังทำงานอยู่ อันที่จริงฉันเห็นหน้าเว็บกำลังทำ localhost: 5000 จากเบราว์เซอร์ ฉันแก้ไขคำถามด้วยการอัพเดทบางอย่าง
umbe1987

1
ดูว่าเป็นปัญหา - คุณใช้ localhost: 5,000 - ดังนั้นคุณไม่ได้ใช้เว็บเซิร์ฟเวอร์บนพอร์ตเริ่มต้น 80! ในกรณีนี้พอร์ตปลายทางของคุณจะต้องเป็น 5000 แทนที่จะเป็น 80
TomEus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.