同一个域名如何实现在家里走内网在外面走公网连接群晖

2024-01-30 10:06:13 +08:00
itskingname  itskingname

背景

我的 NAS 有公网 IP ,通过群晖的 DDNS 绑定了域名:xxx.com:13180

使用手机流量或者在外面访问域名一切正常。但是回到家以后,当我连上了家里的 wifi ,无论是直接使用外网 IP 还是使用域名,均无法访问 NAS ,必须使用 192.168 内网 IP 或者换成流量才能访问 NAS 。

需求

使用这个域名,无论在外网还是内网均能访问群晖。

设备

我没有旁路由器,只有联通送的光猫+送的路由器,没有其他网络设备。

请问我应该怎么设置,才能实现这个需求?

17017 次点击
所在节点   NAS  NAS
129 条回复
yinft
yinft
2024-01-30 11:02:59 +08:00
路由器加主机 host, 我家小米的路由器支持
beyondstars
beyondstars
2024-01-30 11:03:37 +08:00
在家的时候用你本地电脑 mtr 那个公网 IP 试试看看输出,另外不知道是否方便提供一下网络拓扑(包括群晖接的是光猫 LAN 口还是路由器的 LAN 口,光猫是否工作在桥接模式,各个机器的 IP 地址等)。
desperadoo
desperadoo
2024-01-30 11:05:21 +08:00
是不是使用 IPv6 可以避免内网访问失败的问题
itskingname
itskingname
2024-01-30 11:05:27 +08:00
@beyondstars 光猫是路由模式,路由器在光猫下游是桥接模式。群晖插在光猫 LAN 口。手机连接的路由器的 wifi 。
x86
x86
2024-01-30 11:09:46 +08:00
host 最简单了
villivateur
villivateur
2024-01-30 11:14:19 +08:00
家里的路由器 DNS 把 NAS 域名解析到内网地址即可,我一直这么用
peasant
peasant
2024-01-30 11:16:28 +08:00
跟 OP 的用法刚好相反,域名设置的是内网 IP ,在外面需要连的时候就打开代理软件,代理软件添加了 DNS 映射,老家是用的自建 DNS 设置了 DNS 重写, 设置的从外网访问 NAS 必须域名正确才能访问,这样别人只知道域名或者 IP 的其中一个是连接不到 NAS 的
IvanLi127
IvanLi127
2024-01-30 11:16:46 +08:00
路由器里直接配 hosts 就行,现在品牌路由器很多都在 web ui 提供这个配置功能,可以看看你的有没有
flyinghigherair
flyinghigherair
2024-01-30 11:18:37 +08:00
为什么不换一种思路,在外面直接访问 nas 的内网地址?我是在群晖上自建 wireguard ,在公司时在 clash 上添加好家里的 wg ,浏览器上一样内网地址访问 nas 或其他内网 ip 的设备
libook
libook
2024-01-30 11:20:48 +08:00
@itskingname #19 不冲突啊,只要你内网群晖是固定 IP ,你就可以在主路由的 DHCP 上配置 DNS 服务器地址为群晖的内网 IP 。
你的设备进行 DNS 解析的时候是路由 DHCP 直接告诉你群晖的 IP 的。

不过这就会有个问题,就是你折腾群晖的时候(比如重启)可能会导致 DNS 暂时不可用,这也就是为什么我建议整个稳定的设备跑 DNS ,你可以看看一些便宜的盒子或开发板啥的。
libook
libook
2024-01-30 11:24:53 +08:00
看了你的附言,实际上这一点都不奇怪,因为使用 DNS 服务器解析域名和使用域名访问群晖服务是两码事,是你自己没有转过弯来。

不会因为你把群晖的域名解析记录配置到群晖上的 DNS 就导致无法解析了,因为你需要在主路由上配置群晖的固定 IP 的,这个 DNS 提供服务的过程是不需要域名参与的。

或者说,你可以将 DNS 服务器看作一个抽象的独立服务器,只是实际上跑在群晖硬件上而已,如果你将来有其他可以长期运行的设备,可以随时将 DNS 服务器移到其他设备上。
qinrui
qinrui
2024-01-30 11:27:52 +08:00
我的情况和你类似,域名通过 DDNS 功能指向路由器,路由器设置端口转发,3389 转 NAS 的 3389

效果是无论从外网还是内网访问 域名:3389 ,都可以正常打开 NAS 的远程桌面
Cambra1n
Cambra1n
2024-01-30 11:28:14 +08:00
我把 PC 远程桌面+群晖管理页面/jellyfin 这三个端口全交给路由器转发,路由器上部署 ddns 。
hcocoa
hcocoa
2024-01-30 11:29:34 +08:00
@tsvico #13 我也是这么干的,但是 OP 的路由器不一定支持
sujin190
sujin190
2024-01-30 11:32:20 +08:00
其实 ddns 的公网 ip 是路由,路由开启端口转发外围可以内外不可以,其实是端口转发一般只是目的地址重写,源地址是内外的时候还需要执行源地址重写为路由 ip 才正常,可以看看路由是否支持开启 nat 回环源地址重写,不支持的话估计就是楼上说的不同 dns 了

openwrt 的话在配置端口转发高级里有个启用 nat 回环的配置,勾上就好了,不过这货似乎如果重新拨号不能自动更新,需要停用端口转发再启用端口转发一次才好,所以我都是另外再单独建一条 nat 规则执行 lan 源地址重写
itskingname
itskingname
2024-01-30 11:38:42 +08:00
@flyinghigherair
@peasant

在外面不一定能用自己的电脑。这样没有 vpn 就无法连接了。
IMengXin
2024-01-30 11:39:31 +08:00
我用的 ikuai ,里面有个 DNS 反向代理,配置域名和内网 ip 就可以了
loocao
2024-01-30 11:39:48 +08:00
@flyinghigherair +1 ,如果不是需要提供外网直接访问的东西话,我觉得这种方案是最安全的而且方便的,就像直接在家里一样访问内网任何 ip ,不过我是直接使用 wireguard 官方客户端,不是 clash
silverwolf
2024-01-30 11:42:25 +08:00
@itskingname 既然你群晖不关机,就是 #30 #31 说的这样,自个琢磨吧~
ColinWang
2024-01-30 11:44:39 +08:00
NAT 回流或者 DNS 重写。

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

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

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

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

© 2021 V2EX