卡卷网
当前位置:卡卷网 / 每日看点 / 正文

如何搭建frp内网穿透?

作者:卡卷网发布时间:2025-01-12 18:20浏览数量:86次评论数量:0次

FRP0.52.3版本部署

本教程服务端使用的阿里云服务器,centos7.9系统,客户端本地虚拟机centos7.9系统。

服务端:只需要部署frps服务,启动即可,如需更多需求课访问frp官方参考。
客户端:部署frpc服务,目前我代理访问的是本机,如需访问本地多主机,可以使用Nginx配置代理访问。
注:每次修改配置文件,都需要重启服务,即可生效。

1、frp 是什么?

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

2、为什么选择 frp?

通过在具有公网 IP 的节点上部署 frp 服务端,您可以轻松地将内网服务穿透到公网,并享受以下专业特性:

  • 多种协议支持:客户端服务端通信支持 TCP、QUIC、KCP 和 Websocket 等多种协议。
  • TCP 连接流式复用:在单个连接上承载多个请求,减少连接建立时间,降低请求延迟。
  • 代理组间的负载均衡。
  • 端口复用:多个服务可以通过同一个服务端端口暴露。
  • P2P 通信:流量不必经过服务器中转,充分利用带宽资源。
  • 客户端插件:提供多个原生支持的客户端插件,如静态文件查看、HTTPS/HTTP 协议转换、HTTP、SOCKS5 代理等,以便满足各种需求。
  • 服务端插件系统:高度可扩展的服务端插件系统,便于根据自身需求进行功能扩展。
  • 用户友好的 UI 页面:提供服务端和客户端的用户界面,使配置和监控变得更加方便。

3、下载FRP

frp官网:github.com/fatedier/frp

进官网自行选择自己想要下载的版本,根据自己要部署的服务器的类型来选择。

我这里是centos7系统,所以下载的是linux_amd64.tar.gz。

wget https://objects.githubusercontent.com/github-production-release-asset-2e65be/48378947/dbb4b12e-609f-4a3e-8938-8a6152a6c568?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20241214%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241214T180818Z&X-Amz-Expires=300&X-Amz-Signature=5eaea14d69b49c4b00564b04fdfec470ae50015af56fb730a8cd87bf7563b3fc&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dfrp_0.52.3_linux_amd64.tar.gz&response-content-type=application%2Foctet-stream

3.1、解压压缩包

tar xvf frp_0.52.3_linux_amd64.tar.gz mv frp_0.52.3_linux_amd64 frp

4、配置服务端(frps)

cd /frp/ vim frps.toml

如何搭建frp内网穿透?  第1张

# 以下是frps配置的内容,具体内容根据自己需求而定,可以参考官方教程 # frp监听的端口,默认是7000,可以改为其它未使用的端口,客户端连接时需要 bindPort = 7000 # 设置认证模式 auth.method = "token" # token 密钥,客户端连接需要 auth.token = "oHtGGdmEHRknjJMp" # http 协议端口,可以随意更改 vhostHTTPPort = 80 # https 协议端口,可以随意更改 vhostHTTPSPort = 443 # 自定义二级域名配置 subdomainHost = "63339.cn" # frp后台管理地址 webServer.addr = "0.0.0.0" # 管理端口 webServer.port = 7001 # 账户 webServer.user = "admin" # 密码 webServer.password = "admin" #enable_prometheus = true #log_file = /data/frp/frps.log #log_level = info #og_max_days = 3

如何搭建frp内网穿透?  第2张

#下图为管理界面

如何搭建frp内网穿透?  第3张

4.1、设置systemd启动

在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。

1.创建 frps.service 文件

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

sudo vim /etc/systemd/system/frps.service

写入内容

[Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动frps的命令,需修改为您的frps的安装路径 ExecStart = /data/frp/frps -c /data/frp/frps.toml [Install] WantedBy = multi-user.target

2.使用 systemd 命令管理 frps 服务

# 重载systemctl sudo systemctl daemon-reload # 启动frp sudo systemctl start frps # 停止frp sudo systemctl stop frps # 重启frp sudo systemctl restart frps # 查看frp状态 sudo systemctl status frps # 设置开机自启 sudo systemctl enable frps

如何搭建frp内网穿透?  第4张

5、配置客户端(frpc)

客户端使用的也是centos7环境,所以跟服务端使用的是一个,下载到客户端机器即可。

1.编辑客户端配置文件(frpc.ini)

vim frpc.toml # 公网IP serverAddr = "0.0.0.0" serverPort = 7000 auth.method = "token" # 填写服务端的token值 auth.token = "oHtGGdmEHRknjJMp" # 案例 代理本地ssh [[proxies]] name = "test-tcp" # 类型 type = "tcp" localIP = "127.0.0.1" # 本地端口 localPort = 22 # 监听远端端口 remotePort = 8000 [[proxies]] name = "web01-tcp" type = "http" localIP = "192.168.110.8" localPort = 80 #remotePort = 7000 # 此处填的web01,访问的完整域名就是web01.63339.cn subDomain = "web01" #customDomains = ["63339.cn"]

5.1、设置systemd启动

在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。

1.创建 frpc.service 文件

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frpc.service 文件,用于配置 frps 服务。

sudo vim /etc/systemd/system/frpc.service

写入内容

[Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动frps的命令,需修改为您的frps的安装路径 ExecStart = /data/frp/frpc -c /data/frp/frpc.toml [Install] WantedBy = multi-user.target

2.使用 systemd 命令管理 frpc 服务

# 重载systemctl sudo systemctl daemon-reload # 启动frp sudo systemctl start frpc # 停止frp sudo systemctl stop frpc # 重启frp sudo systemctl restart frpc # 查看frp状态 sudo systemctl status frpc # 设置开机自启 sudo systemctl enable frpc

如何搭建frp内网穿透?  第5张

6、测试结果

如何搭建frp内网穿透?  第6张

6.1、测试http方式访问

如何搭建frp内网穿透?  第7张

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码