frp是非常热门的高性能反代应用,可以轻松的做到内网穿透,我们在开发过程中,经常需要将一些机器的调试口短暂暴露出来,这样就可以随时随地的开发了,本文基于frp介绍一下如何配置,提高开发效率
直接上github找最近的release即可
https://github.com/fatedier/frp/
当前是0.64.0。
下载frp主要分主机和调试机器,主机在amd64上,所以如下下载,而其他架构则是自己的调试机器,我的机器比较多,所以下面几个机器我都配好了。
上述机器根据不同的架构下载不同的linux二进制即可。
wget https://github.com/fatedier/frp/releases/download/v0.64.0/frp_0.64.0_linux_xxx.tar.gz
下载之后解压,里面有服务端配置和客户端配置,下面介绍配置
服务端是需要公网ip的,默认简单配置如下
# frps.toml bindPort = 1111 auth.token = "********"
运行如下
./frps -c frps.toml
然后编写一个简单的systemd service即可。
[Unit] Description=FRP Server [Service] Type = simple ExecStart = /pathtofrp/run.sh [Install] WantedBy=multi-user.target
然后安装激活服务即可
cp frps.service /usr/lib/systemd/system/ systemctl enable frps systemctl start frps
客户端是自己的设备机器,默认22端口最多,其他情况下vnc 5900端口或者其他web端口都可以,自行配置即可,我以22为例介绍,配置如下
# frpc.toml serverAddr = "***********" serverPort = 2222 auth.token = "********" [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 3333
同样运行如下
./frpc -c frpc.toml
编写成服务如下
[Unit] Description=FRP Client [Service] Type = simple ExecStart = /pathtofrp/run.sh [Install] WantedBy=multi-user.target
激活服务如下
cp frpc.service /usr/lib/systemd/system/ systemctl enable frpc systemctl start frpc
服务端暴露的端口1111是服务主机端口,而客户端链接端口2222是公网端口,这里代理设置端口3333是公网给localPort的连接的端口。
frp作为免费开源的反代程序,其配置和使用也非常轻松易用。非常方便软件开发者进行远程开发。