最近把我的群晖 nas 从杭州拿到上海,折腾了一下,终于把 nas 的公网 ip 搞定了,简单记录一下:

问题

我是白群晖, 之前在 nas 系统里,配置过 xxx.i234.me 这样的 DDNS 域名,搬家之后这个域名就不能使用了。

于是,除了 quickconnect 之外,没办法在外面访问 nas,quickconnect 的功能有限(我理解是只能映射 5000/5001 端口下的内容),很多其他好玩东西就用不了啦~为了解决这个问题,需要拥有公网 IP

如何获取公网 IP

  • 按照攻略是打 10000 号,要求开通即可
  • 我是打了 10000 宽带报修,系统会在电话里自动重置宽带设置(显然并不能解决我的问题) ,然后联系师傅上门维修
  • 师傅上门前会电话联系,我就说你不用上门了,就远程做两件事就行:
    • 一是帮拿到光猫超管密码
    • 二是开通公网 IP
  • 师傅很配合,很快就发来了光猫超管密码,公网 IP 也是立即生效的,都不需要重启路由。
  • 随后还委婉的告诉我,以后有事微信或电话联系,不要打报修电话,报修要扣钱的。。。

公网 IP 如何使用

  • 有了公网 IP 之后,再设置好端口转发,公网 IP: 端口号 就可以访问 NAS 上的服务了
  • 因为公网 IP 会变,所以还需要配置 DDNS 功能,比如群晖官方提供的 xxx.i234.me 免费域名和 DDNS 服务,好记好用~记得在 [控制面板][外网访问][DDNS] 菜单下配置

超管密码:如何获取,有什么用?

  • 光猫是 华为的 HG8245
  • 之前我杭州家里也是类似光猫,一开始用网上的通用密码 (nE7jA%5m) 就行了,后来变成了 telecomadmin+8 位数字
  • 超管密码一般问师傅,或者打客服就能要到,实在不行网上也有破解光猫密码的方法可以尝试:
  • 用超管密码登录之后,光猫的设置功能就丰富了很多
  • 对我最有用的是 DMZ 功能,类似于端口转发,可以把内网的某个端口映射到公网的某个端口,这样就可以访问内网的 nas 了。
    • 普通管理员就可以配置端口转发,但是每个端口需要单独配置,比较麻烦,比如群晖默认的 5000/5001,每次假设新服务,也要单独配置才能生效
    • 超管才可配置的 DMZ,方便之处在于只需要配置一次,比如把外网请求一律转发到 191.168.1.2 机器,不管是哪个端口,都无脑转发到这个机器的同名端口上,这样就不用每次都配置了。
    • 缺点是只能转发到一个机器,如果有多个机器,就不行了,只能单独给每台机器的每个端口做端口转发设置

端口屏蔽

  • 电信会默认屏蔽 80/443 端口,如果需要使用这两个端口,想走正常渠道申请开通非常困难
  • 搭建微信公众号后台,必须使用 80/443 端口,我搭建的时候怎么都收不到消息,后来才意识到是端口屏蔽导致的
  • 解决方法
    • 采用端口转发,换个非 80/443 的端口,比如 8000/8443 等 (8080 端口好像也是封的)
    • 比如必须 80,则可以采用内网穿透方案,比如 frp/ngrok 等,原来是请求导外部 ip / 网址的 80/443 端口,再转发回内网的非 80/443 端口

最后

推荐一篇比较好的攻略 「经验」上海电信获取公网 IP 光猫改桥接 支持 IPTV 是否降速

补充,NAT回环问题,2024-01-09

先开通公网IP,再配置DMZ转发,最后开通百群晖自带的 DDNS 之后,可以使用 域名+端口 的方式访问 NAS 里的服务。

这是遇到一个问题,就是在外网,可以使用 域名+端口 的方式访问 NAS 里的服务;但是在内网,使用 域名+端口 的方式访问 NAS 里的服务,就会失败;只能使用 内网域名+端口 的方式访问。

比如,我在外网可以使用 http://xxx.i234.me:5000 访问群晖的 DSM 管理界面;但是在内网,使用 http://xxx.i234.me:5000 就会失败,只能使用 http://192.168.1.x:5000 访问。

经过一番搜索,找到了问题的关键词 “NAT 回环/ NAT loopback”,原来是因为路由器不支持 NAT 回环,导致内网无法通过外网域名访问内网服务。

找到了一篇非常好的文章,介绍了三种解决方案:

  1. 修改 hosts 文件

    添加域名和内网 IP 的映射关系,直接强制将域名解析到内网的IPv4地址上。有点是方便设置,缺点是需要在每台设备上都设置一遍,并且设备不能移动,适合家里的台机,不适合带出门的笔记本。

  2. 路由器端口回环设置

    缺点是需要路由器支持。我是电信送的光猫,中兴的 ZXHN F450A,没有找到相关设置。

  3. 内网DNS

    原理是用群晖自带的应用搭建内网DNS,配置规则,进行域名解析。然后改笔记本/手机的DNS,首选内网DNS,其次选公网DNS,比如 114.114.114.114 或 8.8.8.8。这样就可以在内网使用域名访问内网服务了。 缺点是,每台设备需要单独设置,群晖机器重启后可能也会有影响。