2.8. オプションの NFSv4 サポートを備えた NFSv3 サーバーの設定
NFSv3 クライアントを現在も使用しているネットワークでは、NFSv3 プロトコルを使用して共有を提供するようにサーバーを設定します。ネットワーク内に新しいクライアントもある場合は、さらに NFSv4 を有効にできます。デフォルトでは、Red Hat Enterprise Linux の NFS クライアントは、サーバーが提供する最新の NFS バージョンを使用します。
手順
nfs-utils
パッケージをインストールします。# dnf install nfs-utils
オプション: デフォルトでは、NFSv3 と NFSv4 が有効になっています。NFSv4 が必要ない場合、または特定のマイナーバージョンのみが必要な場合は、すべての
vers4.<minor_version>
パラメーターのコメントを解除し、各パラメーターを適切に設定します。[nfsd] # vers3=y # vers4=y vers4.0=n vers4.1=n vers4.2=y
この設定では、サーバーは NFS バージョン 3 と 4.2 のみを提供します。
重要特定の NFSv4 マイナーバージョンのみが必要な場合は、そのマイナーバージョンのパラメーターのみを設定してください。予期しないマイナーバージョンのアクティブ化や非アクティブ化を回避するために、
vers4
パラメーターのコメントは解除しないでください。vers4
パラメーターは、デフォルトですべての NFSv4 マイナーバージョンを有効または無効にします。ただし、vers4
を他のvers
パラメーターと組み合わせて設定すると、この動作は変わります。デフォルトでは、NFSv3 の RPC サービスはランダムなポートを使用します。ファイアウォール設定を有効にするには、
/etc/nfs.conf
ファイルで固定ポート番号を設定します。[lockd]
セクションで、nlockmgr
RPC サービスの固定ポート番号を設定します。以下に例を示します。[lockd] port=5555
この設定により、サービスが UDP プロトコルと TCP プロトコルの両方にこのポート番号を自動的に使用するようになります。
[statd]
セクションで、rpc.statd
サービスの固定ポート番号を設定します。以下に例を示します。[statd] port=6666
この設定により、サービスが UDP プロトコルと TCP プロトコルの両方にこのポート番号を自動的に使用するようになります。
オプション: 共有するディレクトリーを作成します。以下に例を示します。
# mkdir -p /nfs/projects/
既存のディレクトリーを共有する場合は、このステップをスキップしてください。
/nfs/projects/
ディレクトリーに必要な権限を設定します。# chmod 2770 /nfs/projects/ # chgrp users /nfs/projects/
これらのコマンドは、
/nfs/projects/
ディレクトリーのusers
グループの書き込み権限を設定し、このディレクトリーに作成される新しいエントリーに対して同じグループを自動的に設定します。共有する各ディレクトリーについて、
/etc/exports
ファイルにエクスポートポイントを追加します。/nfs/projects/ 192.0.2.0/24(rw) 2001:db8::/32(rw)
このエントリーは、
/nfs/projects/
ディレクトリーを共有し、192.0.2.0/24
および2001:db8::/32
サブネット内のクライアントに読み取りおよび書き込みアクセスを許可します。firewalld
で適切なポートを開きます。# firewall-cmd --permanent --add-service={nfs,rpc-bind,mountd} # firewall-cmd --permanent --add-port={5555/tcp,5555/udp,6666/tcp,6666/udp} # firewall-cmd --reload
NFS サーバーを有効にして起動します。
# systemctl enable --now rpc-statd nfs-server
検証
サーバー上で、設定した NFS バージョンのみがサーバーから提供されていることを確認します。
# cat /proc/fs/nfsd/versions +3 +4 -4.0 -4.1 +4.2
クライアントで次の手順を実行します。
nfs-utils
パッケージをインストールします。# dnf install nfs-utils
エクスポートされた NFS 共有をマウントします。
# mount -o vers=<version> server.example.com:/nfs/projects/ /mnt/
指定した NFS バージョンを使用して共有がマウントされたことを確認します。
# mount | grep "/mnt" server.example.com:/nfs/projects/ on /mnt type nfs (rw,relatime,vers=3,...
users
グループのメンバーであるユーザーとして、/mnt/
にファイルを作成します。# touch /mnt/file
ファイルが作成されたことを確認するためにディレクトリーの内容をリスト表示します。
# ls -l /mnt/ total 0 -rw-r--r--. 1 demo users 0 Jan 16 14:18 file