網路儲存裝置 - [分享]Synology DNS server套件簡單設定(入門篇,1/14新增) - 電腦

前往內容


[分享]Synology DNS server套件簡單設定(入門篇,1/14新增)

[1/14補充]
有網友提及,何不利用電腦裡的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。


如果是透過數據機直接上網的話,則必須手動設定兩組以上DNS Server。
其中第一組DNS Server必須指向NAS的私人IP。
為什麼要指定第二組DNS Server呢?
因為我假設的情況是自己架設的DNS Server只在區網內使用。
所以在外網則使用公共的DNS Server。


2.再來當然是要安裝DNS Server套件。
好消息是這套件不是專屬DSM 4.2,其他版本的DSM也可以安裝使用。


3.再來新增一個Master轄區。


4.我以自己申請的DDNS是:test.DSCloud.me為例,那麼就照以下資料輸入。
其中主DNS伺服器如果是要公開DNS Server,讓外面也可以連進來的話。
那麼就要填寫NAS對外的真實IP,否則就隨便填就好。
另外正向就是將主機網域名稱解析成IP,反向就是反其道而行,我們選正向就好。


5.再來選取DSCloud.me這個轄區,再選擇編輯資源記錄。


6.新增一個A紀錄(IPv4),其他的下次再談。
如果是要新增一個IPv6的位置記錄的話,就選擇AAAA。


7.輸入您申請的DDNS主機名稱,我假設自己申請的是test.DSCloud.me。
IP就輸入NAS的IP,TTL不用管它。


設定完成,不要忘記按一下"完成"


8.解析服務當然要啟動,另外也要啟動轉寄站。(感謝pctine指正)
解析服務就是當要查詢的網域名稱不存在你的DSN Server裡的時候,會再向外查詢。
我們的DNS Server當然不可能有全世界所有網域名稱跟IP的對應,所以一定要啟動解析服務。
而轉寄站就是當要查詢的網域名稱在你的DNS Server裡查不到的時候,會將這筆查詢轉
到外面的DNS去,原廠說明這樣可以降低NAS的負荷,也可以加快查詢。
在一般實作上,常以開啟轉寄查詢來設定Cache DNS。


9.另外設定這裡就用預設值即可。(感謝pctine指正)
Time To Live是DNS Server自己設定的,這決定了這筆查詢的效期有多長。
所以我們在建立主機名稱資料時可以手動輸入TTL,預設值是86400秒,也就是一天。
當外部查詢到這筆DNS記錄時,會在86400秒後讓這筆查詢結果失效。
所以透過自己區網內的DNS Server,在查過的DNS紀錄TTL未過期前,其他人再度查詢的時候,
就不需要再往外查,DNS Server可以直接回應,這樣就達成了DNS Cache的效果。


10.用nslookup測試一下,當然是ok的。
不但查詢自己的網域名稱ok,查詢別人的網域名稱也照樣可以正常解析。


[結論]
如果您依以上的設定成功的話,那麼以後您在各種裝置上就一直使用同一個NAS網址即可。
在外會用真實IP連到NAS,在內則是會轉成用私人IP連到NAS。

Synology也有另外一個服務叫做:QuickConnect,可以給你一組號碼,也可以自訂號碼。
然後你用這組號碼就可以連到你的NAS,連DDNS都不用設定。
經過測試QuickConnect在區網內也是以私人IP連線,大家也可以試試。
但要注意的是QuickConnect是一種中介(relay Server)的服務。
其原理是將NAS的連線導至relay server,再透過relay server對外連線。
這樣在連線的速度上難免會受到影響,尤其是在傳送檔案的時候,速度與直連NAS差很多。
所以如果不是因為防火牆或者是不得已的情況,建議還是不要用者種方式。
再者以廣泛性來說,架設專屬的DNS Server在各方面的功能會強的多。
下次再來分享DNS Server的進階設定,這就要靠我們家的寶貝兒子配合,乖乖睡覺吧:)
irsjx2vxo3ne3k84dr1dz4,r4pe8bez3/4ne3bq4bew2j92gea jx4hq me-2d8 e3hy4hi2ty k84!
這篇文章太有用了, 感謝您無私的分享
derliang wrote:
[前言]如果我們利用...(恕刪)
感謝derliang詳細的說明,不過照著設定後我發現一個問題,如果是在區網內的話可以正常的解成區網的ip, ex: myname.synology.me => 192.168.1.x, 但是如果是從外面連的話就完全不動了, ping也ping不到.查了DDNS是有註冊成功的,而且我設定完DNS server後也還有用EZ-Internet 去設定轉DNS server的port 53. 不知道哪裡還需要作設定呢??

derliang wrote:
[結論]
如果您依以上的設定成功的話,那麼以後您在各種裝置上就一直使用同一個NAS網址即可。
在外會用真實IP連到NAS,在內則是會轉成用私人IP連到NAS。

davin1190 wrote:
感謝derliang...(恕刪)


外網的話就用公共DNS server將您的DDNS解析成公共IP。
內網再轉用自己的DNS server。
一般DNS server位置是由DHCP自動取得,所以可依我分享的方式來設定。
如果您電腦都是以DHCP的方式上網,這樣應該不會有問題。
您先這樣試試。
irsjx2vxo3ne3k84dr1dz4,r4pe8bez3/4ne3bq4bew2j92gea jx4hq me-2d8 e3hy4hi2ty k84!
derliang wrote:
[前言]如果我們利用...(恕刪)


感謝 derliang 兄詳細的解說.


8.解析服務當然要啟動,另外也要啟動轉寄站。
轉寄站就是當要查詢的網域名稱不存在你的DSN Server裡的時候,要改向誰查詢。
我們的DNS Server當然不可能有全世界所有網域名稱跟IP的對應,所以一定要啟動轉寄。


forwarding 可以啟用, 也可以不啟用, 這主要是查詢的方式不同, 當不啟用 forwarding 時, 表示由 DNS server 自己來完成查詢的工作, 而 forwarding 是 DNS 把工作丟給別台 DNS. NAS DNS 把自己當做 client.


TTL指的是上次查詢的紀錄要保留在NAS裡多久,一般都是設一天。
這樣A查過的紀錄,B再來查的時候就可以快速的回應,這就是所謂DNS Cache的效果。


TTL 的設定並非指 NAS DNS cache 裡面的資料要保留多久, 每台 DNS server 會紀錄自身的資料 '有效期' 有幾秒, 對於 DDNS 來說, 它的 TTL 就設的很短. DNS server 在查詢某筆資料時, 會同時取得該筆 record 的 TTL(有效期). 當下次有人再查詢同樣的資料時, 可決定該筆資料是否仍有效.
菜鳥提問,如有不妥還請指教
請問版大
DDNS的test.DSCloud.me可以做外網的網域名稱嗎?

謝謝p大的指正,的確是小弟說明有誤。
一大早爬起來打的文章,果然頭腦還是不清楚,小弟更正說明如下:

pctine wrote:
TTL 的設定並非指 NAS DNS cache 裡面的資料要保留多久, 每台 DNS server 會紀錄自身的資料 '有效期' 有幾秒, 對於 DDNS 來說, 它的 TTL 就設的很短. DNS server 在查詢某筆資料時, 會同時取得該筆 record 的 TTL(有效期). 當下次有人再查詢同樣的資料時, 可決定該筆資料是否仍有效.

Time To Live是DNS Server自己設定的,這決定了這筆查詢的效期有多長。
所以我們在建立主機名稱資料時可以手動輸入TTL,預設值是86400秒,也就是一天。
當外部查詢到這筆DNS記錄時,會在86400秒後讓這筆查詢結果失效。
所以透過自己區網內的DNS Server,在查過的DNS紀錄TTL未過期前,其他人再度查詢的時候,
就不需要再往外查,DNS Server可以直接回應,這樣就達成了DNS Cache的效果。

pctine wrote:
forwarding 可以啟用, 也可以不啟用, 這主要是查詢的方式不同, 當不啟用 forwarding 時, 表示由 DNS server 自己來完成查詢的工作, 而 forwarding 是 DNS 把工作丟給別台 DNS. NAS DNS 把自己當做 client.

解析查詢一定要啟動,但轉寄則未必。
原廠的說明為啟動轉寄可以加快查詢並減少系統負荷。

啟動轉寄站:此選項可讓 DiskStation 將遞迴查詢導向轉寄站伺服器,例如:公開的 DNS 名稱解析器。啟動轉寄站可以加快客戶端遞迴查詢的回應速度並減少系統所耗費的資源。


兩種方式的差異,小弟以Namebench測試如下,的確是啟動轉寄會比較快:

1.啟動轉寄


2.不啟動轉寄
irsjx2vxo3ne3k84dr1dz4,r4pe8bez3/4ne3bq4bew2j92gea jx4hq me-2d8 e3hy4hi2ty k84!

yk_yang wrote:
菜鳥提問,如有不妥還請指教
請問版大
DDNS的test.DSCloud.me可以做外網的網域名稱嗎?


我們自己的網域名稱如果要被認可的話,都要向上層的DNS Server去註冊。
否則自己取的名稱在外網是無法用公共DNS Server查到的。

所以那個test.DSCloud.me是我們跟Synology申請來的。
Synology擁有DSCloud.me,所以我們註冊了test.DSCloud.me以後。
外網要查詢test.DSCloud.me時,就會向Synology查詢,這就可查到主機名稱跟IP的對應。

而我們自己架的DSN Server是以方便為主,所以如果你取的名稱是外網沒註冊的。
這麼就只有以自己的DNS Server查詢時才查的到。
這在區網當然沒有問題,如果在外也要查的到的話,就必須開啟DNS Server跟外網的對應。
然後你在外網的時候,DNS Server也必須設定成自家的才行。

而我使用的方式是申請合法的網域名稱,這樣就會有以下的效果:
區網:向自己的DNS Server查詢,將網域名稱轉為私人IP,如192.168.x.x
外網:向公共的DNS Server查詢,將網域名稱轉為公共IP,如111.102.x.x
這樣不論你在哪裡,都不用去管主機的IP為何,只需要用同一組網域名稱就可以連到主機了。
irsjx2vxo3ne3k84dr1dz4,r4pe8bez3/4ne3bq4bew2j92gea jx4hq me-2d8 e3hy4hi2ty k84!
請問如果在區域網路建DNS server完後若清除電腦所有的DNS快取,是否會馬上生效?
其實區網和網際網路的DNS Server是可以一起架的,只是要建2組轄區,一組是區域網路再用的(要設視界),另一組則是網際網路用的(不設視界)這樣應該就可以並存了,不會被誤導到錯誤的IP位置..

derliang wrote:
[前言]如果我們利用...(恕刪)


推!有空也來玩玩這功能!
http://scl13.com/

1頁 (共8頁)

前往