V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gsldfjidvd
V2EX  ›  NAS

Synology 群晖 局域网内如何使用域名访问? T_T

  •  
  •   gsldfjidvd · 2018-08-16 23:01:12 +08:00 · 21180 次点击
    这是一个创建于 2050 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近为了能内外都流畅访问群晖 NAS 真是操碎了心 0.0

    现在有两个问题请教各位高玩:

    1.局域网内如何使用域名访问 NAS 在外网使用域名访问都正常,DDNS 什么的都设置好了。但是和 NAS 一个局域网内就不能用域名了。我查了一下,说是因为路由器认为从内网出去又从外网回来是一个死循环。我试了一下把 host 中域名改成 NAS 的内网 IP 是可以访问的,所以说解决方法我估摸着有两种,一个是告诉路由器你别多管闲事,一个是在局域网里搭一个 DNS 服务器。后者因为群晖自带一个 DNS SERVER 所以我尝试了一下,但是没搞明白反正以 gg 告终,我觉得应该是我没设置明白。 所以 请问这种问题还有什么好的解决方法么?或者有熟悉群晖的 DNS Server 怎么配置的大佬么 T_T

    2.我在外网群晖的各种 app 使用域名+端口都可以访问,路由器上面 http 和 https 端口转发都做好了。唯一不能使用的(也是最重要的)就是电脑上的 Drive 客户端。使用域名+端口号死活连不上。我查了一下有一种说法是还有一个隐藏的端口 6690 需要转发,但是我设置了之后也不好使。 所以真的是哭哭惹 T_T

    外网现在只好用 quickconnect,但是这个东西奇慢无比,数据是走转发服务器的,我费了好大劲调整网络架构和外网 ip 要是最后这打不通就都白费了。。。

    我觉得我遇到的问题应该相当普遍啊。。。难道没有人有使用域名从内外网同时访问 NAS 的需求么。。。但是查了好久也没人说过这个问题。只好来万能的 V2EX 了,望各路大神多多帮忙啊!

    8 条回复    2021-03-01 01:24:23 +08:00
    billlee
        1
    billlee  
       2018-08-16 23:23:21 +08:00
    配 dns 是正确的做法,要分两步,一是把 dns 服务配置运行起来,二是在路由器的 dhcp 配置里面,把 DNS 服务器地址指定为你内网的这台服务器
    gsldfjidvd
        2
    gsldfjidvd  
    OP
       2018-08-16 23:23:47 +08:00
    最新进展:第二个问题已经解决了,有类似问题的同学可以参考一下

    确实要添加一个隐藏的端口 6690 转发。然后要注意的是,在 Drive 填写的时候不要加端口号!群晖其他软件都是域名+端口号,但是这个 Drive !它!不!要!端!口!号。。。我加上端口号连不上,去掉了居然好使了。速度比 quicksupport 快了十多倍。。

    但是第一个问题还木有解决。
    gsldfjidvd
        3
    gsldfjidvd  
    OP
       2018-08-16 23:25:05 +08:00
    @billlee 关键是这个 DNS 服务器怎么配。。我刚才研究了一会没什么进展,明天看看继续再战
    sundev
        4
    sundev  
       2018-08-16 23:43:36 +08:00
    内网域名访问涉及到 NAT 回流的问题。这个不是死循环,是因为 NAT 的原因无法完成三次握手。
    Sylv
        5
    Sylv  
       2018-08-17 00:26:39 +08:00 via iPhone   ❤️ 1
    第一个问题我是通过路由器配置 dnsmasq 解决的:

    首先路由器得支持 dnsmasq (我是华硕路由器刷了梅林系统)。

    然后 ssh 到路由器上。

    编辑 dnsmasq 配置文件:
    vi /jffs/configs/dnsmasq.conf.add

    加入将 NAS 域名解析到内网 IP 的规则,例如:
    # NAS
    address=/mynas.com/192.168.1.10

    然后重启 dnsmasq:
    service restart_dnsmasq

    这样一来,内网访问 mynas.com 时就会通过路由器 dnsmasq 解析为内网 IP 192.168.1.10 ,直接内网访问 NAS,不需要出去外网再绕回来;外网访问时还是解析为外网 IP。
    yingyueqingquan
        6
    yingyueqingquan  
       2018-08-17 09:28:22 +08:00
    4 楼说的对,是路由器 nat 回流问题,老毛子在“防火墙”-“ Netfilter ”-“ Nat loopback ”中设置,一般是自动打开;Openwrt 建立端口转发规则的时候有个 nat 环回的选项,一般也是默认勾选。国内的 tplink 之类的就不知道是否默认支持了。你可以换个可以设置的路由器。
    如果要用群晖 dns server 的话,你先在电脑手工指定 dns 为群晖 ip,确认有效之后再把路由器的 dhcp 中的 dns 分配指定为群晖的 ip,注意群晖中网络连接的 dns 手工指定为运营商 dns 或者 119.29.29.29 等
    lifanxi
        7
    lifanxi  
       2018-08-24 14:29:37 +08:00
    我来说下我用的方案,有点折腾,但几乎完美:

    用法:无论内网外网,都用 QuickConnect ID 访问。绝大部分情况下,DDNS 没问题,QuickConnect 会自动转向 DDNS 域名访问;万一 DDNS 出问题,Fallback 成中转访问。这样就速度和可用性兼顾了。

    并且,任何情况下都会是域名访问,不会出现 IP 访问,所以能保证 HTTPS 工作正常。

    具体做法:

    首先,保证你的 DDNS/端口映射 /域名 /证书都正常,这样在外网用 QuickConnect ID 或 DDNS 访问就都没有问题了。

    然后,按 5 楼的方法设置路由器的 dnsmasq,保证内网把域名解析成内网 IP。这样内网访问不需要路由器 NAT Loopback 了,性能有保证。并且也不用担心 DDNS IP 变更时出现一段时间的不可访问。

    接下来,还有很重要的一步,就是对内外网端口不一致的服务(主要就是 Photo Station 的 80/443,因为国内运营商大都封了这两个端口,外网要改成别的端口),在群晖的“控制面板 /应用程序门户”上建立反向代理。因为在内网访问时,没有了路由器做端口映射,所以用外网端口访问内网服务是不行的,通过这个反向代理来解决。

    最后,到控制面板 /安全 /证书 /配置中确认把正确的证书应用到所有的服务上,包括上一步中添加的反代端口上。
    pesowen
        8
    pesowen  
       2021-03-01 01:24:23 +08:00
    @Sylv LEDE 系统->进阶设置->配置 dnsmasq 同样可以进行配置,感谢大大解决了我最近和 LZ 问题 1 同样的困扰
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3918 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 10:29 · PVG 18:29 · LAX 03:29 · JFK 06:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.