# FRP内网穿透

# 什么是FRP

FRP 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议,主要是一个开源框架。 https://github.com/fatedier/frp (opens new window) 在这里插入图片描述

# 下载FRP

# 部署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
上次更新: 3/16/2024, 11:22:51 PM