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

如何搭建frp内网穿透?

卡卷网1年前 (2025-01-12)每日看点207

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

分享给朋友:

相关文章

短视频如何快速变现?

短视频如何快速变现?

单人日产200条视频,一晚狂赚上千元,过程却简单到荒唐。只要你像这只猥琐的海鸥一样,做到这3点就行↓↓点开有惊喜速度快、不讲武德、不被发现那做短视频如何做到这3点?答案是养一只会叼视频的海鸥不是让你养真的海鸥而是用 ai 运营方法,类似于“...

怎么用游戏搬砖挣钱呢?

怎么用游戏搬砖挣钱呢?

今天,我把我多年操作的经验分享出来,以供各位老板们学习借鉴,胆小的老板就离开吧,心里承受能力太弱了,会刷新你的认知的。有些新人在计算收益的时候,会以机器数来计算,其实是有误区的,比如,一台机器一个月搞400元,平均每天搞13元钱,搞上100...

为什么我们一直在给B站充大会员但B站却一直处于亏损状态?

我讲一下离谱的真相吧,欢迎喷我。很多人都觉得B站在赶走人才,赶走优秀的长视频创作者,也觉得知乎在这么做,是没错的。确实在这么做。而原因很简单。只有影响力很大的KOL才有商业价值。(KOL是指“关键意见领袖”)而你说你是人才?对不起,人才不赚...

马云也搞不明白:为什么现在用户偏爱微信支付,而不是支付宝?

这题我会,我教马云一招。你直接把你那破比支付宝的代码全删了,重新写一个。打开支付宝直接就是一个大大的支付码,然后右上角按一下就是扫一扫。你要是还想保留你的其他那些乱七八糟的功能,麻烦将他们全部做到下拉菜单里。你这么设计我不说你能干死微信,但...

为什么扫码支付在中国流行,在发达国家被排斥?

因为这是一种落后的技术。卖菜的大爷花5毛钱就可以打印出一张二维码来接受付款。你觉着这种先进么?跟先进完全不沾边的。正是因为不先进,所以才能流行。卖菜大爷用不起一台先进的、具有NFC感应功能的、还能刷各种银行卡的收款机。这就是现实。发达国家,...

WordPress建站同时面向B端和C端,有什么好的解决方案?

这个很容易实现呀,只不过需要自己开发,整体用权限管理就可以实现了,B端和C端是不同用户权限,C端能看到的菜单入口和B端不一样就行了。技术层面实现没问题的,只不过就是看你们的技术能力和投入了 ,这样的需求应该没有现成的开源插件。只能找人定制开...

发表评论

访客

看不清,换一张

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