frp的使用

简介

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

文档

下载

您可以从 GitHub 的 Release 页面中下载最新版本的客户端和服务器二进制文件。所有文件都打包在一个压缩包中,还包含了一份完整的配置参数说明。

部署

  1. 解压下载的压缩包。
  2. 将 frpc 复制到内网服务所在的机器上。
  3. 将 frps 复制到拥有公网 IP 地址的机器上,并将它们放在任意目录。

开始使用!

  1. 编写配置文件,目前支持的文件格式包括 TOML/YAML/JSON,旧的 INI 格式仍然支持,但已经不再推荐。
  2. 使用以下命令启动服务器:./frps -c ./frps.toml
  3. 使用以下命令启动客户端:frpc.exe -c ./frpc.toml (这个地方和官网的略有不同,因为在window10的cmd窗口运行官网命令时报错,启动成功后不要关闭cmd窗口)。
  4. 如果需要在后台长期运行,建议结合其他工具,如 systemd 和 supervisor

如果您是 Windows 用户,需要在命令提示符中执行相同的命令。

有关如何编写配置文件,请参考 示例 部分中的内容。

配置文件

官网上面配置项说的非常的详细,下面介绍一下正在使用中的配置项

服务端

服务端frp压缩包:frp_0.58.0_linux_amd64.tar.gz

服务端 frpc.toml文件

bindPort = 7000

auth.method = "token"
auth.token = "******"
FieldTypeDescriptionRequired
bindAddrstring服务端监听地址,用于接收 frpc 的连接,默认监听 0.0.0.0。No
methodstring鉴权方式,可选值为 token 或 oidc,默认为 token。No
tokenstring在 method 为 token 时生效,客户端需要设置一样的值才能鉴权通过。No

客户端

客户端frp压缩包:frp_0.58.0_windows_amd64.zip

客户 端frpc.toml文件

serverAddr = "******"
serverPort = 7000
auth.token = "*****"

[[proxies]]
name = "web"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3333
remotePort = 5601
FieldTypeDescriptionRequired
serverAddrstring连接服务端的地址。No
serverPortint连接服务端的端口,默认为 7000。No
tokenstring在 method 为 token 时生效,客户端需要设置一样的值才能鉴权通过。No
namestring代理名称。Yes
typestring代理类型,可选值为 tcp, udp, http, https, tcpmux, stcp, sudp, xtcp。Yes
localIPstring被代理的本地服务 IP,默认为 127.0.0.1。No
localPortint被代理的本地服务端口。No
remotePortint服务端绑定的端口,用户访问服务端此端口的流量会被转发到对应的本地服务。No

注意: 💡 如果连接不上,检查一下服务器上bindPort对应的端口是否放开,例如:上面bindPort配置的是7000端口,然后需要将服务器对应的7000端口放开,并且remotePort 对应的端口也都要放开。

### 如何在 AutoDL 中配置和使用 FRP 实现内网穿透或端口转发 #### 安装 FRP 要在 AutoDL 环境下安装并配置 FRP,首先需要下载适合操作系统的版本。对于 Linux 用户来说,可以通过命令行工具 wget 或 curl 下载最新版的 frp 压缩包。 ```bash wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz tar -zxvf frp_0.47.0_linux_amd64.tar.gz cd frp_0.47.0_linux_amd64 ``` #### 配置服务器端 (VPS/云服务器) 创建 `frps.ini` 文件用于定义服务端参数: ```ini [common] bind_port = 7000 ; 绑定到此端口监听来自客户端连接请求 vhost_http_port = 80; 如果计划做 HTTP(S)代理,则设置该选项指定HTTP(S)流量进入哪个本地端口 token = your_token ; 设置 token 来验证客户端身份合法性 dashboard_port = 7500; 可选, 开启管理面板功能,默认关闭 ``` 启动 FRP 服务端程序: ```bash ./frps -c ./frps.ini & ``` #### 配置客户端 (AutoDL 计算节点) 编辑 `frpc.ini` 文件来描述如何映射远程机器上的资源到本机上: ```ini [common] server_addr = x.x.x.x ; 这里填写上面提到的服务端 IP 地址 server_port = 7000 ; 和 bind_port 对应一致 token = your_token ; 同样填入之前设定好的 token 字符串 [tcp_service_name] type = tcp ; 显式声明这是一个 TCP 类型隧道 local_ip = 127.0.0.1 ; 表明实际提供服务所在位置(即localhost) local_port = 9000 ; 此处为本地应用正在运行所占用的真实端口号 remote_port = 6001 ; 设定好外部世界访问这个内部服务时使用的虚拟端口编号 ``` 启动 FRP 客户端实例: ```bash nohup ./frpc -c ./frpc.ini &>/dev/null & ``` 此时,在 VPS 上通过 `<your_vps_ip>:6001` 就可以成功访问位于 AutoDL 内部网络中的应用程序了[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值