【群晖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实现内网穿透有了更深入的了解。如果你在实践过程中遇到任何问题,欢迎随时向我提问。让我们一起探索科技的无限可能!