RHEL6:NFS

網絡文件共享服務:

1NFSNetwork File System

Linux下實現文件共享有多種方式,NFS就是其中之一。網絡文件系統(NFS)協議是由Sun MicroSystem20世紀80年代爲了提供對共享文件的遠程訪問而設計和實現的。該協議採用Client/Server模型, 通過使用Sun開發的遠程過程調用協議(RPC Protocol)來實現運行在一臺計算機上的程序來調用在另一臺遠程機器上運行的子程序.

NFS包含3個版本:NFSv2NFSv3NFSv4

RHEL6是以NFSv4作爲默認版本,NFSv4使用TCP協議(端口號是2049)和NFS服務器建立連接,而老版本的NFS可以在TCP協議或者是UDP協議上運行NFS服務的端口默認是不固定的,但可以強制NFS使用固定端口。

RHEL6NFS的軟件包:nfs-utils

NFS的相關文檔中,有兩個值得重點關注

/etc/exportsNFS服務的主配置文件,該文件的最主要目的是發佈共享目錄併爲共享目錄限制權限。和其他服務的主配置文件一樣,絕大部分的配置都是通過編輯該文件完成

/var/lib/nfs/xtab:這個文件主要用來記錄客戶端與NFS服務器的連接記錄,如果想查看哪些客戶端曾經連接過NFS服務器,查看該文件即可

NFS服務的主配置文件exports發佈共享目錄的格式如下:

共享目錄   [客戶端1參數1][客戶端參數]

共享目錄是指在NFS服務器上需要給客戶端共享出來的目錄,在設置共享目錄的時候要使用絕對路徑

客戶端是指所有可以訪問NFS服務器共享目錄的計算機。常見客戶端指定方式如下表:

客戶端指定方式

示例

使用IP地址指定單一主機

10.20.30.40

使用IP地址指定範圍主機

172.16.0.0/16

使用IP地址指定範圍主機

192.168.1.*

使用域名指定單一主機

Test.ice.apple

使用域名指定範圍主機

*.ice.apple

使用通配符指定所有主機

*

參數:在諸多可以附帶的參數中,使用最多的要數權限設置的參數了,常見參數如下表:

參數

說明

ro

設置共享權限爲只讀

rw

設置共享權限爲讀寫

root_squash

當使用NFS服務器共享目錄的使用者是root時,將被映射爲匿名賬號。即:NFS 主機使用享目錄的使用者如果是 root 時,那麼這個使用者的權限將被壓縮成爲匿名使用者,通常他的 UID 與 GID 都會變成 nobody 那個系統賬號的身份

no_root_squash

當使用NFS服務器共享目錄的使用者是root時,將不被映射爲匿名賬號。即:NFS 主機使用享目錄的使用者,如果是 root 的話,那麼對於這個享的目錄來說,他就具有 root 的權限!這個項目極不安全,不建議使用!

all_squash

將所有使用NFS服務器共享目錄的使用者都映射爲匿名賬號

anonuid

設置匿名賬號的UID

anongid

設置匿名賬號的GID

sync

保持數據同步,也就是將數據同步寫入內存和硬盤。這可能導致效率降低

async

先將數據保存在內存中,而不是直接保存在硬盤

注意:在發佈共享目錄的格式中除了共享目錄是必跟參數外,其他參數都 是可選 的。而且共享目錄和客戶端1與客戶端2之間都 需要使用空格符號,但客戶端和參數之間不能有空格。

如:在/etc/exports文件添加如配置:

/media    *(ro) 192.168.0.10(rw,no_root_squash)

/NFS/test   192.168.0.0/24(ro)

NFS服務的啓動與停止:NFS服務腳本是NFS

chkconfig --list

將rpcbind和nfs都設爲自動啓動

chkconfig rpcbind on

chkconfig nfs on

 

啓動rpcbind

service rpcbind start

之後才能成功啓動nfs

service nfs start

一定要先啓動rpcbind,然後再啓動nfs,不然NFS quotas和NFS daemon都將啓動失敗。

service nfs start|stop|restart|reload

exportfs命令:用於維護當前主機中NFS服務器的輸出目錄列表

exportfs rv使NFS服務器重新讀取exports文件的設置,而不需重啓NFS服務器

exportfs auv 用於停止當前主機中NFS服務器的所有目錄輸出

exportfs av 用於輸出NFS服務器的所有共享目錄

exportfs  顯示輸出列表同時,顯示導出的設定參數 

客戶端的使用:

客戶端可以先使用showmount –e查看NFS服務器發佈的共享目錄

掛載NFS文件系統

Mount  -t nfs  NFS服務器IP地址(或主機名):共享目錄  本地掛載點

如:mount t nfs 192.168.0.1:/media   /mnt

啓動掛載NFS

想要系統每次啓動時自動掛載NFS服務器上的共享目錄,則可以編輯/etc/fstab文件

NFS服務器的IP:共享目錄    掛載點    nfs   defaults   0 0

配置NFS固定端口:

默認情況下,NFS配置完畢後,每次重新啓動該服務後其相應的端口都會隨機變化,如果啓用了防火牆,如何開放變化的端口就成問題了,其實解決辦法也很簡單,只需對NFS進行配置使用固定端口即可

NFS服務啓動時,會檢查/etc/sysconfig/nfs文件,因此改該文件,修改相應字段便可以強制NFS服務使用固定端口了:

 

NFS服務器上啓用了iptables防火牆且filter表的3個鏈默認規則爲DROP需創建如下規則:

iptables I INPUT p tcp --dport 111 j ACCEPT

iptables I INPUT p udp --dport 111 j ACCEPT

iptables I INPUT p tcp --dport 2049 j ACCEPT

iptables I INPUT p udp --dport 2049 j ACCEPT

iptables I INPUT p tcp m multiport --dport 875,32803,32769,892,662 j ACCEPT

iptables I INPUT p udp m multiport --dport 875,32803,32769,892,662 j ACCEPT

service iptables save

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章