2019年8月21日 星期三

利用 Synology NAS 架設內部 DNS Server


最近接到一個工作,需要將辦公室內部對某幾個外部連線網址做 Hostname的客製化解析,什麼意思呢?意即我們平常透過瀏覽器連線 www.google.com.tw時,本來網路設備預設查詢的 DNS Server會返還給瀏覽器說你應該去「172.217.160.67」這個網站主機唷!但這次我們要連外的某幾個網址卻需要讓它連線到其他特定的 IP,如此只有我們這個辦公室的同仁才能透過這些網址連線到這些無人知曉的主機。

雖然大家在瀏覽網站時都是輸入網址前往,然而依照網路傳輸協定最終還是要靠 TCP/IP中的 IP才能找到該網站的真實網路位址,關於上述需求具體來說有兩種方法可以達到,一是在每一台辦公室用戶的電腦裡修改 hosts檔案,將所需網址對應到指定的 IP去,但如果辦公室成員多達數十名以上,相同的修改動作就需要作數十次,更不用說未來如果還要再次修改資料更是麻煩,排除只有少數幾名成員有 DNS客製化的需求外,通常會改以在內部 DNS Server上動手腳,只需一次性修改,然後讓所有辦公室的成員都到這台 DNS Server上查詢即可。

正常來說會架設一台 DNS Server來滿足此次需求,可是這份工作的辦公室對象並無額外的機器可供架設服務,因此便將腦筋動到了他們的網路共用槽 NAS,也就是透過 Synology NAS來搭建 DNS Server,也算是物盡其用、CP值滿分啦!以下將透過兩個案例來展示內部 DNS的用途,第一個案例是將原本內部服務需要用IP連線改為好記的網址連線,第二個案例是變更 facebook.com的 IP解析讓辦公室同仁不得隨意在上班時間打混摸魚~




Synology 套件安裝


前往套件中心搜尋關鍵字「dns」然後安裝它

裝好之後開啟 Synology的 DNS Server套件

首先建立要動手腳的網域轄區(Zone),本例為 redmine.at
網址等於(主機名稱)+(網域名稱)
大致都維持 default設定,網域類型一律選擇正向、主 DNS伺服器選擇這台 Synology NAS的區域網路內部 IP

接著編輯我們剛設定好的轄區,系統預設建立了兩筆資料以維持 Zone的運作

此時我們要建立一筆 DNS查詢的主機名稱新資料型別,通常都是 A Record

如果希望辦公室同仁透過內部 DNS連線查詢這個網址時是以 「redmine.at」去連線,名稱部分可以不填寫,本例是以「www.redmine.at」作為範例網址,而對應的區網內部服務器的 IP位址是 192.168.1.242

按照上述的做法再建立一個轄區名為「www.facebook.com」並故意將該網址的 A Record指向不正確的 IP讓辦公室同仁無法順利前往 Facebook

接著對辦公室所有 PC的網路進行修改,將主要 DNS指向內部的 DNS Server、並將次要 DNS指向中華電信的 IP位址,如此用戶在我們主要的內部 DNS內無法查獲的網址轄區資料時,便會前往次要 DNS Server查詢,才不至於讓用戶無法上網

馬上透過 Google Chrome瀏覽器來確認成果,因為瀏覽器無法正確解析 www.facebook.com導致上班無法玩樂,此時辦公室同仁已經想在老闆腿上寫個慘字啦~

原本我們內部架設的 redmine伺服器可以透過內部 IP連線

現在輸入好記的網址也可以連到囉!




Tips


關於 DNS Server套件的使用,除了 Synology系列 NAS以外、就連 Synology Router也能夠透過套件中心安裝,以下是 Synology RT2600AC的安裝情況,操作方法完全一模一樣


0 意見: