NFS簡單配置

2021-05-23 23:44:55 字數 4952 閱讀 5159

應用環境

os:linux as4

nfs sever:192.168.3.96 hostname rac01

nfs client: 192.168.3.97 hostname rac02

檢查系統是否安裝了包nfs-utils及portmap,其中protmap軟體包中的portmap服務,為nfs和nis等提供rpc服務的支援,因此在安裝時應先安裝portmap軟體包。nfs-utils軟體包中提供了nfs伺服器程式和相應的維護工具。

[root@rac01 ~]# rpm -q nfs-utils portmap

nfs-utils-1.0.6-70.el4

portmap-4.0-63

nfs伺服器的配置檔案—exports檔案在目錄「/etc」下,用於配置nfs伺服器所提供的目錄共享。此檔案預設設定為空,沒有配置的輸出的任何的目錄共享,這也是出於安全性的考慮,這樣即使系統啟動nfs服務也不會提供任何的共享。如果需要在nfs伺服器中輸出某個目錄的共享,需要先在exports檔案中進行相應的設定。

exports

檔案的格式

exports

檔案中每行提供乙個共享目錄的設定,設定行的格式如下所示:

#要輸出的共享目錄名客戶端主機位址(設定選擇)

/home/share  *(sync,ro)

在exports檔案的設定行中,共享目錄和主機位址間用空格分隔,主機位址之後緊隨設定選項,設定選項放置在括號中,多個設定選項間用逗號分隔。

1) 共享目錄

共享目錄設定系統中需要輸出作為共享的目錄路徑,該目錄用於存放網路中其它主機共享的檔案。

2) 客戶端主機位址

在exports檔案中,客戶端主機位址的指定非常靈活,可以是單個主機的ip位址或網域名稱也只可以是指定網段中的主機或指定域中的主機,如下:

主機位址格式

客戶端主機位址說明

192.168.3.97  

指定ip位址的主機

nfstest.com 

指定網域名稱的主機

192.168.3.0/24  

指定網段中的所有主機

*.test.com  

指定域中的所有主機

*   

所有主機

3) 設定選項

exports

檔案中的設定選項較多,經常使用的不多,如下:

設定選項說明

sync  

設定nfs伺服器同步寫磁碟,這樣不會輕易丟失資料,nfs伺服器建議使用該選項

ro  

設定輸出的共享目錄唯讀,與rw不能同時使用

rw  

設定輸入的共享目錄可讀寫,與ro不能同時使用

secure  nfs

通過1024以下的安全tcp/ip埠傳送

insecure nfs

通過1024以上的埠傳送

wdelay  

如果多個使用者要寫入nfs目錄,則歸組寫入(預設) 

no_wdelay 

如果多個使用者要寫入nfs目錄,則立即寫入,當使用async時,無需此設定。

hide  

在nfs共享目錄中不共享其子目錄

no_hide  

共享nfs目錄的子目錄

subtree_check 

如果共享/usr/bin之類的子目錄時,強制nfs檢查父目錄的許可權(預設) 

no_subtree_check

和上面相對,不檢查父目錄許可權

all_squash 

共享檔案的uid和gid對映匿名使用者anonymous,適合公用目錄。

no_all_squash 

保留共享檔案的uid和gid(預設) 

root_squash root

使用者的所有請求對映成如anonymous使用者一樣的許可權(預設) 

no_root_squash root

使用者具有根目錄的完全管理訪問許可權

anonuid=*** 

指定nfs伺服器/etc/passwd檔案中匿名使用者的uid

anongid=*** 

指定nfs伺服器/etc/passwd檔案中匿名使用者的gid

exports

檔案配置例項,編輯/etc/exports檔案,加入以下內容:

[root@rac01 oracle]# vi /etc/exports

#nfs

/home/oracle/nfs 192.168.3.97(sync,rw)

完成以後重啟nfs服務

[root@rac01 oracle]# service nfs restart

檢視nfs伺服器的自啟動狀態:

[root@rac01 oracle]# chkconfig --list portmap

portmap0:off1:off2:off3:off

4:off5:off6:off

[root@rac01 oracle]# chkconfig --list nfs

nfs0:off1:off2:off3:off

4:off5:off6:off

[root@rac01 oracle]# chkconfig --level 345 portmap on

[root@rac01 oracle]# chkconfig --level 345 nfs on

[root@rac01 oracle]# chkconfig --list portmap

portm 0:off1:off2:off3:on4:on5:on6:off

[root@rac01 oracle]# chkconfig --list nfs

nfs0:off1:off2:off3:on4:on5:on6:off

nfs安全nfs

的不安全性主要體現於以下4個方面:

1、新手對nfs的訪問控制機制難於做到得心應手,控制目標的精確性難以實現

2、nfs沒有真正的使用者驗證機制,而只有對rpc/mount請求的過程驗證機制

3、較早的nfs可以使未授權使用者獲得有效的檔案控制代碼

4、在rpc遠端呼叫中,乙個suid的程式就具有超級使用者許可權.

加強nfs安全的方法:

1、合理的設定/etc/exports中共享出去的目錄,最好能使用anonuid,anongid以使mount到nfs server的client僅僅有最小的許可權,最好不要使用root_squash。

2、使用iptable防火牆限制能夠連線到nfs server的機器範圍

iptables -a input -i eth0 -p tcp -s 192.168.0.0/24 --dport 111 -j accept

iptables -a input -i eth0 -p udp -s 192.168.0.0/24 --dport 111 -j accept

iptables -a input -i eth0 -p tcp -s 140.0.0.0/8 --dport 111 -j accept

iptables -a input -i eth0 -p udp -s 140.0.0.0/8 --dport 111 -j accept 3

、為了防止可能的dos攻擊,需要合理設定nfsd的copy數目。

4、修改/etc/hosts.allow和/etc/hosts.deny達到限制client的目的

/etc/hosts.allow

portmap: 192.168.0.0/255.255.255.0 : allow

portmap: 140.116.44.125 : allow

/etc/hosts.deny

portmap: all : deny 5

、改變預設的nfs埠

nfs預設使用的是111埠,但同時你也可以使用port引數來改變這個埠,這樣就可以在一定程度上增強安全性。

6、使用kerberos v5作為登陸驗證系統

nfs故障解決

1、nfsd沒有啟動起來

首先要確認nfs輸出列表存在,否則nfsd不會啟動。可用exportfs命令來檢查,如果exportfs命令沒有結果返回或返回不正確,則需要檢查/etc/exports檔案。

2、mountd程序沒有啟動

mountd

程序是乙個遠端過程呼叫(rpc),其作用是對客戶端要求安裝(mount) 檔案系統的申請作出響應。mountd程序通過查詢/etc/xtab檔案來獲知哪些檔案系統可以被遠端客戶端使用。另外,通過mountd程序,使用者可以知道目前有哪些檔案系統已被遠端檔案系統裝配,並得知遠端客戶端的列表。檢視mountd是否正常啟動起來可以使用命令rpcinfo進行檢視,在正常情況下在輸出的列表中應該象這樣的行:

100005 1 udp 1039 mountd

100005 1 tcp 1113 mountd

100005 2 udp 1039 mountd

100005 2 tcp 1113 mountd

100005 3 udp 1039 mountd

100005 3 tcp 1113 mountd

如果沒有起來的話可以檢查是否安裝了portmap元件。

rpm -qa|grep portmap 3

、fs type nfs no supported by kernel

kernel

不支援nfs檔案系統,重新編譯一下kernel就可以解決。45

、mount clntudp_create: rpc: program not registered

nfs沒有啟動起來,可以用showmout -e host命令來檢查nfs server是否正常啟動起來。

6、mount: localhost:/home/test failed, reason given by server: permission denied

這個提示是當client要mount nfs server時可能出現的提示,意思是說本機沒有許可權去mount nfs server上的目錄。解決方法當然是去修改nfs server咯。

7、被防火牆阻擋

NFS 簡單配置

新建nfs 配置歡迎來到來到大浪濤天的部落格!1.1 防火牆關閉 etc init.d iptables stop 1.2 selinux關閉 setenforce 0 1.3 確認本機ip root server ifconfig eth1 awk f nr 2 192.168.50.3 root...

NFS伺服器簡單配置

廢話不說,直接進入步驟 1 網路連通 虛擬機器,開發板,主機都要在同乙個區域網中 開發板可以用網線直接鏈結在主機中,也可以通過鏈結路由器 如果連在路由器上會方便點,可以上網 如果你主機鏈結的是無線網的話,把虛擬機器和 主機和開發板都設定為同乙個區域網都有可能ping不通。可能你虛擬機器和主機能pin...

NFS介紹 NFS服務端安裝配置 NFS配置選項

nfs是network file system的縮寫 nfs最早由sun公司開發,分2,3,4三個版本,2和3由sun起草開發,4 nfs資料傳輸基於rpc協議,rpc為remote procedure call的簡寫。nfs應用場景是 a,b,c三颱機器上需要保證被訪問到的檔案是一樣的,a共享資料...