# frp 内网穿透
家庭服务器由于是移动宽带(大内网),没有办法申请公网 ip,这样不在家的时候就无法进行服务器管理了。如果有公网 ip,可以使用 ddns,也可以用花生壳这类内网穿透工具。或者自己有一台有公网 ip 的云主机,可以通过 frp 应用来实现内网穿透。frp
# frp 使用
具体使用可以查看frp 使用文档,这里介绍下我用的场景:带 sk 校验的安全的 ssh 连接
在云主机上部署 fprs,配置如下:
[common]
bind_port = 7000
1
2
2
在需要暴露到内网的机器 A 上部署 frpc,配置如下:
[common]
server_addr = x.x.x.x
server_port = 7000
[secret_ssh]
type = stcp
# 只有 sk 一致的用户才能访问到此服务
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
在需要访问内网的机器 B 上部署 frpc,配置如下:
[common]
server_addr = x.x.x.x
server_port = 7000
[secret_ssh_visitor]
type = stcp
# stcp 的访问者
role = visitor
# 要访问的 stcp 代理的名字
server_name = secret_ssh
sk = abcdefg
# 绑定本地端口用于访问 SSH 服务
bind_addr = 127.0.0.1
bind_port = 6000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
在需要访问内网的机器上执行命令连接内网服务,例如用户为 root
ssh -oPort 6000 root@127.0.0.1
如果内网机器开启了密钥登录,则需要指定内网服务器的私钥文件
ssh -oPort 6000 -i identityFile root@127.0.0.1