frp搭建内网穿透服务
借鉴:杂记 | 使用FRP搭建内网穿透服务(新版toml配置文件,搭配反向代理食用)_frps.toml-CSDN博客
FRP 主要由两部分组成:
FRPC客户端(frp client)
- 运行在公司内网机器上
- 接收来自公网的访问请求
- 将请求转发给内网服务
FRPS 服务端(frp server)
- 部署在具有公网 IP 的机器上
- 暴露服务的公网入口
- 接收公网访问请求
- 通过加密隧道转发到 FRPC
wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz
版本下载:Releases · fatedier/frp · GitHub
修改服务端配置frps.toml
# frps.toml bindPort = 7000 # 服务端与客户端通信端口 transport.tls.force = true # 服务端将只接受 TLS链接 auth.token = "public" # 身份验证令牌,frpc要与frps一致 # Server Dashboard,可以查看frp服务状态以及统计信息 webServer.addr = "0.0.0.0" # 后台管理地址 webServer.port = 7500 # 后台管理端口 webServer.user = "admin" # 后台登录用户名 webServer.password = "admin" # 后台登录密码
服务端启动命令
./frps -c frps.toml
修改客户端端配置frpc.toml
# frpc.toml transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true serverAddr = "x.x.x.x" serverPort = 7000 # 公网服务端通信端口 auth.token = "public" # 令牌,与公网服务端保持一致 [[proxies]] name = "test-http" type = "tcp" localIP = "127.0.0.1" # 需要暴露的服务的IP localPort = 9000 # 将本地9000端口的服务暴露在公网的6060端口 remotePort = 6060 # 暴露服务的公网入口 [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 6000
客户端启动命令
./frpc -c frpc.toml
配置完成,访问公网ip:6000端口即可实现访问内网机器ip:22
为防止进程停止导致内网机器无法远程,配置成system服务可自动重启
vi /etc/systemd/system/frpc.service
[Unit] Description=frpc After=network.target Wants=network.target [Service] Restart=always RestartSec=5 ExecStart=/opt/frp/frpc -c /opt/frp/frpc.toml [Install] WantedBy=multi-user.target
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类