首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

frp 内网穿透:让云服务器成为内网服务器的“摆渡人”

  • 25-04-21 15:21
  • 2274
  • 7283
juejin.cn

1. 介绍

对于开发者而言,云服务已成为不可或缺的基础设施工具。然而,市面上配置稍高的云服务器往往价格不菲,成为许多开发团队或个人项目的成本瓶颈。下面推荐一种高效且经济的解决方案:通过轻量级反向代理工具 FRP(Fast Reverse Proxy) ,将公网云服务器与内网设备无缝连接。这一方案能够突破传统云服务的限制,还可以扩展云服务器下设备的数量,并且还可以将不必要的服务器不用暴露在公网上极大的增加了安全性。

项目下载:github.com/fatedier/fr…

2. 服务端配置

2.1 安装和配置项目

  1. 服务器上下载项目
bash
代码解读
复制代码
# 选择对应的系统版本将项目下载到代码中 wget https://github.com/fatedier/frp/releases/download/v0.61.2/frp_0.61.2_linux_amd64.tar.gz
  1. 解压压缩包并更改文件夹名字
bash
代码解读
复制代码
# 解压项目 tar -zxvf frp_0.61.2_linux_amd64.tar.gz # 重命名为frp mv frp_0.61.2_linux_amd64 frp # 项目中对应的文件: # frpc 客户端可执行文件 # frpc.toml 客户端配置文件 # frps 服务端可执行文件 # frps.toml 服务端配置文件

服务端的配置文件修改和启动就对应 frps.toml , frps 两个文件

3.编辑配置文件

toml
代码解读
复制代码
bindPort = 7000 # 客户端连接的端口 auth.method = "token" # 认证方式 auth.token = "your_password" # 客户端需使用相同的token # 可选:Web管理界面(按需开启) webServer.addr = "0.0.0.0" webServer.port = 7500 webServer.user = "admin" webServer.password = "admin"

4.测试启动服务

bash
代码解读
复制代码
# 添加执行权限 chmod +x frps ./frps -c frps.toml

2.2 设置为系统后台启动(Linux)

将刚刚下载的frp文件转移至/usr/local/frp/下

  1. 创建systemd服务文件
bash
代码解读
复制代码
sudo vim /etc/systemd/system/frps.service

将配置文件内容粘贴进去

ini
代码解读
复制代码
[Unit] Description=FRP Server (frps) After=network.target [Service] Type=simple User=root # 如果 frps 需要高权限(如绑定低端口),否则改为你的用户名 WorkingDirectory=/usr/local/frp ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.toml Restart=on-failure # 崩溃时自动重启 RestartSec=5s StandardOutput=syslog StandardError=syslog [Install] WantedBy=multi-user.target
  1. 设置权限并启动服务
bash
代码解读
复制代码
# 确保 frps 可执行 sudo chmod +x /usr/local/frp/frps # 重新加载 systemd 配置 sudo systemctl daemon-reload # 启动 frps sudo systemctl start frps # 检查状态(看到 "active (running)" 即成功) sudo systemctl status frps # 设置开机自启 sudo systemctl enable frps
  1. 验证服务
    a.查看实时日志:
    bash
    代码解读
    复制代码
    journalctl -u frps -f
    b.测试端口
    bash
    代码解读
    复制代码
    curl http://127.0.0.1:7500 # 测试 Dashboard telnet 127.0.0.1 7000 # 测试客户端连接端口

2.客户端配置

2.1 安装和配置项目

  1. 项目的安装方式和服务端是一样的
    客户端的启动和配置文件修改对应:frpc,frpc.toml

2.修改配置文件 通过编辑sudo vim /usr/local/frp/frpc.toml 编辑frpc.toml

toml
代码解读
复制代码
serverAddr = "0.0.0.0" # 你的FRP服务器IP serverPort = 7000 auth.method = "token" auth.token = "xxxxxxxxxxxxxx" # 与服务器一致的token [[proxies]] name = "ssh-tunnel" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 6000 # 服务器端监听的端口
  1. 测试运行
bash
代码解读
复制代码
cd /usr/local/frp sudo ./frpc -c frpc.toml

2.2 设置服务器后台自启

  1. 创建systemd 服务文件
shell
代码解读
复制代码
sudo vim /etc/systemd/system/frpc.service
  1. 服务器文件内容
ini
代码解读
复制代码
[Unit] Description=FRP Client Daemon After=network.target Wants=network.target [Service] Type=simple ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.toml Restart=on-failure RestartSec=5s User=nobody WorkingDirectory=/usr/local/frp [Install] WantedBy=multi-user.target
  1. 启用服务
shell
代码解读
复制代码
# 重新加载 systemd sudo systemctl daemon-reload # 设置开机启动 sudo systemctl enable frpc # 立即启动服务 sudo systemctl start frpc # 检查状态 sudo systemctl status frpc

3. 结尾

通过以上配置可以实现通过云服务器实现从公网上访问到内网的服务器,后续可以根据自己的需求,部署Gitlab,jenkinbs,nginx等服务,并且可以只将需要向外暴露的服务端端口使用反向代理,不需要暴露的服务就在内网访问控制,可以确保数据和服务端安全

注:本文转载自juejin.cn的Haley_的文章"https://juejin.cn/post/7489358088379777051"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

133
开发工具
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top