2017年4月23日 星期日

FreeNAS 整合 AD + CIFS/SMB 設定完全經驗分享




企業為了集中認證與管理,大都使用微軟 Windows Server 伺服器的 AD (Active Directory) 做為認證核心,有加入 AD 的伺服器與電腦就可以方便的整合權限機制,對管理人員來說,是一個非常重要的功能。


為什麼不用 Windows


沒錯,用 AD 認證,並結合檔案伺服器確實很好用。

問題出在用 Windows Server 做為檔案伺服器這件事,它的確提供很多方便的介面以及豐富的管理功能,但是「效能」、「費用」這兩件事對中小企業來說卻是一大困擾。

例如檔案存取效率,製作以前的版本速度,都是一個個的瓶頸。

需要用高規格的硬體來換取更好的效能,這是一個很容易看出的道理,但是沒有這麼多錢可以投資在主機上,更別說檔案伺服器上面跑的 Windows Server 也是要購買授權的。


這張投影片真好用,一次製作常常用到(誤)




替代方案 FreeNAS


FreeNAS 是一款相當成熟的 Storage 套件,基於 FreeBSD 作業系統開發,最重要的是搭載 ZFS 這個強大檔案系統。

不過 FreeNAS 整合 AD、SMB 畢竟不是正統的 Windows Server 系列程式,搭配不同開源的套件總是容易出現許多奇怪的問題,有些地方稍一不甚沒設好,就無法好好的運作起來。

由於我有迫切的效能需求,要把一些檔案服務優先移到 FreeNAS 換取更好的存取效能,以及最重要的歷史版本功能(基於 ZFS 快照),因此花了一段時間研究把設定方法確立,以下提供經驗分享。

以下操作是設定在:

FreeNAS 已經安裝起來並具資料集與網路連線能力


同時提醒:

至少用 9.10.2-U6 版本以減少踩到 Samba 套件的坑


FreeNAS 加入 AD


進入 [服務] > [SMB] 的設定頁

  • NetBIOS:輸入您要呈現的主機名稱,如 fileserver
  • 工作群組:輸入您 AD 網域名稱,如 test.com.tw
  • DOS 字元編碼:CP950
  • UNIX 字元編碼:UTF-8
  • 此網域的時間伺服器:若有加入 AD/LDAP,請取消勾選


進入 [服務] 

  • 將 SMB 切換至 [ON]



進入 [目錄] > [Active Directory] 頁籤

  • 按下 [進階模式] 按鈕
  • 網域名稱:輸入您 AD 網域名稱,如 test.com.tw
  • Domain Account Name:輸入您 AD 具有讀取使用者、群組、電腦權限的帳號,如 Administrator
  • Domain Account Password:承上,輸入密碼
  • Allow Trusted Domains:打勾
  • Use Default Domain:打勾
  • Allow DNS updates:打勾
  • Domain Controller:輸入您的網域控制站名稱,如 dc1.test.com.tw
  • Global Catalog Server:輸入您的 GC 網域控制站名稱,如 dc1.test.com.tw
  • Enable:打勾




進入 [目錄] > [Kerberos Realms] 頁籤

  • 按下 [Add kerberos realm] 按鈕,打開後再按下 [進階模式] 按鈕
  • Realm:輸入您 AD 網域名稱,如 test.com.tw
  • KDC:輸入您的 KDC 網域控制站名稱,如 dc1.test.com.tw
  • Admin Server:輸入您的 Admin 網域控制站名稱,如 dc1.test.com.tw
  • Password Server:輸入您的 Password 網域控制站名稱,如 dc1.test.com.tw




設定 CIFS/SMB 分享權限


進入 [儲存] > [磁區] 頁籤

  • 選取要設定分享的資料集,並按左下角的 [變更權限] 按鈕
  • Apply Owner (user):打勾
  • 所有者(帳號):輸入網域中的帳號,如 Administrator
  • Apply Owner (group):打勾
  • 所有者(群組):輸入網域中的群組,如 Domain Admins
  • Apply Mode:打勾
  • Permission Type:選取 Windows
  • 最後按下 [變更] 



進入 [共享] > [Windows (SMB)] 頁籤

  • 按下 [Add Windows (SMB) Share] 按鈕
  • 按下 [進階模式] 按鈕
  • 路徑:選取要分享的 Dataset 位置
  • 名稱:輸入要顯示於分享的名稱
  • Apply Default Permissions:打勾
  • 瀏覽用戶端網路:打勾
  • 允許訪客連線:不勾
  • 只允許訪客連線:不勾
  • 定期快照工作:選取這個 Dataset 的排程快照工作,可以用來提供「以前的版本」功能,非常好用又重要!
 



設定 CIFS/SMB 分享對象



在 FreeNAS 上沒有提供這個設定能力,需要找一台 Windows 電腦進行。

使用 [電腦管理] 連線

  • 根節點按滑鼠右鍵,選取 [連線到另一台電腦] 項目
  • 在 [另一台電腦] 輸入 FreeNAS 主機的位址並按下 [確定]
  • 展開根節點,展開 [系統工具],中間會出現錯誤訊息「RPC 伺服器無法使用」請不用理會



進行 [共用權限] 設定

  • 進入 [系統工具] > [共用資料夾] > [共用]
  • 於右方可見 FreeNAS 上設定的共用,滑鼠右鍵點選,並按下 [內容] 項目
  • 切換 [共用權限] 頁籤
  • 於下方可見目前已有的權限對象,可參考 Windows 設定方法進行修改




取用以前的版本


這是一個 Windows 上極為好用的設計,要找回誤刪或誤改檔案可以很方便的從時間點來找回。

不過,若是用 Windows Server 做為檔案伺服器,它做歷史版本與查看歷始版本時效率都較慢,我們採用的 FreeNAS 因為有了 ZFS 強力支援,具有非常快速的操作能力。

題外話:
有一點我非常很納悶,這功能超級好用,可是為什麼微軟非要給它取一個這麼沒力的名字呢?😂😂😂
看看隔壁 Apple,在時間軸還原部份用起來的功能兩者接近,但 Apple 就給它配上一個具有科幻感的「 Time Machine 」,瞬間就潮啦。


使用 [以前的版本] 連線

  • 在任一個分享資料夾或檔案上按滑鼠右鍵,選取 [內容] 項目
  • 切換 [以前的版本] 頁籤
  • 若有設定對應到定期快照工作,也有確實產生快照,這裡就會有時間點可以選擇



其它應用:NextCloud


FreeNAS 搭配 AD CIFS/SMB 設定完後,還可以另外結合 NextCloud 做為介面提供服務,而且一樣吃 AD 的驗證機制與 NTFS 安全性管理,非常好用與方便!

日後再來寫一篇教學分享,因為當時 FreeNAS 整合 AD CIFS/SMB 成功後,要跟 NextCloud 結合同樣認證與權限,讓我吃足了苦頭。