NFS
NFS運作原理
NFS功能繁多,因此需使用大量的port來協助其運作,因此不能使用固定的port
而不使用固定的port的話,該如何讓client端知道該透過哪些port來與server連接?
此時就需要遠端程序呼叫 (RPC) 來做幫忙,client端會透過固定的port(111)來向RPC詢問NFS server端所提供的服務是使用哪些port,如此client端就能與server端完成連線了
NFS Server 設定
1.編輯開機執行檔
#vi /etc/rc.conf
加入以下幾行
rpcbind_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
mountd_enable="YES"
mountd_flags="-r"
2.編輯欲開放之目錄
#vi /etc/exports
加入格式如下
/usr/src /usr/local -maproot=root 192.168.0.0
只要有修改過/etc/exports就要使用以下指令重啟mountd
# kill -HUP `cat /var/run/mountd.pid`
若client端mount時出現以下訊息
[tcp] 192.168.9.123:/home/nfs: Permission denied
可能的原因是server端開放之目錄的目錄權限沒有讓other可讀可寫
使用chmod修改即可
若client端mount時出現以下訊息
[tcp] 192.168.9.123:/usr/home/nfs: RPCPROG_NFS: RPC: Program not registered
可能的原因是server端的/etc/hosts.allow將rpcbind的連線deny掉了
將client端的ip加入allow即可
註1:記得注意server端開放之目錄的目錄權限要讓other可以讀寫 註2:記得要確認/etc/hosts.allow內的rpcbind是否有阻擋client端連線
3.啟動RPC port map
# rpcbind
# nfsd -u -t -n 4
# mountd -r
NFS Client 設定
1.編輯開機執行檔
#vi /etc/rc.conf
加入以下幾行
nfs_client_enable="YES"
nfs_client_flags="-n 4"
2.執行NFS指令
#/sbin/nfsiod -n 4
3.掛上欲Share的目錄
mount NFS_Server:/分享目錄 /要掛在哪裡
ex:
#mount 192.168.9.ABC:/Backup /mnt
註: 軟連結不能mount ex: /home
4.寫入/etc/fstab 開機就mount上
#vi /etc/fstab
加入以下幾行
freebsd 5.x
192.168.9.ABC:/Backup /mnt nfs rw 0 0 (以tab隔開)