返回 首页

使用ssh tunnel 连接 udp


ssh 隧道不能直接转发 udp 流量, 因此需要设法使用 udp ->tcp -> ssh tnunnel -> tcp -> udp 的形式进行ssh穿透, 以便在本地进行 udp 连接调试.

步骤:

1. 通过ssh 隧道将本地计算机端口号 6667 上的 TCP 连接转发到 ssh_server 上的端口号 6667

# 本地执行
ssh -L 6667:localhost:6667 ssh_server  -N

2. 将服务器 6667端口的 TCP 流量转发到 192.168.250.1 9600端口的UDP 流量, 需要创建fifo进行双向通信.

# 在服务器上执行

mkfifo /tmp/fifo
nc -l -p 6667 < /tmp/fifo | nc -u 192.168.250.1 9600 > /tmp/fifo

3. 将本地6667端口的tcp流量转发到本地9600端口的UDP流量, 同样也需要fifo

mkfifo /tmp/fifo1
nc -l -u -p 9600 < /tmp/fifo1 | nc localhost 6667 > /tmp/fifo1

然后连接本地电脑的9600端口即可


登录