簡單的連接埠隧道 Linux

簡單的連接埠隧道 Linux

我希望使用 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虛擬設備傳輸任何流量。

相關內容