ติดตั้ง
ที่บ้านฉันมีราสเบอรี่น้อย 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")