我希望使用 UDP 和 TCP 將遊戲伺服器 (Minecraft) 連接埠 25565 從一台 Ubuntu 伺服器轉送到另一台。我可以使用 SSH -R 選項輕鬆完成此操作,但它僅適用於 tcp,我該怎麼做才能使其適用於 udp?
答案1
最簡單的方法是nc
在兩側使用 FIFO:
ssh -R
首先在連接埠 25566 上建立另一個 TCP 隧道來源端:連接目標伺服器的UDP連接埠25565和TCP連接埠25566
mkfifo /some/path/to.fifo
nc -l -p 25566 < /some/path/to.fifo | nc -u target.server.ip 25565 > /some/path/to.fifo
在目標端:將 TCP 連接埠 25566 與 UDP 連接埠 25565 連接
mkfifo /some/path/to.fifo
nc -l -u -p 25565 < /some/path/to.fifo | nc source.server.ip 25566 > /some/path/to.fifo
因此 UDP 流量被封裝到另一個連接埠上的 TCP 中,並透過以下方式轉送:ssh
您可能還想考慮ssh -w
透過 SSH 創建一個只有兩個參與者的極其簡單的 VPN。然後可以透過tun
虛擬設備傳輸任何流量。