ติดตั้ง
ที่บ้านฉันมีราสเบอรี่น้อย 3 ที่ให้บริการที่เปิดรับอินเทอร์เน็ต ตัวอย่างเช่นกำลังเรียกใช้เซิร์ฟเวอร์ HTTP ฉันจะเรียกเซิร์ฟเวอร์raspberry
นี้ ฉันสามารถจัดการraspberry
จากระยะไกลผ่าน SSH: ผมได้เปิดพอร์ต22
บนเราเตอร์ของฉันที่บ้านและดังนั้นการเข้าชม IP raspberry
สาธารณะของฉันสำหรับพอร์ตนี้จะถูกส่งต่อไปยัง จนถึงตอนนี้ดีมาก
raspberry
สถาปัตยกรรมของมันคือarm64
และมันทำงานFreeBSD
ซึ่งทำให้เป็นไปไม่ได้ (เห็นได้ชัดว่าฉันลองแฮ็ค แต่ไม่มีลูกเต๋า) สำหรับฉันที่จะเรียกใช้เซิร์ฟเวอร์เกม (UrbanTerror 4.3)
ฉันยังมีเครื่องอื่นซึ่งเป็น ThinkPad (ต่อมาเมื่อ: thinkpad
) ทำงานOpenBSD
และก็มีamd64
สถาปัตยกรรมซึ่งไม่ในความเป็นจริงให้ฉันไปใช้เซิร์ฟเวอร์ที่ต้องการ จากthinkpad
ฉันสามารถเข้าถึงได้raspberry
โดยใช้ SSH
คำถาม
ตอนนี้ฉันไม่ได้อยู่บ้านแต่อยู่ในเครือข่ายที่ต่างออกไป ฉันมีความต้องการที่ไม่อาจต้านทานได้ในการโฮสต์เซิร์ฟเวอร์ของฉันในตอนนี้ แต่ฉันไม่สามารถจัดการกับมันได้raspberry
ดังที่ฉันพูด
จะเป็นไปได้ไหมที่จะใช้เซิร์ฟเวอร์thinkpad
และเปิดช่องทางรับส่งข้อมูลทั้งหมดraspberry
(เนื่องจากฉันสามารถเปิดเผยอินเทอร์เน็ตได้ในขณะที่ต่างประเทศที่นี่ฉันไม่มีสิทธิ์ของผู้ดูแลระบบสำหรับเราเตอร์)
โดยพื้นฐานแล้วสิ่งที่ฉันต้องการคือการเปิดใช้งานเซิร์ฟเวอร์thinkpad
เหมือนกำลังเปิดใช้งานraspberry
ในแง่ของเครือข่าย นั่นคือเซิร์ฟเวอร์จะปรากฏในเซิร์ฟเวอร์เบราว์เซอร์และผู้เล่นจะสามารถที่จะเชื่อมต่อการจราจรจะมาถึงที่raspberry
ผ่านพอร์ตเช่น27900
และมันจะถูกส่งผ่านทางอินเทอร์เน็ตผ่านทาง SSH thinkpad
ไป
ป.ล. ฉันรู้ว่าสิ่งนี้อาจส่งผลให้ประสิทธิภาพการทำงานลดลงเนื่องจากการส่งสัญญาณข้อมูลผ่าน SSH แต่ฉันยังคงต้องการลอง
ขอบคุณล่วงหน้าและขออภัยสำหรับการโพสต์ยาว!
แก้ไข 2018-12-14: นี่คือสิ่งที่ฉันได้ลองไปแล้ว
ดังนั้นฉันต้องการอุโมงค์ SSH แบบย้อนกลับสำหรับสิ่งนี้ ฉันสร้างอุโมงค์จากthinkpad
ชอบ
ssh -N -R :27960:localhost:27960 <raspberry's public IP>
สร้างอุโมงค์สำเร็จแล้ว ฉันตรวจสอบด้วยnetstat
เปิดraspberry
และฟังอยู่*:27960
(แต่ TCP นี่เป็นปัญหาหรือไม่ UrbanTerror เช่นเกมอื่นใช้ UDP) ตอนนี้ฉันเปิดตัวเซิร์ฟเวอร์thinkpad
ครั้งแล้วครั้งเล่าด้วยnetstat
ฉันเห็นว่ามันกำลังฟัง*:27960
(UDP)
ฉันลองเปิดไคลเอนต์ UrbanTerror thinkpad
และเชื่อมต่อกับ<raspberry's IP>
แต่มันไม่ทำงาน ในการแก้ไขปัญหาฉันพยายามทำสิ่งเดียวกันขณะที่ทำงาน
tcpdump -n -e -ttt -i ue0 | grep 27960
raspberry
บน เมื่อฉันพยายามเข้าร่วมเซิร์ฟเวอร์ของฉันผ่านraspberry
จาก UrbanTerror ต่อไปนี้จะปรากฏในการถ่ายโอนข้อมูล:
188.112.111.89.27961 > 192.168.0.33.27960: UDP, length 16
192.168.0.33 > 188.112.111.89: ICMP 192.168.0.33 udp port 27960 unreachable
(ฉันถอดเอาท์พุทสำหรับความกะทัดรัด)
188.112.111.89
คือประชาชนในปัจจุบันทรัพย์สินทางปัญญาthinkpad
และเป็นของหลักสูตร192.168.0.33
raspberry
ทำไมพอร์ตถึง27960
ไม่สามารถเข้าถึงได้? เห็นได้ชัดว่าตามnetstat
, thinkpad
ฟังพอร์ตที่
เพียงเพื่อทดสอบการเชื่อมต่อผมพยายามทำงานnc -l 27960
บนthinkpad
และnc localhost 27960
บนraspberry
: ผมสามารถสื่อสารได้ทั้งสองทิศทาง w / o ปัญหา
ฉันคิดว่ามันยังมีมูลค่าการกล่าวขวัญว่าฉันมีOpenBSD
's pf
กรองแพ็คเก็ตที่ทำงานบนเครื่องทั้งสอง แต่ฉันต้องปิดการใช้งานสำหรับการแก้ไขปัญหา
man ssh
? ในคำถามนี้การตั้งค่าคล้ายกัน (แปล: "Plex" -> "thinkpad"; "เซิร์ฟเวอร์ระยะไกล" -> "raspberry")