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

【群晖NAS】云服务器与群晖NAS(无公网)的FRP内网穿透之旅

【群晖NAS】云服务器与群晖NAS(无公网)的FRP内网穿透之旅

在这里插入图片描述

摘要

从零开始,手把手教你如何在云服务器和群晖NAS上安装FRP,轻松实现内网穿透,让你的私有网络随时随地与世界相连!

正文

今天,带大家了解如何利用云服务器和群晖NAS安装FRP,实现内网穿透。这不仅能让你的私有网络(无公网的家庭网络)变得更加开放和灵活,还能大大提升你的工作效率和生活品质(实现在外访问家庭内网,包括但不限于,影音,相册,云盘,网站 等等)。

1. 什么是FRP内网穿透?

FRP,全称Fast Reverse Proxy,是一种快速反向代理技术。通过FRP,你可以将你的私有网络映射到互联网上,实现内网穿透。无论你身处何地,只要能上网,就能随时访问你的私有网络资源。
在这里插入图片描述
我试过很多内网穿透(要钱的和免费)以及组网(zerotier,tailscale)方式,要么不稳定,要么要价太高,如果条件允许以及有让家人实现外网访问的需求,强烈建议自行搭建FRP进行内网穿透。(毕竟公网IP是个硬伤啊T_T~~)

2. 为什么选择云服务器和群晖NAS?

云服务器具有高度的可扩展性和灵活性,可以满足各种规模的网络需求。而群晖NAS则提供了丰富的存储和共享功能,方便我们对文件进行集中管理。两者结合,可以打造一个既安全又高效的私有云环境。

3. 安装步骤详解

主要分成两块,一个是云服务器(服务端),一个是自己的电脑(客户端)。

3.1 博主自身配置
3.1.1 云服务器:腾讯云轻量云服务器
- CPU 2核 内存 2GB
- 操作系统 Ubuntu Server 22.04 LTS 64bit
- 具备公网IP
3.1.2 群晖nas:
- DS220+ 
- DSM 7.2.1-69057 Update 4
- 家庭网络,不具备公网IP(T_T)
3.1.2 电脑:
- windows 11
- 软件 FinalShell
3.2 准备工作:
  • 首先,你需要有一台具有公网IP的云服务器。在这里我用的是腾讯轻量云服务器。
  • 申请方式可以参考我的下列文章
  • 【玩转腾讯云服务器】手把手教你如何注册和使用腾讯轻量云服务器,让你的业务飞起来!
3.3 云服务器安装FRP服务端:
  • 在云服务器上安装FRP服务端软件。根据你使用的操作系统,可以参考以下的安装指南进行操作。安装完成后,能够将你的私有网络映射到互联网上。
  • 云服务器端 安装教程:
3.3.1 打开FinalShell
  • 打开电脑上的FinalShell软件
  • 进入云服务器,并进行SSH(FinalShell 安装方法,可以参考下列文章)
  • 【终极利器】FinalShell:Windows上超好用的SSH工具,让你远程办公飞起来!

在这里插入图片描述

3.3.2 下载解压安装包
  • 可以前往以下github地址下载最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中。
  • github地址 https://github.com/fatedier/frp

在这里插入图片描述

  • 找到自己Linux合适的版本,下载,主流Linux版本基本上都是amd64。

    #下载:FinalShell中输入
    wget https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gz
    #解压
    tar -zxvf frp_0.53.2_linux_amd64.tar.gz
    #进入目录
    cd frp_0.53.2_linux_amd64/
    

[有时因为众所周知的网络问题,可能无法在正常连接github,可以通过我共享的文件包,手动上传至云服务器并解压]

在这里插入图片描述

3.3.3 配置服务器端
  • 进入文件夹,有两个文件 frpc(c结尾代表client)和frps(s结尾代表server),分别是客户端程序和服务端配置程序。
    • 云服务器中需要配置的是frps这个文件
    • 使用cd命令进入解压缩的文件夹
# 修改配置文件 frps.toml
vim frps.toml[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置(密码请自行修改)
dashboard_user = admin
dashboard_pwd = 12345
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081# 身份验证(请自行修改)
token = 1234567890
3.3.4 启动服务器端
  • 使用cd命令进入 放置frps.toml文件的文件夹

    ./frps -c ./frps.toml
    
3.3.5 其他命令
  • 配置frp服务开机自启。

    • 创建对应的目录和文件:
    sudo mkdir /etc/systemd/system
    sudo vim /etc/systemd/system/frps.service
    
  • frpc.service文件配置如下:(其中ExecStart修改成自己对应的文件路径)

    [Unit]
    Description = frps_service
    After = network.target syslog.target
    Wants = network.target[Service]
    Type = simple
    User = root
    ExecStart = /root/frp/frp_0.53.2_linux_amd64/frps -c /root/frp/frp_0.53.2_linux_amd64/frps.toml[Install]
    WantedBy=multi-user.target
    
  • 设置frp服务开机自启

    sudo systemctl enable frps
    
  • 其他frps常见指令:

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

    安装完成后,根据FRP服务端的配置信息,设置好相应的映射规则。

3.4 群晖nas安装FRP客户端:
  • 在你的群晖NAS上安装FRP客户端软件。
3.4.1 确认已安装矿神套件中心
  • 矿神套件中心安装方式,请参考下列文章
  • 【揭秘群晖NAS大神之作】矿神套件中心,轻松安装教程来啦!
3.4.2 安装Frpc套件

在这里插入图片描述

3.4.3 客户端配置文件

在这里插入图片描述

[common]
# 下面添加自己云服务器的IP地址
server_addr = 23.123.123.23
server_port = 7000
# 身份验证 添加服务器中设置的token
token = 1234567890[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# 下面的remote_port端口需要在部署frps的服务器中放行该端口
remote_port = 2222[nas]
type = tcp
local_ip = 192.168.2.110
local_port = 5000
remote_port = 5000
  • 请记得在云服务器中开启你所要使用的端口
3.4.4 测试内网穿透:
  • 打开你的浏览器,输入FRP服务端配置的公网地址
  • 例子:23.123.123.23:7500
    在这里插入图片描述
  • 如果能正常访问到你的私有网络资源,那么恭喜你,你已经成功实现了内网穿透!

4. 注意事项

4.1. 安全问题:
  • 在实现内网穿透的过程中,一定要确保你的网络环境足够安全。建议使用强密码、定期更换密码等措施来增强安全性。
4.2. 带宽问题:
  • 由于FRP需要进行数据转发,因此会对带宽产生一定的消耗。根据你的网络带宽和访问量大小,合理配置FRP的相关参数,以确保网络性能的稳定。
4.3. 服务质量:
  • 在使用云服务器和群晖NAS的过程中,可能会遇到一些不可预见的问题。建议定期检查设备状态和服务运行情况,以确保服务的稳定性和可用性。

结语

  • 通过这次旅程,相信你已经对如何在云服务器和群晖NAS上安装FRP实现内网穿透有了更深入的了解。如果你在实践过程中遇到任何问题,欢迎随时向我提问。让我们一起探索科技的无限可能!

文章转载自:
http://caledonia.zekgq.cn
http://alveolation.zekgq.cn
http://acceleration.zekgq.cn
http://acanthi.zekgq.cn
http://alexandrite.zekgq.cn
http://cerium.zekgq.cn
http://aitch.zekgq.cn
http://algal.zekgq.cn
http://bodensee.zekgq.cn
http://amtrac.zekgq.cn
http://bluestocking.zekgq.cn
http://adream.zekgq.cn
http://ashore.zekgq.cn
http://caddice.zekgq.cn
http://arenaceous.zekgq.cn
http://bivvy.zekgq.cn
http://artifical.zekgq.cn
http://choice.zekgq.cn
http://caribou.zekgq.cn
http://barnyard.zekgq.cn
http://checkerman.zekgq.cn
http://blemya.zekgq.cn
http://banns.zekgq.cn
http://boxtree.zekgq.cn
http://adagio.zekgq.cn
http://ascetically.zekgq.cn
http://afflux.zekgq.cn
http://aquatel.zekgq.cn
http://bedraggled.zekgq.cn
http://benin.zekgq.cn
http://www.dtcms.com/a/280963.html

相关文章:

  • Kimi K2 替换 Claude Code 默认模型
  • AI-Compass Embedding模型模块:15+主流向量化技术的多模态语义表示生态,涵盖文本图像音频嵌入、RAG检索增强、向量数据库集成与工程化实践
  • 进程创建与退出的原理
  • 5.数据归一化
  • Paimon 删除向量
  • 元宇宙经济:虚实交融下的数字文明新范式
  • Python 函数:从“是什么”到“怎么用”的完整指南
  • 【Linux驱动-快速回顾】一文快速理解GIC内部寄存器对中断的控制
  • Claude技术全景解读:从安全聊天机器人到自主智能体的演进之路
  • 数据结构自学Day7-- 二叉树
  • 项目总体框架(servlet+axios+Mybatis)
  • ue4 houdini pivot painter 学习笔记
  • 可微分3D高斯溅射(3DGS)在医学图像三维重建中的应用
  • OpenCV 对数变换函数logTransform()
  • ubuntu22.04 软创建 RAID1 与配置流程
  • pytest快速上手指南【pytest】
  • LED 照明应用提供高性价比方案?会是你的首选吗?
  • C++ 中两个类之间的通信方式
  • labview关于OOP
  • labview生成exe应用程序常见问题
  • Java行为型模式---责任链模式
  • redis集群的部署
  • 渭河SQL题库-- 来自渭河数据分析
  • JavaScript与Vue:现代前端开发的完美组合
  • King’s LIMS:实验室数字化转型的智能高效之选
  • AWS S3事件通知实战:从配置到生产的完整指南
  • 云蝠智能赋能呼入场景——重构企业电话服务
  • JVM——为什么Java8移除了永久代(PermGen)并引入了元空间(Metaspace)?
  • 订单初版—7.支付和履约实现的重构文档
  • 域名备案是否可以加急