从公网访问内网服务器
Tailscale可以用,但是延迟太大。
好在有服务器B的帮助,可以使用Frp
官方文档https://gofrp.org/zh-cn/docs/setup/
app下载https://github.com/fatedier/frp/releases
先在服务器B上传frps和frps.toml,在frps.toml里写:
bindPort = 7000
意思是B服务器的7000端口绑定A服务器
然后按照https://gofrp.org/zh-cn/docs/setup/systemd/
安装systemd:
sudo apt install systemd
sudo vim /etc/systemd/system/frps.service,写:
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml
[Install]
WantedBy = multi-user.target
再sudo systemctl start frps启动服务器B的服务端
再在服务器A上传frpc和frpc.toml,frpc.toml里写:
serverAddr = "服务器B的ip"
serverPort = 7000
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
再同样使用systemd运行即可
现在可以用ssh -o Port=6000 服务器A用户名@服务器B.ip登录服务器A了
由于服务器B是国内ip,所以延迟远小于Tailscale