2021 年底,无公网 IP 情况下,从外面(穿透)访问家中 NAS 的最佳姿势是什么?

2021-11-25 10:09:03 +08:00
 dLvsYgJ8fiP8TGYU

基本情况

使用需求

用过的方法

已经尝试过,在 NAS 和云服务器使用穿透软件,把 NAS 上的端口映射到云服务器上,以实现从外网访问家中局域网内资源。例如,访问云服务器 1.2.3.4:12345 ,即等效于访问家中局域网 192.168.0.10:5001

这样的穿透方式既可以实现用浏览器从外面访问内网的需求,也比较符合 NAS 各种移动端套件 App 的配置方式,即在相应 App 内登录时,输入 域名:端口号 即可实现访问。在弄好域名、DNS 、SSL 证书后,网络穿透对用户完全无感,就如同访问一个正常网页一样(只是需要自定义非标端口号,但也是一次性配置),且不需要在移动端安装任何软件(例如网络 Proxy 工具)

虽然这种穿透方式对于客户端十分友好,但任何知道 域名:端口号 的人都可以访问管理页面。

被恶意攻击

将 NAS 管理页面暴露在公网无疑是不明智的,高位端口也只是自我安慰,全球有多少 bot 在疯狂遍历每一个 v4 地址:端口

被打过几次,都在枚举 admin 账户的密码,还好早就禁用 admin 账户,关键账户启用 2FA ,并给每个用户分配自己的用户名,16 位随机密码,且只授权他们需要用到的资源。做这些只是为了万一某个账户被攻破时缩小攻击面,毕竟不是每个人都会用 2FA 。祈祷 NAS 大厂写的登陆界面没有可以搞 xss 的地方吧?

被云服务商干扰 HTTPS 连接

近日发现,某名称以 第一个字母 开头的云服务商,疑似会阻断向其云服务器以 域名:端口号 发出的 HTTPS 请求,包括 10000+高位非标端口(域名未在该服务商备案,也不打算为了这个去备案)。但以 IP:端口号 发出的请求不受影响。已确认本地 DNS 解析结果无误,推测是在入站时根据 SNI 判断?

这个现象导致以 IP:端口号 连接时 SSL 证书报错,域名不匹配。尽管可以检查证书的 SHA 指纹、域名、签发者后手动信任,但依然很麻烦,且不清楚是否存在安全隐患(例如中间人是否有可能伪造一个拥有相同指纹的证书?)

解决方案?

了解过其他穿透方案,例如 /PN 、ZeroTier 等,这些(似乎?)都需要在客户端安装一个软件。有没有用过这些穿透方式的大佬来评价一下,这些方式稳定性如何,在手机上使用体验怎样?

关于 /PN

在这种流量穿透应用场景中, [便利] 和 [安全] 真的不可兼得吗?

5234 次点击
所在节点    问与答
57 条回复
BeautifulSoap
2021-11-25 14:12:08 +08:00
追求安全就别搞直接穿透

家里设备通过 openvpn 连上公共服务器,其他设备也同样连同一台服务器的 openvon ,这样就行了

如果想折中下,家里 nas 上建 openvpn 服务,然后用 frp 把 openvpn 服务穿透出去,所有设备直接连家里的 nas 上的 openvpn
flexbug
2021-11-25 14:13:46 +08:00
我用的樱花 frp ,可以给线路设置密码
gps949
2021-11-25 14:30:36 +08:00
问就是 tailscale
bianzhifu
2021-11-25 16:13:45 +08:00
tailscale 有条件自建国内 derp
hronro
2021-11-25 16:48:19 +08:00
@xuanloe #6
搭建 DERP 是不是必须要备案?我有台没备案的腾讯轻量云,之前尝试搭建 DERP ,结果发现腾讯把所有 HTTP(S) 协议都封了,然后就没搭建成功。
ayaseruri
2021-11-25 19:19:47 +08:00
@hronro 应该是你的 http(s) 端口在防火墙中没有开放,我这里非标准端口完全没问题
taobibi
2021-11-25 19:24:25 +08:00
蒲公英盒子 如何
walkxspace
2021-11-25 19:26:05 +08:00
目前我的方案是 IPv6 + DDNS-GO + 备过案的域名,在外可能会遇到没有 IPv6 的情况需要切换到流量之外,其它都蛮好的。
hronro
2021-11-25 19:33:45 +08:00
@ayaseruri #26 你确定?你试过没备案的服务器搭建 DERP 吗?
xuanloe
2021-11-25 20:14:57 +08:00
@hronro
应该是你的域名没备案被腾讯云拦截了?
DERP 也可以设置是 IPv4 的,不一定要域名 `HostName` 和 `IPv4`,只设置 `IPv4`
FlyPuff
2021-11-25 20:22:54 +08:00
zerotier 油管的 10 分钟视频就可以配置清楚,蛮简单的,而且 pavadan 和 openwrt 路由器能直接配置启用
WildCat
2021-11-25 20:31:38 +08:00
ZE3kr
2021-11-25 20:55:18 +08:00
1. IPv6
2. 打电话给运营商,说需要公网 IP
totoro625
2021-11-25 20:55:59 +08:00
备案域名+腾讯云+frp 把 NAS 上的端口映射到云服务器上
开放了 443 的 web 管理和 SSH
高位端口 SSH 基本每月一次被爆破
但是设置了 ip:443 不显示任何网页,只有域名访问才行
配置通配符证书+一个奇葩的入口域名,基本扫不到你的面板入口的
hronro
2021-11-25 21:17:24 +08:00
@xuanloe #30 谢谢,明天我试试
mezi04
2021-11-25 22:05:12 +08:00
之前写了篇关于通过 ss 回家的文章,楼主可以做参考: https://cyber2020.medium.com/%E5%9B%9E%E5%AE%B6%E7%9A%84%E8%AF%B1%E6%83%91-%E6%AF%94vpn%E6%9B%B4%E4%BC%98%E9%9B%85%E7%9A%84%E5%9B%9E%E5%AE%B6%E6%96%B9%E5%BC%8F-371a769887c0

没有公网 ip 用 vps+frp 也可以达到类似效果,最终可以实现在外网使用家里的 ip 访问家里的 nas
palxie
2021-11-25 22:39:22 +08:00
公网 ip 能跟运营商申请的吧, 我今天才电话申请了
heretreeli
2021-11-25 23:21:35 +08:00
个人觉得你想要的可能是 n2n ,https://github.com/ntop/n2n ,n2n 连接之后可以直通免掉中间服务器的流量。安卓有客户端
mygoare
2021-11-25 23:25:16 +08:00
zerotier +1
wwhc
2021-11-26 00:29:36 +08:00
ssh+openvpn

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/817816

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX