前言

家庭网络环境

  • 网络宽带:联通1000M宽带,上行50M,下行1000M
  • 家庭路由器:华为Q2S 母子路由器
  • NAS服务器:群晖NAS DS 923+
  • 域名供应商:阿里云

写文章前,需要先科普下几个专业术语:动态IP、公网IP、IPv6、IPv4、内网穿透、端口映射

  1. 动态IP
    • 正常家庭宽带入户的IP,由于中国的IPv4池数量少,完全不够分的,所以为保证,并不是一直不变的,随时会发生改变
  2. 公网IP
    • 分为:公网固定IP、公网动态IP
  3. IPv6
    • 互联网协议第6版,用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址
    • 由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍
  4. IPv4
    • 互联网通信协议第4版,IPv4是互联网的核心,也是使用最广泛的网际协议版本。2019年11月26日,全球所有43亿个IPv4地址已分配完毕。
  5. 内网穿透
    • 也即NAT穿透,进行NAT穿透是为了使具有某一个特定源IP地址源端口号的数据包不被NAT设备屏蔽而正确路由到内网主机。
  6. 端口映射
    • NAT地址转换的其中一种,它可以把在公网的地址转翻译成私有地址,采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP。分为动态和静态两种。
    • 动态端口映射:NAT网关的工作方式
    • 静态端口映射:在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。
家庭网络拓扑图

群晖NAS的QuickConnect访问

设置QuickConnect访问操作:【群晖NAS】 - 【控制面板】 - 【外部访问】 - 【QuickConnect】

  1. 首先勾选启用QuickConnect
  2. 设置一个QuickConnect ID,这个ID就是要用到的主要标识
  3. 保存后,群晖NAS自动生成一个外网访问链接:http://QuickConnect.cn/xxxxx。这里的xxxxx就是用户设置的QuickConnect ID
  4. 外网访问这个链接,就可以随时随地正常访问家里的群晖NAS服务器了
    PS:虽然说群晖NAS自带外部访问,但是传输速度堪忧。。。
    群晖NAS控制面板

DDNS穿透访问NAS服务器

家庭路由器【华为Q2S路由器】只支持第三方花生壳进行内网穿透

  • 花生壳实现内网穿透,理论上是要收费的,毕竟借助人家的域名和带宽。
  • 虽然说花生壳也提供了免费操作,但是免费的这点带宽和流量始终微不足道。

IPv6方式访问NAS服务器

如果没有公网IP,则需要使用IPv6 + 域名的方式进行访问

  1. 在家庭路由器【华为Q2S路由器】中开启IPv6功能

    注意事项:

    • 家庭路由器【华为Q2S路由器】必须支持IPv6
    • 由于IPv4与IPv6两种协议不通,所以它们俩并不互通
    • 外网也必须支持并开启了IPv6功能(很多网络只开启了IPv4,所以依旧是无法访问的)
    • 配置都设置完成,域名也解析完成,并不会立刻生效,等待几分钟就可以了
  2. 阿里云平台准备一个域名,解析 IPv4IPv6 到家庭网络中。
    这里的IPv4IPv6,根据自己的网络,进行配置。
    为了避免每次IP自动更换,我们后面可以在群晖NAS的docker中安装ddns-go,实现动态获取家庭网络的动态IPv4动态IPv6
    这样,就能通过域名+端口实现远程访问群晖NAS了
    阿里云平台域名解析

IPv4地址访问NAS服务器

既然能看到这一步,说明家庭网络的IP地址已经是公网IP了(不管是公网固定IP,还是公网动态IP

外网能PING通家里的IP,这样就算是完成第一步了,紧接着能端口映射,就是已经完成第二步。到这里就能在外网环境正常访问家庭的群晖NAS

如果IP经常变更,需要一个域名访问了,搭配群晖NAS的套件,实现自动变更IP

具体操作

群晖操作部分(设置家庭路由器【华为Q2S路由器】中的端口映射操作)

【登录局域网路由器后台】-【更多】-【网络设置】-【开启UPnP】

【登录局域网路由器后台】-【更多】-【网络设置】-【局域网】-【开启DHCP】
IP分配过程中,为避免冲突,则需要把NAS的局域网IP排除在外
例如,NAS的IP为192.168.3.200,这里的范围可以设置为192.168.3.1~192.168.3.199

【登录局域网路由器后台】-【更多】-【安全设置】-【防火墙开启】

【登录局域网路由器后台】-【更多】-【安全设置】-【NAT服务】-【端口映射】
博主设置了两个端口分别为http的8818,https的8819,主要是为了适配http和https协议

【登录局域网路由器后台】-【更多】-【安全设置】-【DMZ主机】-【DMZ主机选择NAS】
DMZ主机选择NAS选项,主机IP填入NAS局域网IP
这里切记,一定要在NAS控制面板中把NAS局域网IP设置成手动填写固定值

如果NAS中没有使用IPv6,就把路由器后台的IPv6的关闭

动态域名服务DDNS,关闭

群晖操作部分

  1. 新增需要的【华为Q2S路由器】里的端口映射
  2. 设置群晖NAS中的端口映射操作:【群晖NAS】 - 【控制面板】 - 【外部访问】 - 【路由器配置】
  3. 新增需要的群晖NAS服务器里的端口映射,需要与【华为Q2S路由器】关联
    PS;点击【设置路由】,检测下是否NAS网络畅通
    群晖NAS控制面板

可能遇到的问题

Q1:在我的网络中发现了两个或更多路由器

解决方案

如果出现下面这种情况,就说明家庭网络【光猫】不是桥接,需要自己或联系运营商工作人员登录192.168.1.1,使用超管账户进行修改连接模式

群晖检测路由器

群晖NAS配置域名及SSL证书

配置域名

域名配置可以参考上文中的【IPv6方式访问NAS服务器】【IPv4地址访问NAS服务器】
ps:建议只保留IPv4的域名解析(阿里云解析域名时,记录类型为A,记录值为IP的记录)

配置SSL证书

博主用的是阿里云的免费证书

  1. 阿里云平台解析域名,例如:nas.renyuxin.cn
  2. 通过【数字证书管理服务】创建证书
  3. 申请并下载【Nginx服务器类型】的证书(平台下载的证书包中默认生成两个文件,分别:.key格式 和 .pem格式)
  4. 最后群晖控制面板操作证书配置,配置过程如下(ps:下载的证书包里没有中间证书 所以不需要导入)
    • 新增:控制面板 - 安全性 - 证书 - 新增 - 导入证书【私钥、证书、中间证书】- 设为默认证书
    • 替换:控制面板 - 安全性 - 证书 - 替换 - 导入证书【私钥、证书、中间证书】- 设为默认证书