當設置好了NAS以後,大家的心情一定是很雀躍的。
因為從此有了自己專屬的儲存空間,而且容量與如何使用完全取決於自己。
現在的NAS功能又多的不得了,可以備份、分享資料,抓抓抓,更有各種的多媒體服務。
但NAS接上網路,裝好硬碟後,事情卻不是那一回事!!怎麼我們無法從外連回家中的NAS呢?
廠商雖然提供了各種的Ez-Interner,連線精靈..等看似簡單的設定工具。
但,這些工具一點都不簡單,NAS不通還是不通!
本篇文章也許無法解決每個人個別的問題。
但,它可以幫助您了解,從外部無法連上家裡的NAS,這問題是出在哪裡?
知道問題在哪,要解決問題就有了明確方向,那麼解決問題應該只是早晚而已。
請大家一起看下去吧。
[基礎認識]
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兩大類。
[本文]
一、通訊埠(埠口),Port
大家都知道要能上網一定要有IP,但是知道連線時還需要通訊埠(Port)的人就不多了。
因為電腦同時處理的連線很多,所以它就必須同時有很多的通訊窗口來處理這些事情。
這就很像是我們去銀行的時候,他們也是同時開了很多窗口來處理事情一樣。
以我們連線到Yahoo來說,事情是這樣的。(以下省略三手交握中間過程,只講結果)
我們的電腦會隨機開一個通訊Port,例如2251,然後就連線到Yahoo的80 port。
Yahoo會將資料從它的80 Port再傳回我們電腦的2251這個Port。
因此資料的傳送一定是這樣的:來源IP+來源Port,目的IP+目的Port。
網路上資料通訊的完整位址應該是 IP:port才對,只是Port一般都是隱而未見而已。
![[教學]為何外界無法跟區網內的NAS互通?(補充社區網路的情形)](http://attach.mobile01.com/attach/201402/mobile01-bb243228968e2ef3b2d948591d267901.jpg)
為什麼Yahoo的通訊Port是80呢?
因為有很多的通訊Port是被預設的 (well-known port)。
例如FTP是21,Telnet是23....等等,大家可以參考Wiki
詳細的資料可以參考2.4 TCP/IP 的傳輸層相關封包與資料
二、沒有分享器的情況:
如果NAS是直連數據機,而且數據機不會自己撥號。
NAS是自己PPPoE撥號上網,這種情況是最單純的。
因為這時NAS是直接對外,與外界之間的連線阻礙最少,當然這也是最危險的方式。
另外一個情況是NAS是放在分享器後面,但設定了NAS是所謂的DMZ,那麼也跟直連效果相當。
![[教學]為何外界無法跟區網內的NAS互通?(補充社區網路的情形)](http://attach.mobile01.com/attach/201402/mobile01-e93d709e181bfe250b8e93b902a9c8e8.jpg)
注意:現在有的數據機會自己撥號,也就是俗稱的硬撥,那麼數據機的角色就跟分享器一樣喔
三、有分享器的情況:
(一)在分享器後的對外連線
方享器做的事情是這樣的,它會自己撥接然後分配私人IP給它底下的電腦。
分享器底下的電腦沒有真正的Public IP,只有Private IP。
所以分享器底下的電腦連出去或外面資料連進來時,都必須透過分享器的"轉發"。
分享器有一個特色,這大家務必要先知道,那就是分享器有一個連線清單處理連線。
以下NAS對203.75.36.21的連線分為四個步驟來說明:
1.NAS先連線到分享器,分享器會記錄192.168.0.2要連到203.75.36.21。
2.分享器以WAN IP連到203.75.36.21。
3.203.75.36.21將資料傳回分享器的WAN IP。
4.分享器根據剛剛記錄的連線清單,將203.75.36.21傳回的資料再傳回給NAS的IP 192.168.0.2。
以上的說明省略了Port,大家要記得連線時一定連帶有通訊Port在。
![[教學]為何外界無法跟區網內的NAS互通?(補充社區網路的情形)](http://attach.mobile01.com/attach/201402/mobile01-24ae6eb54266a264d1dc1b36e57168ed.jpg)
(二)分享器外部對內的連線
如果今天有筆資料從外部發到分享器來,但這資料並不是剛剛我們對外請求的資料。
這時分享器的連線清單自然沒有這筆記錄,所以也不知道這資料要送往何處。
那這會發生什麼事情呢?當然這資料就會被捨棄掉。
所以為什麼說分享器是一個天然的屏障就是這個關係,不請自來的資料都會被丟掉!
![[教學]為何外界無法跟區網內的NAS互通?(補充社區網路的情形)](http://attach.mobile01.com/attach/201402/mobile01-a75e2b132647436075a8e4cf78cd8984.jpg)
大家看到這裡知道問題出在哪裡了嗎?
我們如果架設了像NAS這樣的Server,最常見的就是外部要向NAS要資料。
這些資料當然都是不請自來的,所以這些請求全部都會被分享器捨棄掉...
那這該如何是好呢?
(三)在分享器下建立Port的轉接
要解決不請自來的連線請求很簡單,就是建立一個Port的轉接規則。
以FTP這服務為例:
我們可以告訴分享器,所以連線到分享器21port的連線,通通轉接到我NAS IP:192.168.0.2的21Port
以後外界對於FTP的請求都會被轉送到NAS去。
NAS就會根據這些請求將資料送到外部,這不就通了嗎?
![[教學]為何外界無法跟區網內的NAS互通?(補充社區網路的情形)](http://attach.mobile01.com/attach/201402/mobile01-12a5053c037389f3f7a15c9872099958.jpg)
(四)一般需要轉發的Port有哪些呢?以Synology而言,需要轉發的Port有以下這些
要特別注意的是Port有分為TCP與UDP兩種,所以在做Port轉發的時候要注意轉的Port是哪一種。
(五)測試
您是否已經設定好port的轉發了呢?
您可以馬上到這個網頁試試看!
(六)小弟不太建議為了省事就將NAS設定成DMZ,因為這樣等於NAS赤裸裸的暴露在網路上。
所有的通訊Port都是外面可以直連的,這樣很容易被攻擊或一直被無聊的人try。
所以正確的觀念應該是"只轉發需要的Port",因為只有在分享器上有轉發的Port才會通。
雖然我們只轉發了部分的Port,但不用擔心,我們內部主動發起的連線還是會通的。
[結語]
所以大家現在應該了解到,有分享器是好事。
因為分享器除了可以讓我們的各項裝置"躲"在屏障的後面,分享器還有很多其他的優點在。
但是要讓NAS正確的工作,一定要做好Port的轉發,這樣子您的內外通訊才會連接起來。
該如何的在分享器上面做Port的轉發,這就必須參考您的方享器手冊了。
但一理通,百理明!相信您一定可以很快的搞定這一切:)
[補充]
社區網路比起一般的網路方案,價格較為低廉,但社區網路的限制就不是每個人都知道。
社區網路是業者承租網路,然後再以分享的方式租給用戶。
簡單的說,社區網路本身可以看成是一個大分享器,它底下的電腦都是透過業者的分享器連上網。
1.使用者沒有分享器的情形:
社區網路的使用者如果沒有加裝分享器,那麼外界還是無法直接連到LAN的NAS。
用戶必須請社區網路的業者幫您在社區網路的分享器做Port的轉發。
但每個IP可用的Port是有限的,一共就是2的16次方,65536個。
每家業者的作法不同,有的會很乾脆的先來先贏,誰先來講,就把port轉給誰。
也有的業者會保留常用的預設Port,而切割一些port給使用者用。
例如FTP的21 port不轉給使用者,而提供8021 port給使用者。(只是隨便舉例)
這樣又會有兩種作法:
(1)使用者請業者將8021轉到NAS的21port。
這樣子外部要連線時,使用者必須手動將FTP軟體裡的Port改成8021。
好處是NAS上的設定不用改變。
(2)第二種作法是請業者將8021轉到NAS的8021port
這樣子外部連回NAS時,一樣要將Port給成8021。
同時在NAS上也必須在FTP服務設定的地方將Port改為8021。
但好處是什麼呢?大概就是比較不會忘記自己對外真正的Port吧:p
![[教學]為何外界無法跟區網內的NAS互通?(補充社區網路的情形)](http://attach.mobile01.com/attach/201402/mobile01-2082f1a0c51038679188a28179876228.jpg)
2.使用者有分享器的情形:
如果用了社區網路,又用了分享器,那麼連線就是被轉發兩次。
一次是NAS跟分享器,一次是分享器跟社區網路。
既然連線是轉發兩次,想當然爾,Port的轉接也必須設定兩次。
因此這種情形比較麻煩,首先要請業者將Port轉到分享器的Port。
然後要在分享器上將Port轉到NAS的Port。
![[教學]為何外界無法跟區網內的NAS互通?(補充社區網路的情形)](http://attach.mobile01.com/attach/201402/mobile01-dd43f132faaa6d3fe3ad75efb281134f.jpg)
3.當然還有其他變通方式,以下是一些建議:
(1)請業者開通VPN的Port給你,然後你可以在NAS上架設VPN。
以後要存取NAS資源的時候就先建立VPN連線,這時你人在外面就會像在自己家裡一樣。
要存取NAS的什麼服務都沒有問題,但如果要P2P還是會有問題。
(2)試試UPnP,UPnP會在有需要時才動態建立Port的轉發。
所以如果業者有提供這樣服務的話,也許也可以使用。
但如果是自己也有分享器的情況下,UPnP要成功的機會可能不大。
(3)透過relay的服務。
例如Synology有提供內建的relay服務,他們稱之為QuickConnect。
這不知道有沒有社區網路的用戶測試過。
透過relay的缺點就是速度會大受影響,但社區網路一般提供的上傳網速不高,所以影響應該不大。
(4)換ISP!既然架設了NAS,擁有完全自主的網路控制權才是最重要的。
NAS上的服務這麼多,如果都受制於社區網路業者,那麼會很痛苦。
小弟個人認為架Server的人,不是很適合使用社區網路。
[延伸資訊]
1.NAT
2 TCP/IP 的網路層相關封包與資料
3.Service Name and Transport Protocol Port Number Registry