1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LPIC 202 対策:NFS(Network File System)の整理

1
Last updated at Posted at 2025-11-26

LPIC 202 対策:NFS(Network File System)の整理する

個人のメモ書きとして整理しました。
間違えているところがあれば指摘お願いします

NFSは、**RPC(Remote Procedure Call)**プロトコルに基づいて動作し、ファイル共有を提供します。
LPIC 202では、デーモンの役割、設定ファイル、そしてバージョンごとの違いが頻出。

1. サーバー構成と主要なデーモン

/etc/exports:共有設定の定義

オプション 意味 影響と対策(備考)
rw / ro 読み書き (Read/Write) または 読み取り専用 (Read Only) で共有します。 基本の権限設定です。
sync (デフォルト) クライアントからの書き込み要求がディスクに実際に書き込まれるまで、サーバーは応答を返しません。 データ保全性が高いが、I/O性能は低下し、遅くなります。LPICではこの違いが重要です。
async 書き込みデータをサーバーのキャッシュに保持し、すぐに応答を返します。 高速ですが、サーバーダウン時にキャッシュ内のデータ損失のリスクがあります。
root_squash (デフォルト) クライアント側のrootユーザーを、サーバー側の匿名ユーザー(通常は**nobody**)にマッピングします。 セキュリティ対策として非常に重要です。意図しないroot権限での操作を防ぎます。
no_root_squash クライアント側のrootユーザーの権限をそのまま保持します。 危険な設定です。信頼できる特定の管理用途以外での使用は避けるべきです。
all_squash すべてのクライアントユーザー(root以外も含む)をサーバー側の匿名ユーザー(nobody)にマッピングします。 ゲスト共有など、クライアントのユーザーIDを無視したい場合に利用されます。
anonuid=N, anongid=N root_squashall_squashによってマッピングされる匿名ユーザーのUID/GIDを明示的に指定します。 通常のnobody(UID/GID 65534)以外にマッピングしたい場合に使います。

反映コマンド:
設定変更後は、NFSサービスを再起動せずに**exportfs -r(再エクスポート)やexportfs -a**(すべてエクスポート)でカーネルテーブルに反映させます。

NFSの主要デーモン

デーモン名 役割 備考
rpc.nfsd, rpc.mountd NFSサービスの中核機能。
rpcbind (または portmap) RPCサービスのポートマッパー。(ポート 111 トラブルシューティングの起点
rpc.idmapd NFSv4でのユーザーIDマッピングuser@domain形式を処理)。 NFSv4で必須

2. NFSv4の強化ポイントとセキュリティ

NFSv4は、従来のNFSv3と比較して、接続の簡素化とセキュリティ強化が図られています。

NFSv4の決定的な違い

特徴 NFSv3 NFSv4
接続ポート 複数の動的ポートを使用(rpcbindが必要)。 単一のポート 2049/TCPのみを使用。
状態管理 ステートレス(状態非保持)。 ステートフル(状態保持)。
ファイルロック 外部プロトコル(NLM)に依存。 NFSプロトコル内に統合

NFSv4のセキュリティ強化

NFSv4では、より堅牢な認証メカニズムがサポートされました。

  • Kerberos認証(sec=krb5*)がサポートされる。
    • sec=krb5: Kerberosによる認証のみ。
    • sec=krb5i: Kerberos認証に加え、インテグリティ(データ改ざん防止)を提供。
    • sec=krb5p: Kerberos認証、インテグリティに加え、プライバシー(データ暗号化)を提供。
  • 試験対策: 試験では「NFSv4でセキュリティを強化する方法」として、このKerberos認証(特にkrb5p)の利用が出題されやすいです。

3. クライアント側のマウントとsystemd連携

/etc/fstab による永続マウント

システム起動時にNFS共有を自動でマウントするために、/etc/fstabに記述します。

オプション 意味
hard (デフォルト) サーバー応答まで無期限にリトライ。データ保全性重視。
soft タイムアウト設定後にエラーを返す。応答性重視。
_netdev ネットワークが必要なファイルシステムであることを示し、システムがネットワーク接続を確立した後にマウントを行うように指示する。
defaults rw, suid, dev, exec, auto, nouser, async のセット。

記述例:

server:/exported/dir /mnt/nfs nfs defaults,_netdev 0 0
  • _netdev タイプでの記述例を示すと、実務的にも試験的にも有用です。

systemdとの連携

現代のLinuxディストリビューションでは、サービス管理にsystemdが使われています。

  • サービス管理の流れ: 従来のservice nfs-server start/etc/init.d/nfs-server startではなく、systemctl start nfs-server (または nfs-kernel-serverなど) でサービスを管理します。
  • LPICのポイント: LPICでは「従来のSysV initとsystemdの違い」を問うケースがあるため、NFSデーモンやrpcbindデーモンをsystemctlコマンドで操作する流れを理解しておく必要があります。
    • サービスの有効化: systemctl enable nfs-server
    • 状態確認: systemctl status nfs-server

4. 診断コマンド

コマンド 目的
rpcinfo -p [IP] サーバーでRPCサービスが動いているかを確認。
showmount -e [IP] サーバーがエクスポートしている共有ディレクトリの一覧を表示。
nfsstat -c / -s クライアント/サーバーの統計情報を表示。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?