開啟 Synology NAS 的 NFS 連線

最近買了一台 Synology DS409slim,想要取代家裡的 Windows file server。
但是不知為何,我從 Mac 上開 AFP / SMB 連進去的效能都不好。(詳情請見這裡
我想嘗試用 NFS 連線,但是 NFS 連線的說明 Synology 的說明書和線上支援全都語焉不詳,
只說去哪裡設定,問題是該怎麼設定、更重要的是客戶端怎麼設定,全都沒講。
Google 了很久加上 trial & error,最後終於成功啟用 NFS 連線,一勞永逸解決效率低落問題。
現在我開 NAS 上的目錄,和機器內建硬碟效率幾乎沒什麼差別。

以下是我在 Synology DS409slim 上啟動 NFS 的步驟。
過程有點小複雜,需要用 Terminal 連到伺服器上用 vi 修改一個設定檔,
最好是有具備 UNIX 操作的經驗比較容易。

(註:本篇講的方法主要是為了 10.4 的連線需求,
10.5 以後除了我介紹作法以外,還可以用不同的作法來處理。請參照:
http://nedos.net/2007/11/10/nfs-in-mac-os-105-leopard/



1. 先介紹我的環境。
我是在家裡使用,家裡的區域網路是 192.168.1.*/255.255.255.0
DS409slim 我給他的 IP 是 192.168.1.10
我工作的主機是一台 2006 年塑膠殼版 iMac,還有一台老 PowerBook G4 跑 Tiger 10.4.11

首先登入管理畫面,在左側選單中尋找「NFS」打開他。然後勾選「啟動 NFS 服務」

開啟 Synology NAS 的 NFS 連線

開啟 Synology NAS 的 NFS 連線

2.
接下來,到共用資料夾管理畫面,
你會看到「新增...」那一列工具按鈕最右邊多了一個「NFS權限」,點下去。

開啟 Synology NAS 的 NFS 連線


3.
新增畫面,一開始設定應該是空的。點選新增,就會出現要你設定連線權限的畫面。

開啟 Synology NAS 的 NFS 連線

在這個畫面主要是讓你加入允許(或是不允許)對這個分享區做存取的單一主機、網域、或是 IP 區網。
請依照自己的網路設定填寫,建議用 IP 範圍來設定比較方便。
用 IP 設定時,你可以指定單一一個 IP,或是指定整個區域網路。
請注意星號(*)不適用在 IP 設定,若要指定區域網路,
請填入區域網路的「網路號碼」(Subnet ID)和「網路遮罩」(Subnet mask)。
所謂的「網路號碼」,就是把區網內任一台電腦的 IP 和網路遮罩做 AND 邏輯運算。
不曉得怎麼算的話可以用這個 Online計算機

上圖中我填的是 192.168.1.0/24,其中 192.168.1.0 是我家區網的網路號碼,
後面的 /24 則是網路遮罩的簡短表示式,意思是網路遮罩中有幾個 bit 1,
所以填 192.168.1.0/24 就等同於 192.168.1.0/255.255.255.0。
這邊兩種填法都可,看自己高興。

下面的權限開成「可讀寫」;如果你是要設定整個區網中某幾台電腦不准存取,那就選相反的。
Root squash 隨便要不要改都可;那主要是給 root 使用者連入時的權限設定,平常不會用到。


4.
填完了以後按確定,這時候 NFS 伺服器已經開好了。
但是這時候 Mac 端還是連不上來,還有兩個步驟要做。

先去畫面左邊選單找「終端機」,進去啟動 SSH 服務。
(啟動 Telnet 也可,我只是單純不喜歡 Telnet)。

開啟 Synology NAS 的 NFS 連線


5.
打開 Mac 的終端機(Terminal.app),用 root 帳號連到 NAS:

ssh -l root 192.168.1.10


密碼就是機器 admin 的密碼,記得替換上你自己的機器的 IP。
接下來要用 vi 修改 /etc/exports 這個檔案(Synology 只有 vi,沒辦法...)
在我的機器上裡面只有一行:

/volume1/Abyss 192.168.1.0/24(rw,no_wdelay,root_squash,insecure_locks,anonuid=1024,anongid=100)


改成

/volume1/Abyss 192.168.1.0/24(rw,insecure,no_wdelay,root_squash,insecure_locks,anonuid=1024,anongid=100)


沒錯就是增加 "insecure" 這個選項。
有了這個選項,NFS server 才會聆聽高位(>1024)以上的通訊埠,Mac 端也才能跟他連線。

如果你不熟悉 vi,請按照以下方法操作:

a. 把游標移到 "rw," 的逗號 "," 上,按下鍵盤上的 i
b. 在鍵盤上輸入「insecure,」打錯字可以按 Backspace 修正。輸入完後按下 ESC。
c. 再把游標移到下一行同一位置(如果有的話),同樣方式加入。
d. 全部修正完畢後,按下 ESC,在鍵盤上輸入「:wq」。就存檔結束。

改好後你可以用 cat 看一下:

開啟 Synology NAS 的 NFS 連線

上圖中 "Guardian" 就是我 NAS 的主機名稱。

接下來你要把改好的設定啟動,你可以去從管理畫面關閉 NFS 重新啟動,
或是直接在 Terminal 輸入:

/usr/sbin/exportfs -arv


可能會有錯誤訊息,那是無害的錯誤不必理會他。


6.
在 Terminal 中輸入 exit 離開 NAS。關閉 Terminal 之前先檢查一下是否有正確啟動。輸入

showmount -e 192.168.1.10


如果有正確啟動,會顯示類似以下的訊息:

Exports list on 192.168.1.10:
/volume1/Abyss 192.168.1.0/24


特別注意紅字的部份,那就是分享的路徑,請記下來。
理論上這個分享路徑就是 /volume1/{共享資料夾名稱} 這樣的格式。


7.
終於可以掛載 NFS 了。在 Finder 下按 Cmd+K,輸入

nfs://192.168.1.10/volume1/Abyss


如果以上操作沒有錯誤,你應該就可以看到 NFS 掛載成功了!

開啟 Synology NAS 的 NFS 連線

你可能會懷疑:連線時不需要輸入使用者帳號密碼嗎?

沒錯,不需要。

NFS 是一個「不需要認證」的網路資源分享協定,
我在網路上爬文,看到很多人講說用 nfs://username:passwd@host:/path 這樣的格式,
經實驗證實全都無法連線。

實際上 NFS 的權限設定,是用客戶端機器的 UID 和 GID 對應到遠端機器,
若遠端機器不存在這個 UID/GID,則一律視為匿名連線。
對於所有匿名連線,NFS 會按照 /etc/exports 裡面的 anonuid/anongid 對照來給予權限,
然後使用伺服器上實體目錄的權限來做權限控管。
所以使用 NFS 時務必做好外部的安全防護,不然一台區網上的 NFS 等於是完全沒有防護的。

關於更多 NTS 的資訊,請參考:鳥哥的 Linux 私房菜

祝各位順利!

2009-10-05 23:44 發佈
難得有人跟我一樣會自己找方法解決問題,寫的不錯啊!五分送上

與其求別人還不如自己找方法解決比較快,而且也可以順便學習不同領域東西長些知識
P2P精神:我餵人人,人人餵我
謝謝你的分享,讓我知道為什麼我的CS407傳檔超慢的原因了,
我依照你的NFS修改方式,也成功的加速我的NAS檔案傳輸。
這個方法不知道是否可以用在多媒體播放機啊!

我用SMB連線可以連NAS

但是速度有些糟糕

但是NFS的連線一直沒法設成功啊!
敗家是經濟成長的原動力!!!
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?