# FRP内网穿透
# 什么是FRP
FRP 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议,主要是一个开源框架。
https://github.com/fatedier/frp (opens new window)
# 下载FRP
- Mac darwin_amd64.tar.gz (opens new window)
- Centos linux_amd64.tar.gz (opens new window)
- Windows windows_amd64.tar.gz (opens new window)
# 部署FRP服务
- 解压下载的压缩包。
- 将 frpc 复制到内网服务所在的机器上。
- 将 frps 复制到拥有公网 IP 地址的机器上,并将它们放在任意目录。
# 开始配置
- 编写配置文件,目前支持的文件格式包括 TOML/YAML/JSON,旧的 INI 格式仍然支持,但已经不再推荐。
- 使用以下命令启动服务器:
./frps -c ./frps.toml
。 - 使用以下命令启动客户端:
./frpc -c ./frpc.toml
。 - 如果需要在后台长期运行,建议结合其他工具,如 systemd 和 supervisor。
# 服务端端配置 frps.toml/frps.ini
注意:最新版本frp使用TOML、YAML、JSON语法配置
假如服务端的IP地址为:121.128.8.1
bindPort: 7000
log_file: ./frps.log
log_level: info
log_max_days: 3
# 客户端配置 frpc.toml/frpc.ini
serverAddr = "121.128.8.1"
serverPort = 7000
[[proxies]]
name = "web"
type = "tcp"
localPort = 81
remotePort = 83
customDomains = ["121.128.8.1"]
[[proxies]]
name = "api"
type = "tcp"
localPort = 82
remotePort = 84
customDomains = ["121.128.8.1"]
# 客户端访问
http://121.128.8.1:83 映射到本地的 http://localhost:81
http://121.128.8.1:84 映射到本地的 http://localhost:82
# 后台运行与停止
# 运行
服务端
nohup ./frps -c frps.ini >/dev/null 2>&1 &
客户端
nohup ./frpc -c ./frpc.ini >/dev/null 2>&1 &
# 停止
ps -aux|grep frp| grep -v grep
root 3600 0.1 0.1 110188 9484 pts/0 Sl 15:04 0:00 ./frpc -c ./frpc.ini
执行之后如果显示如上内容则代表运行成功,需要停止则使用kill -9 进程号
命令
kill -9 3600