为何外界无法跟局域网内的NAS互通?

2016-04-28 16:06:01 217点赞 1762收藏 106评论

1.前言

当设置好了NAS以后,大家的心情一定是很雀跃的。
因为从此有了自己专属的储存空间,而且容量与如何使用完全取决于自己。
现在的NAS功能又多的不得了,可以备份、分享资料,下下下,更有各种的多媒体服务。
但NAS接上网络,装好硬盘后,事情却不是那一回事!!怎么我们无法从外连回家中的NAS呢?
厂商虽然提供了各种的向导辅助等看似简单的设定工具。
但这些工具一点都不简单,NAS不通还是不通!

本片文章不是一步一步傻瓜化的教程,如果你只是想照着做而不愿意自己理解其原理的话,请关闭网页。本篇文章也许无法解决每个人个别的问题,但它可以帮助您了解,从外部无法连上家里的NAS,这问题是出在哪里?
知道问题在哪,要解决问题就有了明确方向,那么解决问题应该只是早晚而已。

2.基础认识

Local Area Network,LAN:局域网络,就是家里的网络
Wide Area Network,WAN:广域网络,就是外面的网络
Private IP:也常被叫做LAN IP,就是私人IP,诸如192.168.xx.xx,10.0.xx.xx
Public IP:也常被叫做WAN IP,就是公共IP,例如168.95.1.1
Port:通信端口,电脑联机时的通信端口,又分为TCP与UDP两大类。
DDNS,Dynamic Domain Name Server:动态域名服务。

通信端口,Port
大家都知道要能上网一定要有IP,但是知道连线时还需要通信端口(Port)的人就不多了。
因为电脑同时处理的连线很多,所以它就必须同时有很多的通信端口来处理这些事情。
这就很像是我们去银行的时候,他们也是同时开了很多窗口来处理事情一样。

为何外界无法跟局域网内的NAS互通?

以我们连线到某网站为何外界无法跟局域网内的NAS互通? 来说,事情是这样的。(以下省略三次握手中间过程,只讲结果)
我们的电脑会随机开一个通信端口(Port),例如2251,然后就连线到SIS网站服务器的80端口。
SIS会将网页从它的80端口再传回我们电脑的2251这个端口。
因此资料的传送一定是这样的:来源IP+来源端口,目的IP+目的端口。
网络上资料通信的完整地址应该是 IP:Port才对,只是Port一般都是隐藏不显示而已。

为什么某网站为何外界无法跟局域网内的NAS互通? 的通信端口是80呢?
因为有很多的通信端口是被默认的。
例如FTP是21,Telnet是23....等等,大家可以参考Wiki

3.实际情况分析-有公网IP的情况

3.1 没有路由器的情况:

如果NAS是直连调制解调器,而且调制解调器不会自己拨号。
NAS是自己PPPoE拨号上网,这种情况是最单纯的。
因为这时NAS是直接对外,与外界之间的连线阻碍最少,当然这也是最危险的方式。
另外一个情况是NAS是放在路由后面,但设定了NAS是属于DMZ区域,那么也跟直连效果相当。

注意:现在有的调制解调器会自己拨号,那么调制解调器的角色就跟路由器一样了。

3.2 有路由器的情况:

3.2.1 NAS在路由器后的对外联机

路由器做的事情是这样的,它会自己拨号然后分配私人IP给它底下的电脑。
路由器底下的电脑没有真正的公共IP(Public IP),只有私人IP(Private IP)。
所以路由器底下的电脑连出去或外面资料连进来时,都必须透过路由器的"转发"。
路由器有一个特色,这大家务必要先知道,那就是路由器有一个转发表。

为何外界无法跟局域网内的NAS互通?


以下NAS对203.75.36.21的联机分为四个步骤来说明:(假设路由器PPPoE拨号获取得的WAN IP为114.80.166.240)
1.NAS先连线到路由器的LAN IP:192.168.0.1,路由器会记录192.168.0.2要连到203.75.36.21。
2.路由器以WAN IP:114.80.166.240连到203.75.36.21。
3.203.75.36.21将资料传回路由器的WAN IP:114.80.166.240。
4.路由器根据刚刚记录的转发表,将203.75.36.21传回的资料再传回给NAS的IP 192.168.0.2。

以上的说明省略了端口,大家要记得连线时一定连带有通信端口(Port)存在。

3.2.2 路由器外部对内的联机

为何外界无法跟局域网内的NAS互通?

如果今天有笔资料从外部(203.75.36.21)发到路由器WAN IP的21号端口(114.80.166.240:21)进来,
但这资料并不是刚刚我们对外请求的资料。
这时路由器的转发表自然没有这笔记录,所以也不知道这资料要送往何处。
那这会发生什么事情呢?当然这资料就会被舍弃掉。
所以为什么说路由器是一个天然的屏障就是这个关系,不请自来的资料都会被丢掉!
大家看到这里知道问题出在哪里了吗?
我们如果架设了像NAS这样的Server,最常见的就是外部要向NAS要资料。
这些资料当然都是不请自来的,所以这些请求全部都会被路由器舍弃掉...
那这该如何是好呢?

3.2.2.1 在路由器下建立端口(Port)的转发

要解决不请自来的联机请求很简单,就是建立一个端口的转发规则。

为何外界无法跟局域网内的NAS互通?

以FTP这服务为例:
我们可以告诉路由器,所以连接到路由器21端口的连接,通通转接到我NAS IP:192.168.0.2的21端口
以后外界对于FTP的请求都会被转送到NAS去。
NAS就会根据这些请求将资料送到外部,这不就通了吗?

3.2.2.2 将NAS的IP放置于路由器的DMZ区域内

我不太建议为了省事就将NAS设定成DMZ,因为这样等于NAS赤裸裸的暴露在网络上。所有的通信端口都是外面可以直连的,这样很容易被攻击或一直被无聊的人枚举密码。所以正确的观念应该是"只转发需要的端口",因为只有在路由器上有转发的端口才会通。虽然我们只转发了部分的端口,但不用担心,我们内部主动发起的连线还是会通的。

4.实际情况分析-没公网IP的情况

首先明确一个概念ISP(Internet Service Provider),互联网服务提供商,即向广大用户综合提供互联网接入业务、信息业务、和增值业务的电信运营商。如中国电信,中国联通, 长城宽带

小区宽带比起一般的网络方案,价格较为低廉,但小区宽带的限制就不是每个人都知道。小区宽带是业者承租网络,然后再以分享的方式租给用户。也就是说问电信联通这种最高级别的ISP租带宽 ,再分享给你普通用户使用。简单的说,这种网络本身可以看成是一个大路由器,它底下的所有用户电脑都是透过业者的路由器共用一个公网IP连上网。

4.1 使用者没有路由器的情形:

为何外界无法跟局域网内的NAS互通?

使用者如果没有加装路由器,那么外界还是无法直接连到LAN的NAS。这时候用户必须请你的网络运营商帮你在他们的路由器上做端口的转发。但每个IP可用的端口是有限的,一共就是2的16次方,65536个。每家运营商的作法不同,有的会很干脆的先来先赢,谁先来讲,就把端口转给谁。也有的运营商会保留常用的默认端口,而分配一些端口给使用者用。
例如FTP的21 端口不转给使用者,而提供8021 给使用者。(只是随便举例)
这样又会有两种作法:
(1)使用者请网络运营商将8021转到NAS的21端口。
这样子外部要连线时,使用者必须手动将FTP软件里的端口改成8021。
好处是NAS上的设定不用改变。

(2)第二种作法是请业者将8021转到NAS的8021端口
这样子外部连回NAS时,一样要将端口改成8021。
同时在NAS上也必须在FTP服务设定的地方将FTP端口改为8021。

4.2 使用者有路由器的情形:

为何外界无法跟局域网内的NAS互通?

如果用了这种无公网IP的网络,又用了路由器,这时候路由器的WAN口分配到的IP其实就是ISP的路由器分配给你的内网IP。你真正的出口WAN IP是在ISP路由器上。那么这时候连线就是被转发两次,一次是NAS跟路由器,一次是自家的路由器跟网络运营商的路由器。既然联机是转发两次,想当然,端口的转发也必须设定两次。
因此这种情形比较麻烦,首先要请网络运营商将端口转到自家路由器的端口。然后要在自家路由器上将端口转到NAS的端口。

没有公网IP的解决方法

(1)请业者开通VPN的端口给你,然后你可以在NAS上或是在自家路由器架设VPN。以后要存取NAS资源的时候就先建立VPN连线,这时你人在外面就会像在自己家里一样。要存取NAS的什么服务都没有问题,但如果要P2P还是会有问题。


(2)通过中转服务器的服务。

请求商业公司的中转服务,例如Synology有提供内建的中转服务,称之为QuickConnect。花生壳,NAT123等都有类似服务。关于中转的原理请参考我之前的文章 群晖的QuickConnect快速连接技术白皮书 这篇文章里把打洞,中转两种方式都描述到了。

(3)换ISP!既然架设了NAS,拥有完全自主的网络控制权才是最重要的。
NAS上的服务这么多,如果都受制于网络提供商,那么会很痛苦。
我个人认为架服务器的人,不是很适合使用无公网IP的网络。

(4)如果周围没有能提供公网IP的ISP,那请考虑买房搬家。搬到一个有公网IP的地方。
(欢迎来上海买房,既有公网ip 还不封杀80端口 上传又大,1200一年)

为何外界无法跟局域网内的NAS互通?


什么是DDNS?
DDNS 的全名叫做 Dynamic Domain Name Server (动态域名服务),它的工作流程大概是这样,用户首先申请一个DDNS的固定域名(如misechengzhi.synology.me),每次客户端 (这里客户端就是你的NAS或者是路由器,或者是你局域网内的任何一台设备)连接上网之后,便会将这次随机获得IP地址发送到 DDNS 服务商的服务器去,服务器会将该IP与你的域名进行绑定,这样当其他人通过这个域名访问时,DDNS 便可将其解析到你的客户端的IP地址上去。如果客户端的IP地址有变更,那么它会再次告诉DDNS的服务器要求更新。这样用户只需记住DDNS的域名即 可,完美替代了经常会变化的IP地址。
简单的说,就是每隔几分钟,你的运行DDNS的客户端(NAS,PC,路由之类的)就会向DDNS提供商 (Synology,花生壳,3322之类)的服务器说:我现在还活着,我的ip是X.X.X.X。这样即可不用记上文说的WAN IP:114.80.166.240例如直接记住域名(misechengzhi.synology.me)即可。

所以DDNS 跟你的NAS是否能被外界访问完全没有关系,唯一作用就是帮你记住你的外网 WAN IP。不同的DDNS服务更新WAN IP的时间也不同。所以当IP改变之后,会有几分钟甚至十几分钟的时间是无法访问的,因为DDNS服务提供商的数据库中留存的仍然是老的IP。

[结语]
所以大家现在应该了解到,有路由器是好事。因为路由器除了可以让我们的各项装置"躲"在屏障的后面,路由器还有很多其他的优点在。
但 是要让NAS正确的工作,一定要做好端口的转发,这样子你的内外通信才会连接起来。最后,DSM 里提供的 EZ-Internet 功能其实就是上面的DDNS+协助(用脚本自动)在路由上设置端口转发两处合并起来的设置向导而已。所以端口转发不是在NAS上设置的,跟NAS一点关系 都没有。那该如何的在路由器上面做端口的转发,这就必须参考你的路由器说明书了。

展开 收起
106评论

  • 精彩
  • 最新
  • 只有从ISP申请有固定IP的宽带线路才是根本解决之道。但是那价格 [相爱相杀]

    校验提示文案

    提交
    咱不要求固定IP,给个随机公网IP都是奢望了,移动光纤太坑。

    校验提示文案

    提交
    宁波移动 20m专线 200/月 我觉得价格还可以

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 纯外行,有点没跟上。
    读了两遍又研究了一下自身的情况,总结了几点,也不知对不对。
    1. ddns只解决外网ip总变的问题,一般针对外网ip地址;
    2. vpn只负责接通网络通道
    3. 二级路由向一级一般是自动映射,一级路由向二级路由需要手动设置映射
    露珠说的内网ip,不知说的是一级路由还是二级路由
    我家这种一级路由是电信自带的,改不来桥接;二级路由用R6300v2,lan接nas、台式机,无线接手机。
    所以对我来说理想的过程是:一级路由上开通vpn服务,ddns帮我找到一级路由的ip,vpn接通一级路由,一级路由向下映射到二级路由,然后访问nas。
    但实际情况是没有一级路由的密码,只在二级路由上做任何事情也无济于事。
    不知道理解的对不对,麻烦各位大神给指点一下 [期待] [期待] [期待]

    校验提示文案

    提交
    超级超级超级 正确 [大吃一惊]

    校验提示文案

    提交
    哎我真是要哭了,nas瞬间变成硬盘了 [大囧]

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • sis是不是以前一个牛*的公司

    校验提示文案

    提交
    [阴笑] 很厉害很厉害的论坛 适合每天观看

    校验提示文案

    提交
    收起所有回复
  • 说了这么多,没有告诉小白怎么设置,懂的还是懂,不懂的依然不懂。

    校验提示文案

    提交
  • 我学了这么多年j计算机 第一次见到端口分两种一种TCP一种UDP的说法 简直了TCP是传输控制协议UDP是数据报协议居然是两种"端口" [皱眉]

    校验提示文案

    提交
  • 这种科普文章挺好,我很羡慕能把文章写好、写清楚的人。小小的遗憾就是楼主网络水平不高,严格说硬伤很多,望楼主再接再厉!

    校验提示文案

    提交
  • 貌似能看懂的很多比楼主牛*,看不懂的还是啥也不会

    校验提示文案

    提交
  • 河南最小市,移动100兆,上下行对等..有公网IP, [傻笑] [傻笑]

    校验提示文案

    提交
  • 花生壳免费版本太不稳定了

    校验提示文案

    提交
    同意,花生壳就是个笑话……

    校验提示文案

    提交
    注册后用过几天。花生壳工作人员主动给我打电话,有点诡笑的语气,建议我用下他们的付费产品,一下就明白了,呵呵。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 上行带宽不够的话完全没啥体验可言。。。

    校验提示文案

    提交
  • @呐喊 移动宽带,用NAT123,非80端口映射,本地路由器端口转发到群晖5001端口,成功解决黑裙辉实使用5001端口的相关应用,当然也包括远程开关机,其他服务同理。前提是,本地内网有一台一直运行NAT123的安卓手机或电脑。

    校验提示文案

    提交
  • 感觉很nb的样子啊

    校验提示文案

    提交
  • 碎银不多,请多包涵

    校验提示文案

    提交
  • 汪汪汪汪汪~~~~~

    校验提示文案

    提交
  • 我擦居然是橙汁 [惊喜] [惊喜] [惊喜] [惊喜]

    校验提示文案

    提交
  • 拨号上网之后路由器看到的IP和百度看本机IP一致是否可以认为有“公网IP”?但是路由器每次重启获得的IP不一样,这种是不是也需要ddns 如花生壳?大致看了下,像没提到这点。

    校验提示文案

    提交
    是的,ddns解决随机公网ip

    校验提示文案

    提交
    我觉得并不能,百度以及录入方正宽带,长城宽带等ip ,我朋友在北京,百度到的直接是显示的和路由器拨号获得一样的内网ip

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 很好的知识普及

    校验提示文案

    提交
  • 讲了好多废话,没看完!加上花生壳,路由做端口转发就完事!

    校验提示文案

    提交
  • 路由转发似乎不如路由器直接做vpn服务器

    校验提示文案

    提交
  • 专业的技术叫 stun

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1.7K
扫一下,分享更方便,购买更轻松