收起左侧

飞牛nas外部公网访问及异地组网的方案

16
回复
5079
查看
[ 复制链接 ]

0

主题

14

回帖

0

牛值

江湖小虾

2025-2-15 21:52:26 显示全部楼层 阅读模式

[i=s] 本帖最后由 gunana 于 2025-2-15 21:55 编辑 [/i]<br /> <br />

这是自己在参考了各位老哥的方案,并结合自己的需求,做的一套方案。为了防止自己忘记,记录于此,以供参考。(写得比较啰嗦,请轻喷)

设备及网络情况

我的设备是一台中柏双网口N100小主机,平时放在老家(西南地区),我在东部某省工作。家里的联通宽带支持公网ipv6,但是不支持公网ipv4。我单位网络不支持公网ipv4/ipv6。

需求

我的网络访问需求是:日常可以通过FNID访问家里的nas(网页版和app版)、可以通过自己的域名访问家里搭建的服务和飞牛nas、可以通过异地组网,以局域网的形式访问家里搭建的服务和飞牛nas,以及路由器等服务。同时,无论是通过域名访问,还是通过异地组网访问,都想要做登录验证或限制,避免恶意登录。

方案思路

由于家里的宽带支持ipv6,因此可以利用这一点实现ddns域名访问(搭建服务1),以及FNID公网访问(飞牛本身有提供此服务),还可以基于此进行异地组网(搭建服务2)。

域名访问方案

前提:购买一个域名,并登录域名服务商控制后台,进行实名认证,生成SecretId和SecretKey备用。

在飞牛nas搭建Lucky,在“设置”内进行基础配置。点击“动态域名”,在子模块“设置”中进行“动态域名全局WebHook设置”(可选,目的是为了通过动态消息获取最新ipv6地址);点击“添加任务”,进行动态域名配置(参考:使用lucky重定向实现去端口访问网络千万条,安全第一条——使用Lucky轻松实现反向代理+Https外网访问家庭NAS)。特别提醒,这里在添加同步记录时,请以泛域名形式(如“*.fnnas.com”)解析到AAAA,这样便于后续通过a.fnnas.com、b.fnnas.com等域名形式,不带端口访问内网服务。

按上述进行配置后,就可以在“web服务”中配置反代,并通过各子域名安全访问内网服务了(提醒:为了内网服务安全考虑,建议在开启web服务时,为无登录验证网页或有登录验证,但是比较重要的服务开启“安全设置”中的“基本认证”),还可以实时查看访问来源等日志信息,补充了飞牛nas无各子服务统一日志的不足。此外,lucky的反代端口,大家可以试试80或443是否可用,我测试发现我的443端口可用,因此直接使用了443端口,这样在用域名访问时,就可以不用再输某个端口,直接通过“https://*.fnnas.com”访问相应服务了。大家如果在lucky的设置了http转https重定向服务(参考上述第二篇文章),直接输入“ *.fnnas.com”就可以访问相应服务,都不用再敲https:// 。

FNID访问方案

直接在飞牛系统的“系统设置”-“远程访问”里面开启FN CONNECT即可。

异地组网

我尝试过目前比较新的VNTEasytier等,也尝试过ZerotierTailscale等,最终选定了Tailscale。具体部署请参考:docker下部署tailscale究极喂饭教程,手把手教你内网穿透

上述服务均可通过docker进行安装,我平时都是开启飞牛防火墙的,在部署完上述服务,并开放相应端口后,发现VNT、Easytier、Zerotier的速度非常慢,或连接后无法使用,或速度特别慢,与老哥们部署后的跑满带宽等情况完全不一致,当时也不知道问题在哪,遂放弃。后来在家里部署完Tailscale后,感觉速度虽然也不快,但是也勉强偶尔可以用一下(这里留个问题的悬念)。

由于近期返回东部工作,回来后发现tailscale连接后延迟达到1000+,基本上打不开网页,而且飞牛网页端和app也没法通过FNID进行连接,显示可能未开启远程访问,域名也没法访问内网服务了!没办法的情况下,我就用ipv6直接访问飞牛服务,把防火墙关闭了。然后又尝试域名访问、FNID访问、异地局域网访问。突然,全都能访问了!而且tailscale的速度还不慢,基本跑满了!这时我才发现了之前一直不知道的点,速度慢和不可访问可能是由于我的防火墙设置!!!

之前我是开启了防火墙,并只开放了相应服务特定的端口,但是我通过1panel的“系统”-“进程管理”中的“网络”,发现fn-connect和tailscale等服务,除了明显的特定端口(我已开放了)外,还有很多的随机端口。当我把这些随机端口(不确定是否随机端口,但是好像会变化)加入防火墙放行端口后,即使开启了防火墙设置,三种外部网络均能访问,且访问的速度都非常快。因此我推测是相应的端口被我屏蔽了,才导致无法通过公网或异地组网进行访问。

由于按上述操作后,有时用三种方式访问还是有点 卡,因此为了保持服务的稳定性,我把飞牛防火墙的出站规则改成了“若下列规则均不符合时,允许访问”,以避免一些必要,但是我不知道的端口被我屏蔽掉。此后服务一直比较稳定了。

后续

目前我已经实现了通过飞牛网页和app以FNID形式访问nas通过各子域名访问nas(含网页和app端)及内网各项服务通过异地组网方式,在外通过局域网形式访问内网服务,以及飞牛app访问nas,同时还可以访问家里局域网的路由器管理页面即点对网,这个我本来没发现,也是突发奇想,想着既然可以通过tailscale访问内网部署的各项服务了,是不是也可以访问192.168.1.1,于是试了一下,发现真的可以!我昨天看了下教程,这个点对网若通过VNT来配置,好像还比较复杂,但是tailscale就很简单)。同时还通过lucky及其中的CorazaWAFip过滤+飞牛防火墙出入站端口规则+页面账号密码认证,使得外部网络只能通过特定子域名+特定端口访问内网部署的各项服务并接受账号验证,其他非法子域名被我重定向至“中国青少年发展基金会”捐赠页面(中国青少年发展基金会)。而且也无法再通过ipv6+端口的形式访问内网服务,一定程度上保护了内网各项服务安全性。

此外,由于单位网络不支持ipv6,工作电脑不支持连接wifi,好在办公环境对nas及内网服务需求不大,主要在宿舍时,个人电脑需要使用。因此我通过用手机开热点给电脑使用的方式(参考:笔记本如何使用手机热点进入ipv6通道手机开热点使用ipv6 和 联通WiFi配置ipv6),使电脑也获得了公网ipv6,可以像使用手机一样,通过各项外网或tailscale异地局域网访问nas及内网服务。现在可以愉快地玩耍啦~

当然,上述操作仍然存在一些问题和安全风险,希望能够与大家进一步交流,完善改进。

收藏
送赞 6
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

11

回帖

0

牛值

江湖小虾

社区上线纪念勋章

2025-2-22 02:11:52 显示全部楼层
如果是穿透web的话用这种方式更好更加简单https://mi-d.cn/nlt
我还等着他的10盘位NAS呢,到现在没发货。。。  详情 回复
2025-2-23 20:30
谢谢,看起来不错,有空试试~  详情 回复
2025-2-22 16:27

0

主题

28

回帖

0

牛值

江湖小虾

2025-2-16 11:08:07 显示全部楼层
小白求教,利用lucky如何禁止ip+端口号访问,只允许域名+端口号形式访问呢?
还有如何将不用的子域名打包重定向呢?🤔
总有人ip扫我,感觉域名安全些。
[md]正如**@奇林x** 所说,事实上域名还是解析到了具体ip,因此别人通过域名DNS查询,就能查询到具体的ipv4/6地址,并通过具体的ipv4/6地址访问你的服务。那我是怎么做到让别人只能通过域名访问我的服务,无法通过ip  详情 回复
2025-2-22 16:16
域名最后也是解析成ip的,也就是所谓的dns,因为服务商给的ip是动态的,所以才有ddns,所以不可能禁止人家ip访问你  详情 回复
2025-2-17 20:49

2

主题

66

回帖

0

牛值

初出茅庐

2025-2-16 21:08:12 显示全部楼层
先收藏备用,谢谢了
共同交流~  详情 回复
2025-2-22 16:25

0

主题

4

回帖

0

牛值

江湖小虾

2025-2-17 20:49:42 显示全部楼层
域名最后也是解析成ip的,也就是所谓的dns,因为服务商给的ip是动态的,所以才有ddns,所以不可能禁止人家ip访问你

0

主题

14

回帖

0

牛值

江湖小虾

2025-2-22 16:16:46 楼主 显示全部楼层

正如@奇林x 所说,事实上域名还是解析到了具体ip,因此别人通过域名DNS查询,就能查询到具体的ipv4/6地址,并通过具体的ipv4/6地址访问你的服务。那我是怎么做到让别人只能通过域名访问我的服务,无法通过ipv4/6+端口的模式访问服务的呢?

1.善用飞牛防火墙:飞牛防火墙分为入站规则和出站规则(参考: 飞牛 fnOS 的防火墙设置),其中入站规则管理的是来自外部网络试图进入受保护网络或计算机的数据流出站规则管理的是从受保护网络或计算机发出并前往外部网络的数据流。因此为了防止别人直接通过ipv4/6访问你的服务,你要在入站规则这里设置为“若下列规则均不符合时,拒绝访问”,同时不要在入站规则内放行相应服务端口(如下)。

image.png

此时别人即使别人通过ipv4/6访问你的服务,也是像下面这样子,无法打开。

image.png

到这里已经解决了你的第一个问题,即禁止ip+端口号访问

2.在Lucky内配置动态域名和web服务,以实现通过域名+端口号形式访问,具体操作细节见上面文章,这里不再赘述。通过这一步的配置,就能解决你的第二个和第三个问题,即仅允许特定子域名+端口号形式访问不用的子域名打包重定向

image.png

这里也补充一下,考虑到便利性和安全性,可以在lucky将所有外部访问服务归口到一个端口上,比如443(这个端口因各地宽带服务商而异,不一定都有开放,ipv6的话,可以试试),52000等等(自己根据需要选择一个),并在飞牛防火墙的入站规则内放行,这样后面在lucky的web服务中配置好子域名后,所有子域名都会通过这个端口访问特定服务,不然没法访问。

比如通过https://a.fnnas.com:52000访问alist,通过https://b.fnnas.com:52000访问1panel等,如果端口是443,那更简单,直接通过https://a.fnnas.com、https://b.fnnas.com即可访问特定服务,443都不用加(系统默认会加)。如果**配置了http自动重定向到https**,只输入a.fnnas.com、b.fnnas.com就好了,特别方便

image.png

image.png

对于不用的子域名重新打包重定向,在lucky的web服务规则的默认规则中,按以下操作即可实现:点击编辑默认规则,服务类型选择“重定向”,默认目标地址根据自己的需要填写。配置完成后,可以随便输入一些没用到的子域名测试下,比如c.fnnas.com、d.fnnas.com(端口不是80,443的话,自己加上),看是否能顺利跳转到重定向地址。

image.png

image.png

另外,如果你安装了1panel,你还可以在里面的“系统”—“防火墙”—开启“禁止ping”服务,或通过其他方式开启禁ping服务,提高系统安全性。

image.png

当然,在lucky服务中,你还可以为每项子域名访问服务开启基本认证服务,这样子,即使你的网页没有登录验证服务,也需要先经过基本认证这一关,账号密码输入不对,便无法访问服务,也能提高安全性。

image.png

image.png

image.png

(输入验证信息错误或取消输入的访问结果如上)

以上供你参考,希望能够帮助到你。祝好。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我现在也是飞牛防火墙只开启LUCKY的那个端口,其他禁止访问,啊哈哈哈,应该也差不多了安全性,毕竟双重密码,希望飞牛自己抓紧弄二次验证,这样才是真安全了  详情 回复
2025-2-23 20:29
谢谢啊!我已经开启了部分页面的账号密码,但是飞牛自己不行,毕竟APP不能二次验证很尴尬。但是第一张图挂了。。。。我就想看第一张图咧呜呜呜  详情 回复
2025-2-23 20:26

0

主题

14

回帖

0

牛值

江湖小虾

2025-2-22 16:25:21 楼主 显示全部楼层
共同交流~

0

主题

14

回帖

0

牛值

江湖小虾

2025-2-22 16:27:43 楼主 显示全部楼层
谢谢,看起来不错,有空试试~

0

主题

28

回帖

0

牛值

江湖小虾

2025-2-23 20:26:46 显示全部楼层
谢谢啊!我已经开启了部分页面的账号密码,但是飞牛自己不行,毕竟APP不能二次验证很尴尬。但是第一张图挂了。。。。我就想看第一张图咧呜呜呜
飞牛的本身带有验证,我密码设置比较复杂,也没用默认的admin这种用户名,我就没有再加验证。  详情 回复
2025-2-27 19:35
[md]![image.png](data/attachment/forum/202502/27/193046rca6bzcosc3020r6.png "image.png") 第一张图就是这个,具体的端口,按自己需求开放就好啦 [/md]  详情 回复
2025-2-27 19:31

0

主题

28

回帖

0

牛值

江湖小虾

2025-2-23 20:29:21 显示全部楼层
我现在也是飞牛防火墙只开启LUCKY的那个端口,其他禁止访问,啊哈哈哈,应该也差不多了安全性,毕竟双重密码,希望飞牛自己抓紧弄二次验证,这样才是真安全了

0

主题

28

回帖

0

牛值

江湖小虾

2025-2-23 20:30:58 显示全部楼层
我还等着他的10盘位NAS呢,到现在没发货。。。

0

主题

14

回帖

0

牛值

江湖小虾

2025-2-27 19:31:21 楼主 显示全部楼层

<br /> <br />

image.png

第一张图就是这个,具体的端口,按自己需求开放就好啦

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
好嘞~这个我应该也已经弄了  详情 回复
2025-2-27 19:32

0

主题

28

回帖

0

牛值

江湖小虾

2025-2-27 19:32:40 显示全部楼层
好嘞~这个我应该也已经弄了

0

主题

14

回帖

0

牛值

江湖小虾

2025-2-27 19:35:20 楼主 显示全部楼层
飞牛的本身带有验证,我密码设置比较复杂,也没用默认的admin这种用户名,我就没有再加验证。
我也没用admin这种,就希望飞牛能出个2FA,哈哈哈  详情 回复
2025-2-28 15:04

0

主题

28

回帖

0

牛值

江湖小虾

2025-2-28 15:04:17 显示全部楼层
我也没用admin这种,就希望飞牛能出个2FA,哈哈哈

0

主题

1

回帖

0

牛值

江湖小虾

2025-3-31 16:37:34 显示全部楼层
Zerotier、Tailscale这路服务器在国外的,速度都不大行啊
话是这么说,但据我实际使用,tailscale平均速度在3M/s,我平时只上传下载点文件,偶尔看看视频,完全能够满足需求了。你可以自己试试感受一下。  详情 回复
2025-3-31 23:05

0

主题

14

回帖

0

牛值

江湖小虾

2025-3-31 23:05:49 楼主 显示全部楼层
如此灿烂 发表于 2025-3-31 16:37
Zerotier、Tailscale这路服务器在国外的,速度都不大行啊

话是这么说,但据我实际使用,tailscale平均速度在3M/s,我平时只上传下载点文件,偶尔看看视频,完全能够满足需求了。你可以自己试试感受一下。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则