有網友提及,何不利用電腦裡的hosts建立主機名稱與IP的對應?
事實上這種方法雖然簡便,但卻存在很多限制。
例如我們在hosts裡指定了NAS為某個私人IP,如192.168.1.2。
那麼這台電腦不管換到什麼使用環境裡,永遠都會將NAS的主機名稱對應到192.168.1.2。
這對於一般會同時在LAN與WAN連接NAS的使用者會有極大困擾。
再者,某些行動裝置本身也無法建立hosts檔,所以這方法也不可行。
所以本文還是建議藉由自架的DNS Server來提供主機名稱的解析為最佳方案。
[感謝]
感謝pctine指正與補充資料。
[限制]
如果沒有必要,則不必開啟相關port的轉接,以免DNS Server成為攻擊的目標。
下文的應用裡,只是要建立一個使用者在自家LAN內使用的DNS Server。
[前言]
如果我們利用DDNS,幫自己的NAS設定了一組好記的主機網域名稱(Domain Name)。
但有可能會發現一個情況,在區網(LAN)內如果用同樣的主機網域名稱來連線時。
電腦所解析的主機名稱是NAS的公共IP(Public IP),而不是區網的私人IP(Private IP)。
在某些情況下,這會造成在區網內對NAS連線時,卻要先繞到外網再連回來NAS,這很慢~
另外還有一種情況,就是我們在行動裝置的APP設定了NAS的主機網域名稱。
在外當然沒有問題,可以從外面連回來。
但在家裡的時候,同樣的設定卻可能讓你的行動裝置連接NSA時,必須先繞到外網去。
以上兩種情況都可以利用自己專屬的DNS Server來解決。
其原理就是在外時,我們使用公共的DNS Server,把所有的主機網域名稱都解析成真正IP。
在家時,我們使用自己的DNS Server,將自己的主機網域名稱解析成私人IP。
而其他主機網域名稱則照舊解析成真正IP。
另外自己專屬的DNS Server還兼有DNS Cache的功能,對區網其他裝置服務。
[動手做]
1.如果是利用分享器上網的話,必須在分享器裡指定DNS Server為NAS的私人IP。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-56e7414b3871caf8cf94df7f0127dd9f.png)
如果是透過數據機直接上網的話,則必須手動設定兩組以上DNS Server。
其中第一組DNS Server必須指向NAS的私人IP。
為什麼要指定第二組DNS Server呢?
因為我假設的情況是自己架設的DNS Server只在區網內使用。
所以在外網則使用公共的DNS Server。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-b7a976a0a8dde788b4919c65514fa821.png)
2.再來當然是要安裝DNS Server套件。
好消息是這套件不是專屬DSM 4.2,其他版本的DSM也可以安裝使用。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-872f2ce8dedf47fde240a365e1420bc9.png)
3.再來新增一個Master轄區。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-fce9456f844bc8d3d743982c9f099be0.png)
4.我以自己申請的DDNS是:test.DSCloud.me為例,那麼就照以下資料輸入。
其中主DNS伺服器如果是要公開DNS Server,讓外面也可以連進來的話。
那麼就要填寫NAS對外的真實IP,否則就隨便填就好。
另外正向就是將主機網域名稱解析成IP,反向就是反其道而行,我們選正向就好。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-3859f65e4eb855ce7b912005538ff644.png)
5.再來選取DSCloud.me這個轄區,再選擇編輯資源記錄。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-0503b678418965aa46f88bd681180e04.png)
6.新增一個A紀錄(IPv4),其他的下次再談。
如果是要新增一個IPv6的位置記錄的話,就選擇AAAA。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-2a0ec4b690d202dc8aaf7c58eff0c376.png)
7.輸入您申請的DDNS主機名稱,我假設自己申請的是test.DSCloud.me。
IP就輸入NAS的IP,TTL不用管它。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-97f6bc32ee4466f6b80bc33693a5851a.png)
設定完成,不要忘記按一下"完成"
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-dd65e89d9e4b0e82ea6490c95614d692.png)
8.解析服務當然要啟動,另外也要啟動轉寄站。(感謝pctine指正)
解析服務就是當要查詢的網域名稱不存在你的DSN Server裡的時候,會再向外查詢。
我們的DNS Server當然不可能有全世界所有網域名稱跟IP的對應,所以一定要啟動解析服務。
而轉寄站就是當要查詢的網域名稱在你的DNS Server裡查不到的時候,會將這筆查詢轉
到外面的DNS去,原廠說明這樣可以降低NAS的負荷,也可以加快查詢。
在一般實作上,常以開啟轉寄查詢來設定Cache DNS。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-373921e4191a09a3d7fb53ac6e89bbf8.png)
9.另外設定這裡就用預設值即可。(感謝pctine指正)
Time To Live是DNS Server自己設定的,這決定了這筆查詢的效期有多長。
所以我們在建立主機名稱資料時可以手動輸入TTL,預設值是86400秒,也就是一天。
當外部查詢到這筆DNS記錄時,會在86400秒後讓這筆查詢結果失效。
所以透過自己區網內的DNS Server,在查過的DNS紀錄TTL未過期前,其他人再度查詢的時候,
就不需要再往外查,DNS Server可以直接回應,這樣就達成了DNS Cache的效果。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-42a10ba7c3d8b54f5fb5b297c2e9490d.png)
10.用nslookup測試一下,當然是ok的。
不但查詢自己的網域名稱ok,查詢別人的網域名稱也照樣可以正常解析。
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-06126e88f749fac08ede6e9c66a07094.png)
[結論]
如果您依以上的設定成功的話,那麼以後您在各種裝置上就一直使用同一個NAS網址即可。
在外會用真實IP連到NAS,在內則是會轉成用私人IP連到NAS。
Synology也有另外一個服務叫做:QuickConnect,可以給你一組號碼,也可以自訂號碼。
然後你用這組號碼就可以連到你的NAS,連DDNS都不用設定。
經過測試QuickConnect在區網內也是以私人IP連線,大家也可以試試。
但要注意的是QuickConnect是一種中介(relay Server)的服務。
其原理是將NAS的連線導至relay server,再透過relay server對外連線。
這樣在連線的速度上難免會受到影響,尤其是在傳送檔案的時候,速度與直連NAS差很多。
所以如果不是因為防火牆或者是不得已的情況,建議還是不要用者種方式。
再者以廣泛性來說,架設專屬的DNS Server在各方面的功能會強的多。
下次再來分享DNS Server的進階設定,這就要靠我們家的寶貝兒子配合,乖乖睡覺吧:)
![[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)](http://attach.mobile01.com/attach/201301/mobile01-f14cf28860090df2c8d3ce03b7bbb6af.png)