mosh 集成 upnpc 实现 NAT 穿透

2023-11-06
1 min read

mosh 通过 SSH 建立连接, 但连接建立后远端服务端口是动态的, 所以不适用一般的静态端口映射。 这时 upnp 就可以派上用场。

upnp 简单理解就是局域网内client端根据协议要求向路由器等gateway发送转发规则从而实现临时的动态的端口转发。

附一个shell实现的远端集成upnpc的启动脚本。

Dependencies

  • iproute2
  • miniupnpc
  • mosh

Install

# Clone this repo
git clone https://x.muio.cn:7773/rexoen/mosh-server-upnp-bash

# Modify the interface value
cd mosh-server-upnp-bash

vim mosh_server_upnp.sh
# ...
#!/usr/bin/bash
ifname=wlp2s0 # modify this to your network interface
# ...

# Install script in your server $PATH
sudo install -Dm755 mosh_server_upnp.sh /usr/local/bin

Usage

# connect server from client
mosh --server=mosh_server_upnp.sh user@server-ip