参考:https://github.com/fatedier/frp/blob/master/README_zh.md
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
下载:1
wget https://github.com/fatedier/frp/releases/download/v0.23.1/frp_0.23.1_linux_amd64.tar.gz
解压:1
tar -xzvf frp_0.23.1_linux_amd64.tar.gz
根据对应的操作系统及架构,从 Release 页面下载最新版本的程序。
将 frps 及 frps.ini 放到具有公网 IP 的机器上。
将 frpc 及 frpc.ini 放到处于内网环境的机器上。
不需要的可以用rm -rf frpc或rm -rf frps删除。
通过 ssh 访问公司内网机器
修改 frps.ini 文件,这里使用了最简化的配置:
1 | # frps.ini |
ps:如果需要部署多台内网服务器,则可能需要复制一个frps.ini为frps1.ini<bind_port设置为7001(有时候不需要,玄学)1
cp frps.ini frps1.ini
启动frps:1
./frps -c ./frps.ini
内网端配置,修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x;1
2
3
4
5
6
7
8
9
10# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
启动 frpc:1
./frpc -c ./frpc.ini
通过 ssh 访问内网机器,假设用户名为 test:1
ssh -oPort=6000 test@x.x.x.x
有多台服务器,例如第二台,可以将frpc.ini写成:1
2
3
4
5
6
7
8
9
10# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh2]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6001
注意server_port可能要改7001,remote_port要改成不冲突原6000的端口,项目名要改为ssh2或者其他。
杀frp进程
使用htop可以看到frp的进程,可以使用1
kill -9 frp
杀掉所有frp的进程。