当前位置: 首页 > news >正文

frp+公网服务器实现内网穿透方案

frp+公网服务器实现内网穿透方案

总体思路是,利用一个具有公网IP的服务器作为跳板,将内网服务器的ip穿透出去

[frp中文地址](安装 | frp)

需要先从[GitHub地址](Releases · fatedier/frp)下载对应的frp版本

然后区分两个环境

  • 服务端:就是具有公网IP的服务器
  • 客户端:就是需要穿透出去网络的服务器

一、服务端配置

把下载的frp安装包放置到明确的目录下,并进行解压

image-20251031153339917

解压命令tar -xzf frp_0.65.0_linux_amd64.tar.gz

进入到解压缩的目录下,并查看修改frps.toml文件:

[root@iZwz96jppbbfoj33cmme5eZ admin]# cd frp_0.65.0_linux_amd64/
[root@iZwz96jppbbfoj33cmme5eZ frp_0.65.0_linux_amd64]# ls
frpc  frpc.toml  frps  frps.toml  LICENSE
[root@iZwz96jppbbfoj33cmme5eZ frp_0.65.0_linux_amd64]# vim frps.toml 

frps.toml内容如下:

bindPort = 7000

我没有使用http映射,也就是不需要域名映射,所以不需要设置vhostHTTPPort

也就是frps.toml没有做任何修改

然后使用文本编辑器 (如 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 = /home/admin/frp_0.65.0_linux_amd64/frps -c /home/admin/frp_0.65.0_linux_amd64/frps.toml[Install]
WantedBy = multi-user.target

然后可以管理frps了

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

如果frps的状态如下:

[root@iZwz96jppbbfoj33cmme5eZ frp_0.65.0_linux_amd64]# systemctl status frps
● frps.service - frp serverLoaded: loaded (/etc/systemd/system/frps.service; enabled; vendor preset: disabled)Active: active (running) since Fri 2025-10-31 11:52:07 CST; 3h 50min agoMain PID: 66736 (frps)Tasks: 5 (limit: 22547)Memory: 33.1MCGroup: /system.slice/frps.service└─66736 /home/admin/frp_0.65.0_linux_amd64/frps -c /home/admin/frp_0.65.0_linux_amd64/frps.toml

表示frps正常启动玉兴

需要设置frps为开机启动

systemctl enable frps

二、客户端配置

同样需要将下载的frp安装包放置到明确的目录下,并进行解压,这里就不再重复操作了

然后开始配置客户端文件frpc.toml,内容如下:

serverAddr = "公网IP地址"
serverPort = 7000[[proxies]]
name = "minio-console"
type = "tcp"
localIP = "内网IP地址"
localPort = 19090
remotePort = 19090[[proxies]]
name = "minio"
type = "tcp"
localIP = "内网IP地址"
localPort = 19000
remotePort = 19000[[proxies]]
name = "app-server"
type = "tcp"
localIP = "内网IP地址"
localPort = 8080
remotePort = 8080[[proxies]]
name = "web-page"
type = "tcp"
localIP = "内网IP地址"
localPort = 80
remotePort = 80

后台运行frpc,命令如下:

nohup ./frpc -c frpc.toml > frpc.log 2>&1 &

查看日志文件frpc.log,如果能看到启动成功的命令,就表示客户端配置完成了

image-20251031154920512

三、公网服务器端口开放

前面用到的19000,19090,8080,80这四个端口都需要开放

image-20251031155049134

四、穿透访问

可以使用公网服务器IP+19090端口测试访问minio控制台,如果能正常访问,代表成功实现了内网穿透

image-20251031155352553

五、总结

frp内网穿透的速度确实要比一些商用但是提供免费共呢个的产品,比如cpolar,ZeroNews等,速度要快很多,我都测试过

但是缺点就是需要有一个公网服务器作为跳板

如果能申请到一些免费的云服务器,确实还是很不错的

http://www.dtcms.com/a/554136.html

相关文章:

  • 变量与可变性:Rust中的数据绑定
  • OpenCV:BGR/RGB转I420(颜色失真),再转NV12
  • 社区网站模板全屋设计装修效果图
  • 404-Spring AI Alibaba Graph 可观测性 Langfuse 功能完整案例
  • 济南住房和城乡建设厅网站小程序制作流程及步骤
  • 测试分类介绍
  • 上海川沙网站建设goood 谷德设计网官网
  • 做网站买什么笔记本好wordpress 关闭自动保存
  • 用jsp做网站登录界面模板代理记账公司哪家好
  • 如何在 Bash 命令中执行命令 (嵌套命令) ?
  • Java调用DeepSeek-R1大模型实现商品订单信息提取
  • postgresql 高频使用语句
  • tiago moveit环境配置过程
  • 怎么做婚庆网站平台京东seo是什么意思
  • 认识linux -- 编辑器vim以及编译器gcc/g++和Makefile文件
  • 金仓KES RWC:高并发写入场景下的数据库优化解决方案
  • RabbitMQ详细介绍
  • 迅为RK3562开发板重新挂载remount
  • discuz修改网站标题硬件开发岗位要求
  • StarRocks Data Agent
  • golang封装可扩展的crontab
  • 南京美容网站建设饿了吗网站建设思路
  • 投诉网站怎么做做短视频的能跟几个网站签约
  • 网站维护怎么收费腾讯企点官网入口
  • 高频 Redis 面试题答案解析
  • wordpress 导航站主题系统自动删除了wordpress
  • LeetCode 面试经典 150_链表_分隔链表(65_86_C++_中等)(拆分+尾插法)
  • 一种MP3文件的压缩方法
  • 做网站时候图片和视频放在哪里c 2015 做网站
  • puppeteer函数笔记,设置token跳过登录、自动选择图片上传等