您好!欢迎访问云南IT信息网
广告位

从公网访问内网服务器

栏目: 日期: 浏览:1
现在有服务器A、服务器B,服务器A有算力没公网IP,服务器B有公网IP没算力,怎么能在家就ssh服务器A?

尝试过Zerotier,使用寿命不到一天。

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



关键词: