新增規則至匯出原則
如果沒有規則、匯出原則就無法讓用戶端存取資料。若要建立新的匯出規則、您必須識別用戶端並選取用戶端比對格式、選取存取和安全性類型、指定匿名使用者ID對應、選取規則索引編號、然後選取存取傳輸協定。然後您就可以使用 vserver export-policy rule create
命令將新規則新增至匯出原則。
-
您要新增匯出規則的匯出原則必須已經存在。
-
必須在資料SVM上正確設定DNS、而且DNS伺服器必須為NFS用戶端設定正確的項目。
這是因為ONTAP 針對某些用戶端比對格式、使用資料SVM的DNS組態執行DNS查詢、而匯出原則規則比對失敗則會妨礙用戶端資料存取。
-
如果您使用Kerberos進行驗證、則必須確定NFS用戶端使用下列哪些安全性方法:
-
krb5
( Kerberos V5 傳輸協定) -
krb5i
(使用 Checksum 進行完整性檢查的 Kerberos V5 傳輸協定) -
krb5p
(具有隱私權服務的 Kerberos V5 傳輸協定)
-
如果匯出原則中的現有規則涵蓋了用戶端的相符和存取需求、則不需要建立新規則。
如果您正在使用 Kerberos 進行驗證、而且 SVM 的所有磁碟區都是透過 Kerberos 存取、您可以設定匯出規則選項 -rorule
、 -rwrule`和 `-superuser
將根磁碟區移至 krb5
、 krb5i`或 `krb5p
。
-
識別新規則的用戶端和用戶端比對格式。
。
-clientmatch
選項指定規則所套用的用戶端。可以指定單一或多個用戶端符合值;多個值的規格必須以逗號分隔。您可以指定下列任一格式的相符項目:用戶端比對格式 範例 網域名稱前面加上「.」字元
.example.com
或.example.com,.example.net,...
主機名稱
host1
或host1,host2, ...
IPV4位址
10.1.12.24
或10.1.12.24,10.1.12.25, ...
以多位元表示子網路遮罩的IPv4位址
10.1.12.10/4
或10.1.12.10/4,10.1.12.11/4,...
具有網路遮罩的IPV4位址
10.1.16.0/255.255.255.0
或10.1.16.0/255.255.255.0,10.1.17.0/255.255.255.0,...
以點分格式提供IPv6位址
::1.2.3.4
或::1.2.3.4,::1.2.3.5,...
IPv6 位址、子網路遮罩以位元數表示
ff::00/32
或ff::00/32,ff::01/32,...
以@字元開頭的netgroup名稱為單一netgroup
@netgroup1
或@netgroup1,@netgroup2,...
您也可以合併用戶端定義的類型、例如
.example.com,@netgroup1
。指定IP位址時、請注意下列事項:
-
不允許輸入IP位址範圍、例如10.12.10-10.12.70。
此格式的項目會解譯為文字字串、並視為主機名稱。
-
在匯出規則中指定個別IP位址以精細管理用戶端存取時、請勿指定動態(例如DHCP)或暫時(例如IPv6)指派的IP位址。
否則、當用戶端的IP位址變更時、就會失去存取權。
-
不允許使用網路遮罩輸入IPv6位址、例如ff:12/ff:00。
-
-
選取用戶端相符項目的存取和安全性類型。
您可以指定下列一或多種存取模式、以驗證具有指定安全性類型的用戶端:
-
-rorule
(唯讀存取) -
-rwrule
(讀寫存取權) -
-superuser
( root 存取權)如果匯出規則也允許該安全性類型的唯讀存取權、則用戶端只能取得特定安全性類型的讀寫存取權。如果安全性類型的唯讀參數比讀寫參數的限制更多、用戶端可能無法取得讀寫存取權。超級使用者存取也是如此。
您可以為規則指定多種安全性類型的以逗號分隔的清單。如果您將安全性類型指定為
any
或never
,請勿指定任何其他安全類型。從下列有效的安全類型中選擇:當安全性類型設定為… 相符的用戶端可以存取匯出的資料… any
無論傳入的安全類型為何、
none
如果單獨列出、則會將具有任何安全類型的用戶端授予匿名存取權。如果列出其他安全性類型、則會授與具有指定安全性類型的用戶端存取權、而具有任何其他安全性類型的用戶端則會以匿名存取權。
never
永不、無論傳入的安全類型為何。
krb5
如果是由Kerberos 5驗證。 僅驗證:簽署每個要求和回應的標頭。
krb5i
如果通過Kerberos 5i驗證。 驗證與完整性:簽署每個要求與回應的標頭與實體。
krb5p
如果是由 Kerberos 5p 驗證。 驗證、完整性和隱私:簽署每個要求和回應的標頭和實體、並加密NFS資料有效負載。
ntlm
如果通過CIFS的NTLM驗證。
sys
如果是由NFS AUTH_SYS驗證的。
建議的安全類型為
sys`或是使用 Kerberos 、 `krb5
、krb5i`或 `krb5p
。
如果將 Kerberos 與 NFSv3 搭配使用、則匯出原則規則必須允許
-rorule
和-rwrule
存取sys
此外krb5
。這是因為需要允許網路鎖定管理程式(NLM)存取匯出。 -
-
指定匿名使用者ID對應。
。
-anon
選項會指定 UNIX 使用者 ID 或使用者名稱、該使用者 ID 會對應至以 0 (零)為使用者 ID 的用戶端要求、此 ID 通常與使用者名稱根目錄相關聯。預設值為65534
。NFS用戶端通常會將使用者ID 65534與使用者名稱nobody建立關聯(也稱為根系統衝突_)。在本功能中、此使用者ID與使用者pcuser相關聯。ONTAP若要停用使用者 ID 為 0 的任何用戶端存取、請指定值為65535
。 -
選取規則索引順序。
。
-ruleindex
選項指定規則的索引編號。規則會根據索引編號清單中的順序來評估;索引編號較低的規則會先評估。例如、索引編號為1的規則會在索引編號為2的規則之前進行評估。如果您要新增… 然後… 匯出原則的第一條規則
輸入
1
。匯出原則的其他規則
-
在原則中顯示現有規則:
vserver export-policy rule show -instance -policyname your_policy
-
根據新規則的評估順序、為新規則選取索引編號。
-
-
選取適用的 NFS 存取值: {
nfs
|nfs3
|nfs4
} 。nfs
符合任何版本、nfs3
和nfs4
僅符合這些特定版本。 -
建立匯出規則並將其新增至現有的匯出原則:
vserver export-policy rule create -vserver vserver_name -policyname policy_name -ruleindex integer -protocol {nfs|nfs3|nfs4} -clientmatch { text | "text,text,…" } -rorule security_type -rwrule security_type -superuser security_type -anon user_ID
-
顯示匯出原則的規則、以驗證是否存在新規則:
vserver export-policy rule show -policyname policy_name
命令會顯示該匯出原則的摘要、包括套用至該原則的規則清單。此功能會為每個規則指派一個規則索引編號。ONTAP知道規則索引編號之後、您可以使用它來顯示指定匯出規則的詳細資訊。
-
確認已正確設定套用至匯出原則的規則:
vserver export-policy rule show -policyname policy_name -vserver vserver_name -ruleindex integer
下列命令會在名為RSR1的匯出原則中、在名為VS1的SVM上建立匯出規則、並驗證其建立。規則的索引編號為1。規則會比對網域eng.company.com和netgroup @netGroup1中的任何用戶端。此規則可啟用所有NFS存取。它可對驗證了AUTH_SYS的使用者啟用唯讀和讀寫存取權。除非透過Kerberos驗證、否則使用UNIX使用者ID 0(零)的用戶端會匿名。
vs1::> vserver export-policy rule create -vserver vs1 -policyname exp1 -ruleindex 1 -protocol nfs -clientmatch .eng.company.com,@netgoup1 -rorule sys -rwrule sys -anon 65534 -superuser krb5 vs1::> vserver export-policy rule show -policyname nfs_policy Virtual Policy Rule Access Client RO Server Name Index Protocol Match Rule ------------ -------------- ------ -------- ---------------- ------ vs1 exp1 1 nfs eng.company.com, sys @netgroup1 vs1::> vserver export-policy rule show -policyname exp1 -vserver vs1 -ruleindex 1 Vserver: vs1 Policy Name: exp1 Rule Index: 1 Access Protocol: nfs Client Match Hostname, IP Address, Netgroup, or Domain: eng.company.com,@netgroup1 RO Access Rule: sys RW Access Rule: sys User ID To Which Anonymous Users Are Mapped: 65534 Superuser Security Types: krb5 Honor SetUID Bits in SETATTR: true Allow Creation of Devices: true
下列命令會在名為expol2的匯出原則中、在名為VS2的SVM上建立匯出規則、並加以驗證。此規則的索引編號為21。此規則會將用戶端與netgroup dev_netgroup_main.此規則可啟用所有NFS存取。此功能可為使用AUTH_SYS驗證的使用者啟用唯讀存取、並需要Kerberos驗證才能進行讀寫和root存取。除非透過Kerberos進行驗證、否則使用UNIX使用者ID 0(零)的用戶端會被拒絕root存取。
vs2::> vserver export-policy rule create -vserver vs2 -policyname expol2 -ruleindex 21 -protocol nfs -clientmatch @dev_netgroup_main -rorule sys -rwrule krb5 -anon 65535 -superuser krb5 vs2::> vserver export-policy rule show -policyname nfs_policy Virtual Policy Rule Access Client RO Server Name Index Protocol Match Rule -------- ------------ ------ -------- ------------------ ------ vs2 expol2 21 nfs @dev_netgroup_main sys vs2::> vserver export-policy rule show -policyname expol2 -vserver vs1 -ruleindex 21 Vserver: vs2 Policy Name: expol2 Rule Index: 21 Access Protocol: nfs Client Match Hostname, IP Address, Netgroup, or Domain: @dev_netgroup_main RO Access Rule: sys RW Access Rule: krb5 User ID To Which Anonymous Users Are Mapped: 65535 Superuser Security Types: krb5 Honor SetUID Bits in SETATTR: true Allow Creation of Devices: true