群晖NAS如何实现外网访问
前言
家庭网络环境
- 网络宽带:
联通1000M宽带,上行50M,下行1000M
- 家庭路由器:
华为Q2S 母子路由器
- NAS服务器:
群晖NAS DS 923+
- 域名供应商:
阿里云
写文章前,需要先科普下几个专业术语:动态IP、公网IP、IPv6、IPv4、内网穿透、端口映射
动态IP
:- 正常家庭宽带入户的IP,由于中国的IPv4池数量少,完全不够分的,所以为保证,并不是一直不变的,随时会发生改变
公网IP
:- 分为:公网固定IP、公网动态IP
IPv6
:- 互联网协议第6版,用于替代
IPv4
的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址 - 由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍
- 互联网协议第6版,用于替代
IPv4
:- 互联网通信协议第4版,IPv4是互联网的核心,也是使用最广泛的网际协议版本。2019年11月26日,全球所有43亿个IPv4地址已分配完毕。
内网穿透
:- 也即
NAT穿透
,进行NAT穿透是为了使具有某一个特定源IP地址
和源端口号
的数据包不被NAT设备屏蔽而正确路由到内网主机。
- 也即
端口映射
:- NAT地址转换的其中一种,它可以把在公网的地址转翻译成私有地址,采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP。分为动态和静态两种。
- 动态端口映射:NAT网关的工作方式
- 静态端口映射:在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。
群晖NAS的QuickConnect访问
设置QuickConnect访问操作:【群晖NAS】 - 【控制面板】 - 【外部访问】 - 【QuickConnect】
- 首先勾选
启用QuickConnect
- 设置一个
QuickConnect ID
,这个ID就是要用到的主要标识 - 保存后,群晖NAS自动生成一个外网访问链接:
http://QuickConnect.cn/xxxxx
。这里的xxxxx
就是用户设置的QuickConnect ID
- 外网访问这个链接,就可以随时随地正常访问家里的群晖NAS服务器了
PS:虽然说群晖NAS自带外部访问,但是传输速度堪忧。。。
DDNS穿透访问NAS服务器
家庭路由器【华为Q2S路由器】只支持第三方花生壳
进行内网穿透
- 花生壳实现内网穿透,理论上是要收费的,毕竟借助人家的域名和带宽。
- 虽然说花生壳也提供了免费操作,但是免费的这点带宽和流量始终微不足道。
IPv6方式访问NAS服务器
如果没有公网IP,则需要使用IPv6 + 域名的方式进行访问
- 在家庭路由器【华为Q2S路由器】中
开启IPv6功能
注意事项:
- 家庭路由器【华为Q2S路由器】必须支持
IPv6
- 由于IPv4与IPv6两种协议不通,所以它们俩并不互通
- 外网也必须支持并开启了
IPv6
功能(很多网络只开启了IPv4
,所以依旧是无法访问的) - 配置都设置完成,域名也解析完成,并不会立刻生效,等待几分钟就可以了
- 家庭路由器【华为Q2S路由器】必须支持
- 阿里云平台准备一个域名,解析
IPv4
和IPv6
到家庭网络中。
这里的IPv4
和IPv6
,根据自己的网络,进行配置。
为了避免每次IP自动更换,我们后面可以在群晖NAS的docker中安装ddns-go
,实现动态获取家庭网络的动态IPv4
和动态IPv6
这样,就能通过域名+端口
实现远程访问群晖NAS了
IPv4地址访问NAS服务器
既然能看到这一步,说明家庭网络的IP地址已经是公网IP了(不管是公网固定IP
,还是公网动态IP
)
外网能PING通家里的IP,这样就算是完成第一步了,紧接着能端口映射,就是已经完成第二步。到这里就能在外网环境正常访问家庭的群晖NAS
如果IP经常变更,需要一个域名访问了,搭配群晖NAS的套件,实现自动变更IP
科普:深度了解NAS协议
具体操作
群晖操作部分(设置家庭路由器【华为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,关闭
群晖操作部分
- 新增需要的【华为Q2S路由器】里的端口映射
- 设置群晖NAS中的端口映射操作:
【群晖NAS】 - 【控制面板】 - 【外部访问】 - 【路由器配置】
- 新增需要的群晖NAS服务器里的端口映射,需要与【华为Q2S路由器】关联
PS;点击【设置路由】
,检测下是否NAS网络畅通
可能遇到的问题
Q1:在我的网络中发现了两个或更多路由器
解决方案
如果出现下面这种情况,就说明家庭网络【光猫】不是桥接,需要自己或联系运营商工作人员登录192.168.1.1
,使用超管账户进行修改连接模式
群晖官方给的解决方案:【在我的网络中发现了两个或更多路由器。我能做什么?】
群晖NAS配置域名及SSL证书
配置域名
域名配置可以参考上文中的【IPv6方式访问NAS服务器】【IPv4地址访问NAS服务器】
ps:建议只保留IPv4的域名解析(阿里云解析域名时,记录类型为A,记录值为IP
的记录)
配置SSL证书
博主用的是阿里云的免费证书
- 阿里云平台解析域名,例如:
nas.renyuxin.cn
- 通过【
数字证书管理服务
】创建证书 - 申请并下载【
Nginx服务器类型
】的证书(平台下载的证书包中默认生成两个文件,分别:.key
格式 和.pem
格式) - 最后群晖控制面板操作证书配置,配置过程如下(ps:下载的证书包里没有中间证书 所以不需要导入)
- 新增:控制面板 - 安全性 - 证书 - 新增 - 导入证书【私钥、证书、中间证书】- 设为默认证书
- 替换:控制面板 - 安全性 - 证书 - 替换 - 导入证书【私钥、证书、中间证书】- 设为默认证书