树洞剪藏#剪藏#树洞剪藏

使用FRP实现内网穿透访问群晖NAS详细搭建教程(含ZeroTier对比)

2024 年 12 月 5 日1 分钟
分享Twitter / XTelegram微博
使用FRP实现内网穿透访问群晖NAS详细搭建教程(含ZeroTier对比) 封面

同步来源:树洞剪藏 源站剪藏 ID:234 原文地址:https://www.lincol29.cn/usefrp

打开原文 · 打开源站剪藏快照


使用FRP实现内网穿透访问群晖NAS详细搭建教程(含ZeroTier对比)

Lincol29

文章

C# 生产力工具 NAS 面经 WEB前端 23种设计模式 WordPress

网站地图

支持创作

留言板

关于我

友人帐

实验室

流量监测 文件共享 服务监控 灵光一闪 岁月图谱

路虽远,行则将至。事虽难,做则必成!

夜间模式 暗黑模式

字体

Sans Serif Serif

阴影

浅阴影 深阴影

滤镜

关闭 日落 暗化 灰度

圆角

主题色

99%

公告

如果此博客内容对您有所帮助,也可打赏一下哟。

费用将用以维持网站运行,十分感谢!

年年岁岁花相似,岁岁年年人不同 没有BUG的代码是不完美的!

搜索

文章目录

站点概览

前言 FRP 介绍 准备工作 1、在服务器上安装 frps 服务端 2、在群晖 NAS 安装 frpc 客户端 3、使用 FRP 测试实现内网穿透 使用 systemd 踩坑 总结 拓展资料

微信公众号:Lincol的编程世界

随机美女图片

文章分类 NAS (13 篇文章) 生产力工具 (12 篇文章) 文章 (12 篇文章) C# (12 篇文章) WordPress (6 篇文章) 23种设计模式 (6 篇文章) 面经 (2 篇文章) WPF (2 篇文章) WEB前端 (1 篇文章)

热门阅读 网站地图 1048 浏览 文章 【实用Docker推荐】使用zerotier实现内网穿透—无公网IP也能在线访问NAS 4877 浏览 NAS Winform窗体自适应电脑分辨率 2375 浏览 C# Visual Studio2022离线安装(没网),制作离线安装包 2302 浏览 生产力工具 C#详细学习教程 2243 浏览 C# 黑群晖激活AdvancedMediaExtensions(AME)解码 2041 浏览 NAS 【实用Docker推荐】搭建moon节点实现zerotier加速访问 1919 浏览 NAS

标签云

C# C#基础 docker English excel GitHub Life mvvm NAS NAS、docker PasswordBox Timer Typora Typora、生产力工具 visual studio winform WordPress WordPress、建站技术 WPF 命名规则 建站技术 插件 教程 文章 生产力工具 自我提升 计算机基础 设计模式

广告赞助

使用FRP实现内网穿透访问群晖NAS详细搭建教程(含ZeroTier对比)

2024-8-31 13:18

|

NAS |

1,856

本文最后更新于 93 天前,其中的信息可能已经过时,如有错误请发送邮件到 [email protected]

感谢 TurboAI 对本博客的的大力赞助。 创作不易,如果您觉得有帮助,请 支持 LIncol29! 为了让我能够继续创作更好的内容,你也可以选择订阅博客的 VIP ,包年 VIP 仅需 10 元 / 年,所有 VIP 内容免费观看

前言

之前 lincol29 有发过如何使用 zerotier 去实现内网穿透的文章 【实用 Docker 推荐】使用 zerotier 实现内网穿透 — 无公网 IP 也能在线访问 NAS 。

这里可以简单对比一下

ZeroTier :

创建一个虚拟局域网,让不同地理位置的设备都处于同一局域网内一样通信。点对点加密连接,可以不依赖中间服务器 (使用官方的中转服务器)。

FRP :

是一个内网穿透工具,通过具有公网 IP 节点的代理服务器将内网服务暴露 公网

FRP 项目地址

GitHub – fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.

按照描述来说,FRP 是更适合拥有服务器并且带有 NAS 的用户。 lincol29 就是其中一类,本篇文章将描述如何使用 docker 去搭建 FRP 服务访问家里的 NAS。

FRP 介绍

FRP = Fast Reverse Proxy

用户通过访问暴露在服务端的 frps,frp 负责根据请求的端口或其他信息将请求路由到相应的内网机器,从而实现通信。

准备工作

服务器

域名

lincol29 搭建的时候使用的是 Centos 7.9 系统

放行防火墙端口 xxxx (等下会用到,你也可以 自定义未使用的端口 )

1、在服务器上安装 frps 服务端

首先来安装服务端,服务端需要在具有公网 IP 的设备上进行安装,我目前的云服务器是预装了 centos7.9 系统。

我们打开 githup frp 地址 ,点击 Releases 中最新版本 v0.60.0 版本

选择自己设备合适的版本,这里我使用的①号 x86 架构 64 位的 frp_0.60.0_linux_amd64.tar.gz

下载好压缩包,将压缩包上传到服务器 (可使用宝塔或其他工具,可自行 Google 或者 bing)

连接服务器 ssh, 找到服务器压缩包的目录,解压压缩包

tar -zxvf 压缩包名

使用 cd 切换目录 到解压后的目录。 修改 frps.toml 文件 , 并将下面代码复制到 frps.toml 文件中

目前 frp 官方已经不推荐使用 ini 配置文件,后续不再更新。

vim frps.toml

然后填写配置信息,这里会启动两个端口号:

7000:用于和内网设备数据交互;

7500:提供 frp 图形化界面,同时需要配置面板访问的账号和密码,以及 token 是内网设备和 frp 服务端建立连接时的密码。

frps.toml

bindPort = 7000

后台管理面板配置

webServer.port = 7500 # 后台面板端口号

webServer.addr = "0.0.0.0" # 后台管理地址

webServer.user = "xxx" # 后台管理员账号

webServer.password = "xxxxx" # 后台管理员密码

启动 frps 服务端

此方式是前台启动服务,如想方便管理服务如:开启 frps、关闭 frps、自启动 frps 等。

官方推荐使用 systemd

Typora 如何页面跳转可以阅读: Typora 使用技巧 - 页内跳转

./frps -c ./frps.toml

使用 Ip + 端口的方式已经可以访问 web 管理界面

2、在群晖 NAS 安装 frpc 客户端

在群辉套件中心 – 搜索 frpc – 点击安装套件

frpc 的配置如下

frpc.toml

serverAddr = "xxxx" #服务器的ip地址

serverPort = 7000

[[proxies]] #代理

name = "ssh"

type = "tcp" #类型,有tcp\udp\stcp\p2p等

localIP = "127.0.0.1"

localPort = 22 #客户端端口

remotePort = 6000 #服务器的端口,提供外部访问

tips:如果你不是使用的 NAS,和配置服务端一样操作即可

配置 frps.toml

运行服务端程序

./frps -c ./frps.toml

3、使用 FRP 测试实现内网穿透

通过 SSH 访问内网机器

使用以下命令通过 SSH 访问内网机器,假设用户名为 test,@为分隔符 ,后面是 ip 地址

ssh -o Port=6000 test @x.x.x.x

frp 将请求发送到 x.x.x.x:6000 的流量转发到内网机器的 22 端口。

使用 systemd

以下内容转自 frp 文档: 使用 systemd

此示例演示如何在 Linux 系统下使用 systemd 来管理 frps 服务,包括启动、停止、配置后台运行和设置开机自启动。

在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。

以下是具体的操作步骤:

1、 安装 systemd

如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum (适用于 CentOS/RHEL)或 apt (适用于 Debian/Ubuntu)来安装它:

使用 yum 安装 systemd(CentOS/RHEL)

yum install systemd

使用 apt 安装 systemd(Debian/Ubuntu)

apt install systemd

2、 创建 frps.service 文件

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

vim /etc/systemd/system/frps.service

写入内容

[Unit]

服务名称,可自定义

Description = frp server

After = network.target syslog.target

Wants = network.target

[Service]

Type = simple

启动frps的命令,需修改为您的frps的安装路径

ExecStart = /path/to/frps -c /path/to/frps.toml

[Install]

WantedBy = multi-user.target

3、 使用 systemd 命令管理 frps 服务

启动frp

sudo systemctl start frps

停止frp

sudo systemctl stop frps

重启frp

sudo systemctl restart frps

查看frp状态

sudo systemctl status frps

4、 设置 frps 开机自启动

sudo systemctl enable frps

通过遵循上述步骤,您可以轻松地使用 systemd 来管理 frps 服务,实现启动、停止、自动运行和开机自启动。确保替换路径和配置文件名称以匹配您的实际安装。

踩坑

服务器开了防火墙,导致客户端连不上,你可以试试关闭服务器防火墙

centos 可以使用如下命令

systemctl stop firewalld.service

centos 系统可以使用 firewalld 服务放行防火墙端口。

使用 firewalld

1、启动 firewalld 服务(如果尚未启动): start 为启动 enable 为开机自启

sudo systemctl start firewalld

sudo systemctl enable firewalld

2、打开端口 7000 :

sudo firewall-cmd --zone=public --add-port=7000/tcp --permanent

3、重新加载防火墙规则 以应用更改:

sudo firewall-cmd --reload

4、验证端口是否已打开 :

sudo firewall-cmd --zone=public --query-port=7000/tcp

如果端口已成功打开,您会看到输出 yes 。

5、查看所有打开的端口

sudo firewall-cmd --list-ports

总结

如果你按照本文的步骤执行的时候,是可以顺利部署 frp 实现内网穿透的。

如果还存在问题的小伙伴可以下方留言, lincol29 看到后都会一一回复。

后续会持续更新 p2p 打动已经其他 frp 的配置,目前只是介绍了 tcp 去连接 22 端口。

拓展资料

网站地图 – Lincol29 : 在这个网站地图中,你可以找到关于 C#、常用生产力工具、面试面经、Docker、WordPress、RSS、等各类技术主题的教程和分享,以及对本站内容快速导航。

frp 官方文档 : 如果有什么不懂或者疑问,可以自行查阅 frp 的官方文档。此项目在 GitHub 非常活跃,目前有 80K star,并且保持更新中。

赞赏

创作不易,如果您觉得有帮助, 请支持LIncol29!

如有需要,请至 网站地图 学习本博客的教程

博客订阅:通过 RSS 或关注公众号 [Lincol的编程世界] | 广告招租与合作请 留言

本文链接: https://www.lincol29.cn/usefrp

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0协议转载请注明文章地址及作者哦~

NAS

分享到微信

微信扫描二维码

评论

0

刘郎

Linux Chrome 贵州省黔南州 移动

9-1

2024-9-01 7:18:56

利用frp做内网穿透挺不错的

利用frp做内网穿透挺不错的

回复

0

Lincol 博主 刘郎 Windows Chrome 广东省深圳市 电信

9-1

2024-9-01 12:22:55

可以哦,我在想以后是不是直接把NAS穿透出去啦

可以哦,我在想以后是不是直接把NAS穿透出去啦

回复

0

游客01

Windows Edge 福建省福州市 联通

10-3

2024-10-03 17:56:30

我用的群晖矿神的frpc保持没反应怎么回事。可以详细点??

我用的群晖矿神的frpc保持没反应怎么回事。可以详细点??

回复

0

Lincol 博主 游客01 Windows Chrome 广东省深圳市 电信

10-4

2024-10-04 23:01:15

你目前是碰到什么问题?可整理一下思路后再提问。

你目前是碰到什么问题?可整理一下思路后再提问。

回复

0

1

Windows Edge 浙江省金华市 电信

21 天前

2024-11-13 11:12:54

我在群晖的docker里安装了mysql,我在公司里是可以连接mysql,但是我有远程连接的需求,所以这个内网穿透可以实现远程连接到mysql吗

我在群晖的docker里安装了mysql,我在公司里是可以连接mysql,但是我有远程连接的需求,所以这个内网穿透可以实现远程连接到mysql吗

回复

0

Lincol 博主 1 Windows Chrome 广东省深圳市 电信

20 天前

2024-11-14 10:52:37

实现穿透后就可以连接

实现穿透后就可以连接

回复

0

madao

Windows Edge 浙江省杭州市 电信

13 天前

2024-11-21 11:12:57

好文章,最后搞了下需要c端不需要放开bindPort,s端放开serverPort,

c端不需要放开localPort、remotePort,s端需要开启remotePort,

端口基本都是s端开放

好文章,最后搞了下需要c端不需要放开bindPort,s端放开serverPort, c端不需要放开localPort、remotePort,s端需要开启remotePort, 端口基本都是s端开放

回复

0

Lincol 博主 madao Windows Chrome 广东省深圳市 电信

13 天前

2024-11-21 11:30:00

外部用户是通过S端端口进行访问,S端这个端口肯定需要开放。至于C端不需要放开localPort,可能是你的服务在本地已经开放这个端口了。比如我文章中使用的ssh代理:22端口,这个端口已经在C端开放了。

外部用户是通过S端端口进行访问,S端这个端口肯定需要开放。至于C端不需要放开localPort,可能是你的服务在本地已经开放这个端口了。比如我文章中使用的ssh代理:22端口,这个端口已经在C端开放了。

回复

0

madao

Lincol Windows Edge 浙江省杭州市 电信

13 天前

2024-11-21 13:16:58

我现在能够访问dsm服务了,但是我群辉设置共享的ftp协议也设置这个穿透后,用infuse连接一直显示超时,但是看群辉日志显示了两条日志,一个是已经登录了,另一个是获取了0数据;(我环境是pve搭建的群辉和linux,linux上部署了frp)

我现在能够访问dsm服务了,但是我群辉设置共享的ftp协议也设置这个穿透后,用infuse连接一直显示超时,但是看群辉日志显示了两条日志,一个是已经登录了,另一个是获取了0数据;(我环境是pve搭建的群辉和linux,linux上部署了frp)

回复

0

Lincol 博主 madao Windows Chrome 广东省深圳市 电信

13 天前

2024-11-21 13:22:36

linux中ftp的remote端口是不是被占用了?看下frp日志有没有连接上呢

linux中ftp的remote端口是不是被占用了?看下frp日志有没有连接上呢

回复

0

CF673X

Windows Edge 云南省 电信/数据上网公共出口

12 天前

2024-11-22 22:09:17

HTTPS咋弄 我也是群晖。也是用客户端frp,一直弄不通 https

HTTPS咋弄 我也是群晖。也是用客户端frp,一直弄不通 https

回复

0

Lincol 博主 CF673X iPhone Chrome 广东省深圳市 电信

12 天前

2024-11-22 22:34:44

我使用https失败后直接用的tcp

我使用https失败后直接用的tcp

回复

0

CF673X

Lincol Windows Edge 云南省 电信/数据上网公共出口

7 天前

2024-11-28 0:37:41

本地https成功后 云服务器无法 转发 只能用 域名+443 访问

本地https成功后 云服务器无法 转发 只能用 域名+443 访问

回复

0

Lincol 博主 CF673X Windows Chrome 广东省深圳市 电信

6 天前

2024-11-28 8:51:01

那你使用tcp,用nginx反代也可以实现。

那你使用tcp,用nginx反代也可以实现。

回复

发送评论 编辑评论

Markdown

悄悄话

邮件提醒

发送 编辑

|´・ω・)ノ ヾ(≧∇≦)ゝ (☆ω☆) (╯‵□′)╯︵┴─┴  ̄﹃ ̄ (/ω\) ∠( ᐛ 」∠)_ (๑•̀ㅁ•́ฅ) →_→ ୧(๑•̀⌄•́๑)૭ ٩(ˊᗜˋ)و (ノ°ο°)ノ (´இ皿இ`) ⌇●﹏●⌇ (ฅ´ω`ฅ) (╯°A°)╯︵○○○ φ( ̄∇ ̄o) ヾ(´・ ・`。)ノ" ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃ (ó﹏ò。) Σ(っ °Д °;)っ ( ,,´・ω・)ノ"(´っω・`。) ╮(╯▽╰)╭ o(////▽////)q >﹏< ( ๑´•ω•) "(ㆆᴗㆆ)

颜文字 Emoji 小恐龙 花!

上一篇 Typora使用技巧-页内跳转 下一篇 【实用Docker推荐】搭建gitea-拥有自己的代码仓库

推荐文章

【实用Docker推荐】使用zerotier实现内网穿透—无公网IP也能在线访问NAS

黑群晖激活AdvancedMediaExtensions(AME)解码

【实用Docker推荐】搭建moon节点实现zerotier加速访问

【实用Docker推荐】搭建alist—支持网盘及WebDav

【实用Docker推荐】搭建gitea-拥有自己的代码仓库

【实用Docker推荐】搭建Bitwarden密码管理器—轻松记住密码

【实用Docker推荐】搭建NextChat—好用的AI聊天服务

【实用Docker推荐】搭建umami——统计网站数据(自定义统计脚本)

NAS

【实用Docker推荐】搭建Microbin-异设备间互相传送文本和文件

学累了就来张美女图片养养眼吧~~~

Theme Argon

Copyright

©2022-2024 版权所有 Lincol29 ୧(๑•̀⌄•́๑)૭

备案号

粤ICP备2024168618号

Running Time 359 days 8 H 17 M 39 S

16 次查询 耗时 0.688 seconds, 使用 11.23MB 内存

相关文章