当前位置:首页 > 每日看点 > 正文内容

如何搭建frp内网穿透?

卡卷网10个月前 (01-12)每日看点163

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张

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8999.html

分享给朋友:

相关文章

有了Istio,开发还需要微服务架构吗?

有了Istio,开发还需要微服务架构吗?

Istio 是一个开源的服务网格(Service Mesh),通过它可以实现对服务间通信的管理和监控。对于那些本身没有设计为具备安全功能的传统应用程序,Istio 可以提供一个“透明”的安全保护层,而不需要对应用本身进行任何代码修改。 I...

Redmi 为什么可以把性价比做得那么高?

一位修手机的老大哥曾经跟我说过,红米1那个手机,除了处理器还凑活,其余零部件,就是市面上山寨机那种。其实红米性价比并不算极致,而且一直都有竞争者,从原来的群魔乱舞,到后来的荣耀,魅蓝,一加,再到现在的IQOO和realme。红米的方法也很简...

闲鱼上为什么会有人问都不问直接下单?

我去年卖一个荣耀90,挂的2200,最终成交2137.5元。对方是一个高高壮壮的西北口音,要求的自取。大概我吃过午饭,约了旁边的商场,那里有荣耀售后。见了面,先看了手机,试了好一会儿,各种测试,没问题。然后去了商场二楼的荣耀售后,让人家售后...

网易云音乐上看到过最触动的热评是什么?

网易云音乐上看到过最触动的热评是什么?

1.“昨天晚上洗澡的时候,我忘记拿毛巾了,喊了声妈妈帮我拿下毛巾,正当我伸出左手准备接毛巾的时候,我愣了一下,又换了右手。”希望你永远不会听懂这句话,永远都不要懂。——网易云热评《关键词》2.小时候跟着父亲去城里卖西瓜,害怕同学会看到我,就...

MacOS真的比Windows流畅吗?

我现在公司配的机器,配置是绝对的大古董了惠普z230sff薄塔cpu只是个4770,没错不是4790k,4770全核睿频只有3.8g显卡更是古董,k600,已经结束驱动更新支持了,显存仅1g,跑分跑不过13代uhd核显内存是加到16g得,但...

如何看待台积电,三星相继停供大陆7nm及更先进芯片?

在这个事出来之前,我就看到过一个说法,两家Foundry可以在中东建厂,让中东的Fab去干“脏活”。本质上是国内企业搞几个中东的代理人,装作是中东的初创Fabless企业去下单,人家Foundry大概率睁一只眼闭一只眼,只管数钱。然而,紧接...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。